#pragma once
|
|
// CCrowdDataMgr command target
|
#include "CrowdMessengerPro.h"
|
|
//
|
// CmdIndex
|
#define CPN_CKLC_LOGINANME ( 0 )
|
|
|
#define CPN_MLUC_LOGINNAME ( 1 )
|
|
#define CPN_CKCC_LOGINNAME ( 0 )
|
#define CPN_CKCC_CROWDID ( 1 )
|
#define CPN_CKCC_DATE ( 2 )
|
|
#define CPN_CSCC_LOGINNAME ( 0 )
|
#define CPN_CSCC_CROWDID ( 1 )
|
#define CPN_CSCC_DATE ( 2 )
|
|
#define CPN_MSMG_ID ( 0 )
|
#define CPN_MSMG_CROWDID ( 1 )
|
#define CPN_MSMG_DATE ( 2 )
|
|
#define CPN_MLMC_CROWDID ( 1 )
|
|
#define CPN_MSSF_ID ( 0 )
|
#define CPN_MSSF_CROWDID ( 1 )
|
#define CPN_MSSF_DATE ( 2 )
|
|
#define CPN_MLSF_CROWDID ( 0 )
|
|
#define CPN_MDSF_ID ( 0 )
|
#define CPN_MDSF_CROWDID ( 1 )
|
#define CPN_MDSF_FILESFLAG ( 2 )
|
#define CPN_MDSF_FILEID ( 3 )
|
|
#define CPN_MGSF_ID ( 0 )
|
#define CPN_MGSF_CROWDID ( 1 )
|
#define CPN_MGSF_FILESFLAG ( 2 )
|
#define CPN_MGSF_FILEID ( 3 )
|
|
#define CPN_MSDF_ID ( 0 )
|
#define CPN_MSDF_CROWDID ( 1 )
|
// NtyType
|
#define NTYTYPE_MSG ( _T("MSG") )
|
#define NTYTYPE_SSF ( _T("SSF") ) // ֪ͨÐÂÎļþ
|
#define NTYTYPE_DSF ( _T("DSF") ) // ֪ͨɾ³ýÎļþ
|
#define NTYTYPE_CDC ( _T("CDC") ) // ֪ͨȺ±»É¾³ý
|
#define NTYTYPE_CMC ( _T("CMC") ) // ֪ͨȺ±»ÐÞ¸Ä
|
#define NTYTYPE_IAC ( _T("IAC") ) // ÑûÇëÈËÔ±¼ÓÈëȺ Èôµ±Ç°Óû§²»ÔÚÏߣ¬ÐèÒª±£´æAMLÎļþ
|
|
#define MAX_COUNT_ADDUSER ( 100 )
|
#define MAX_COUNT_REMOVEUSER ( 100 )
|
|
typedef CMap<CString, LPCTSTR, CCrowdMessengerPro*, CCrowdMessengerPro*&>CMapCrowdMessengerPro;
|
typedef CMap<CString, LPCTSTR, CString, LPCTSTR>CMapStrToStr;
|
|
typedef CMap<CString, LPCTSTR, REQLOAD_ITEM, REQLOAD_ITEM&>CMapCrowdUserTreeInfo;
|
|
typedef CMap<CString, LPCTSTR, CCrowdItem*, CCrowdItem*&>CMapCrowdItem;
|
|
class CCrowdDataMgr : public CObject
|
{
|
public:
|
CCrowdDataMgr();
|
virtual ~CCrowdDataMgr();
|
// Attributes
|
public:
|
void *m_pOwner;
|
CString m_strLoginName;
|
CString m_strUserName;
|
CString m_strPassword;
|
int m_nUserSex;
|
CString m_strMainCrowdServer;
|
int m_nMainCrowdPort;
|
bool m_bInited;
|
bool m_bLogined;
|
CString m_strLastErrInfo;
|
CCrowdMessengerPro m_MainMessengerPro; // Ö÷·þÎñ
|
CMapCrowdMessengerPro m_mapMessengerPro;
|
CMapStrToStr m_mapCrowdServerInfo;
|
CMapStrToStr m_mapCrowdServerName;
|
CMapCrowdItem m_mapCrowd;
|
CObList m_listCrowdServer;
|
CMapOrgUserItem m_mapCrowdUser;
|
CMapStrToStr m_mapCrowdInviteUsers;
|
CString m_strSignInErrorInfo;
|
private:
|
CMapCrowdUserTreeInfo m_mapCrowdUserTree;
|
// Operations
|
public:
|
|
bool OnInit();
|
void LayOut();
|
void OffLine( ); // ÀëÏß
|
void DetachCrowdList();
|
void ReLoginedCorwdServer( bool bForceLogin = false);
|
void SetLoginInfo( CString strLoginName, CString strUserName, CString strPassword, int nSex );
|
void SetCrowdServerInfo( CString strServer, long nPort );
|
bool CheckCorwdServerLogined( );
|
CCrowdMessengerPro* GetCrowdMessengerPro(CString strCrowdID );
|
CCrowdMessengerPro* CreateCrowdMessengerPro(CString strCrowdSName = _T(""), CString strCrowdServerIp = _T(""), int nCrowdServerPort = DEFAULTPORT_CROWD);
|
CCrowdMessengerPro* GetMainMessengerPro( );
|
void AddCrowdMessengerProInfo(CString strCrowdID, CString strCrowdSName = _T(""), CString strCrowdServerIp = _T(""), int nCrowdServerPort = DEFAULTPORT_CROWD);
|
void Logined( );
|
void SetSignInErrorInfo(CString strErrorInfo );
|
CString GetSignInErrorInfo( );
|
CString GetLastErrInfo( );
|
void OnCrowdReceive( CCrowdMessengerPro *pMessengerPro, CQLSysMsg *pSMsg, CString &strCrowdID, CString &strParam );
|
BOOL CreateCrowd(HWND hWnd, CCrowdItem *pCrowdItem , CString strIviteUserInfo = _T("") );
|
BOOL DeleteCrowd(HWND hWnd, CString strCrowdID );
|
BOOL ModifyCrowd(HWND hWnd, CCrowdItem *pCrowdItem);
|
BOOL ChangeCrowdAdmin(HWND hWnd,CString strCrowdID, CString strLoginName,CString strUserName, long nSex );
|
BOOL GetCrowdInfo(HWND hWnd, CString strCrowdID,CCrowdMessengerPro *pMessengerPro = NULL );
|
|
BOOL LoadCrowdServerList(HWND hWnd);
|
BOOL LoadCrowdList(HWND hWnd, CString strCrowdID);
|
BOOL LoadCrowdList(HWND hWnd, CCrowdMessengerPro *pMessengerPro);
|
BOOL ListCrowdMember(HWND hWnd, CString strCrowdID );
|
BOOL AddCrowdUser(HWND hWnd, CString strCrowdID, CString strUserInfos);
|
BOOL RemoveCrowdUser(HWND hWnd, CString strCrowdID, CString strUserInfos);
|
BOOL ExitCrowd(HWND hWnd, CString strCrowdID);
|
|
long SendMsg(HWND hWnd, CString strCrowdID, CString strMsg);
|
BOOL DoLoadShareFileList(HWND hWnd, CString strCrowdID, CString strFileGroup, CString strUserParam );
|
BOOL DoSendShareFile(HWND hWnd, CString strCrowdID, long nFileType, _int64 nFileSize, long nFileEnType, CString strFileName,
|
CString strFileSFlag, CString strFileID, CString strFileMD5, CString strFileGroup, CString strUserParam);
|
BOOL DoDeleteShareFile(HWND hWnd, CString strCrowdID, CString strID, CString strUserParam );
|
BOOL DoDownloadShareFileBegin(HWND hWnd, CString strCrowdID, CString strID, CString strUserParam );
|
BOOL DoDownloadShareFileEnd(HWND hWnd, CString strCrowdID, CString strID, CString strUserParam );
|
//Crowd
|
BOOL LookupCrowdItem(CString strCrowdID,CCrowdItem*& pItem);
|
void RemoveCrowdItem(CString strCrowdID, bool bDelete = true);
|
void AddCrowdItem(CString strCrowdID , CString strName);
|
void ChangeCrowdCreator(CString strCrowdID, CString strLoginName,CString strUserName);
|
BOOL CheckHaveCrowdType(int nType);
|
int GetCrowdType(CString strCrowdID);
|
//CrowdUser
|
void DetachCrowdUserList();
|
BOOL LookupUser( CString strLoginName,CMBOrgUser*& pItem);
|
CString GetUserName( CString strLoginName );
|
void AddUser( CString strLoginName, CString strUserName, CString strSex = 0 );
|
BOOL SetUserStatus( CString strLoginName, int nUserStatus );
|
int GetUserStatus( const CString strLoginName );
|
void OffLineAllUser( );
|
bool CrowdIsLogined( CString strCrowdID );
|
bool MainCrowdIsLogined( );
|
bool GetOffLineCorwdServer( CString &strServer, int &nPort );
|
int GetCreateCrowdCount( );
|
void InviteCrowdUsers( CString strCrowdID);
|
void OffLineAllCrowdUsers();
|
void AddDeaultCrowdMessengerPro();
|
private:
|
BOOL LoadCrowdItemList( IXMLDOMElementPtr ptrItem, CCrowdItem *pItem );
|
BOOL LoadCrowdServerInfo( IXMLDOMElementPtr ptrItem );
|
BOOL LoadCrowdServerItem( IXMLDOMElementPtr ptrItem, CString &strServerSName, CString &strServerIP, int &nServerPort );
|
BOOL LoadCrowdMemberList( IXMLDOMElementPtr ptrItem, CCrowdItem *pItem );
|
BOOL ParserCrowdItemData(CCrowdMessengerPro *pMessengerPro, CString strBody);
|
BOOL ParserCrowdServerData(CString strBody);
|
BOOL ParserCrowdMemberData(CCrowdItem *pItem, CString strBody);
|
BOOL LoadCrowdFileItemList( IXMLDOMElementPtr ptrItem, CCrowdItem *pItem, CString strFileGroup );
|
BOOL ParserCrowdFileData(CString strCrowdID, CString strFileGroup, CString strBody);
|
};
|