#ifndef _OISTKC_SYSCMDER_H #define _OISTKC_SYSCMDER_H #pragma once #include namespace OISTKC { ///////////////////////////////////////////////////////////////////////////// // CSysCmder window class CSysCmder : public COICommander { public: CSysCmder(void); ~CSysCmder(void); // Attributers public: wstring m_strNtyTaskID; // 通知消息任务ID wstring m_strUserLogin; // 用户登录名,用于闪屏时的接收者、订阅用户状态的用户登录名列表 wstring m_strUserStatus; // 用户状态,用于改变用户状态 long m_nFlag; // 标识,用于离线消息通知标识 wstring m_strBody; // 内容 // Operations public: static bool CanPrsCmd( const wstring &strCmdName ); // 判断当前命令对象是否可以处理该命令 void SetReceiver( const wstring &strUserLogin ); // 设置接收者 protected: // 命令处理 void FlashWindow( COIClientSocket *pSocket ); // 闪屏 void GetOfflineNty( COIClientSocket *pSocket ); // 获取离线通知 void ChangeSelfStatus( COIClientSocket *pSocket ); // 改变用户状态 void SubscribeUserStatus( COIClientSocket *pSocket ); // 订阅用户在线状态 void SureNtyTask( COIClientSocket *pSocket ); // 确定新消息获取成功 // 反馈处理 // Overrides public: virtual void OnConnected( COIClientSocket *pSocket ); virtual int ExportBuff( COIBuffer *pBuff, size_t nNeedLen ); virtual bool OnResponse( COIResponse *pResponse, COIClientSocket *pSocket ); virtual wstring GetBody(); // 得到内容 }; } // End of namespace OISTKC #endif // _OISTKC_SYSCMDER_H