summaryrefslogtreecommitdiff
path: root/protocols/MRA/MraChat.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/MRA/MraChat.cpp')
-rw-r--r--protocols/MRA/MraChat.cpp354
1 files changed, 166 insertions, 188 deletions
diff --git a/protocols/MRA/MraChat.cpp b/protocols/MRA/MraChat.cpp
index c0e0484c9e..4c2140347a 100644
--- a/protocols/MRA/MraChat.cpp
+++ b/protocols/MRA/MraChat.cpp
@@ -4,8 +4,8 @@
-//static COLORREF crCols[16] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
-static LPWSTR lpwszStatuses[]={ L"Owners",L"Inviter",L"Visitors" };
+//static COLORREF crCols[16] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
+static LPWSTR lpwszStatuses[] = { L"Owners", L"Inviter", L"Visitors" };
#define MRA_CHAT_STATUS_OWNER 0
#define MRA_CHAT_STATUS_INVITER 1
#define MRA_CHAT_STATUS_VISITOR 2
@@ -13,315 +13,294 @@ static LPWSTR lpwszStatuses[]={ L"Owners",L"Inviter",L"Visitors" };
-int MraChatGcEventHook (WPARAM, LPARAM lParam);
void MraChatSendPrivateMessage (LPWSTR lpwszEMail);
-void MraChatDllError()
+void CMraProto::MraChatDllError()
{
- MessageBoxW(NULL,TranslateW(L"CHAT plugin is required for conferences. Install it before chatting"),PROTOCOL_DISPLAY_NAMEW,(MB_OK|MB_ICONWARNING));
+ MessageBoxW(NULL, TranslateW(L"CHAT plugin is required for conferences. Install it before chatting"), m_tszUserName, (MB_OK|MB_ICONWARNING));
}
-
-
-BOOL MraChatRegister()
+BOOL CMraProto::MraChatRegister()
{
- BOOL bRet=FALSE;
-
- if (ServiceExists(MS_GC_REGISTER))
- {
- GCREGISTER gcr={0};
- gcr.cbSize=sizeof(GCREGISTER);
- gcr.dwFlags=GC_UNICODE;
- gcr.iMaxText=MRA_MAXLENOFMESSAGE;
- gcr.nColors=0;
- //gcr.pColors=&crCols[0];
- gcr.pszModuleDispName=PROTOCOL_DISPLAY_NAMEA;
- gcr.pszModule=PROTOCOL_NAMEA;
- CallServiceSync(MS_GC_REGISTER,NULL,(LPARAM)&gcr);
-
- HookEvent(ME_GC_EVENT,&MraChatGcEventHook);
- //HookEvent(ME_GC_BUILDMENU, &CJabberProto::JabberGcMenuHook );
-
- bRet=TRUE;
- }else{
- MraChatDllError();
- }
-return(bRet);
+ if ( !ServiceExists(MS_GC_REGISTER))
+ return FALSE;
+
+ GCREGISTER gcr = {0};
+ gcr.cbSize = sizeof(GCREGISTER);
+ gcr.dwFlags = GC_UNICODE;
+ gcr.iMaxText = MRA_MAXLENOFMESSAGE;
+ gcr.nColors = 0;
+ gcr.ptszModuleDispName = m_tszUserName;
+ gcr.pszModule = m_szModuleName;
+ CallServiceSync(MS_GC_REGISTER, NULL, (LPARAM)&gcr);
+
+ HookEvent(ME_GC_EVENT, &CMraProto::MraChatGcEventHook);
+ return TRUE;
}
-INT_PTR MraChatSessionNew(HANDLE hContact)
+INT_PTR CMraProto::MraChatSessionNew(HANDLE hContact)
{
- INT_PTR iRet=1;
+ INT_PTR iRet = 1;
- if (masMraSettings.bChatExist)
+ if (bChatExists)
if (hContact)
{
- GCSESSION gcw={0};
- WCHAR wszEMail[MAX_EMAIL_LEN]={0};
-
- gcw.cbSize=sizeof(GCSESSION);
- gcw.iType=GCW_CHATROOM;
- gcw.pszModule=PROTOCOL_NAMEA;
- gcw.ptszName=GetContactNameW(hContact);
- gcw.ptszID=(LPWSTR)wszEMail;
- gcw.ptszStatusbarText=L"status bar";
- gcw.dwFlags=GC_UNICODE;
- gcw.dwItemData=(DWORD)hContact;
- DB_Mra_GetStaticStringW(hContact,"e-mail",wszEMail,SIZEOF(wszEMail),NULL);
- iRet=CallServiceSync(MS_GC_NEWSESSION,NULL,(LPARAM)&gcw);
-
- if (iRet==0)
+ GCSESSION gcw = {0};
+ WCHAR wszEMail[MAX_EMAIL_LEN] = {0};
+
+ gcw.cbSize = sizeof(GCSESSION);
+ gcw.iType = GCW_CHATROOM;
+ gcw.pszModule = m_szModuleName;
+ gcw.ptszName = GetContactNameW(hContact);
+ gcw.ptszID = (LPWSTR)wszEMail;
+ gcw.ptszStatusbarText = L"status bar";
+ gcw.dwFlags = GC_UNICODE;
+ gcw.dwItemData = (DWORD)hContact;
+ mraGetStaticStringW(hContact, "e-mail", wszEMail, SIZEOF(wszEMail), NULL);
+ iRet = CallServiceSync(MS_GC_NEWSESSION, NULL, (LPARAM)&gcw);
+
+ if (iRet == 0)
{
- CHAR szEMail[MAX_EMAIL_LEN]={0};
- SIZE_T dwEMailSize;
- GCDEST gcd={0};
- GCEVENT gce={0};
-
- gcd.pszModule=PROTOCOL_NAMEA;
- gcd.ptszID=(LPWSTR)wszEMail;
- gcd.iType=GC_EVENT_ADDGROUP;
-
- gce.cbSize=sizeof(GCEVENT);
- gce.pDest=&gcd;
- gce.dwFlags=GC_UNICODE;
- for (SIZE_T i=0;i<SIZEOF(lpwszStatuses);i++)
+ CHAR szEMail[MAX_EMAIL_LEN] = {0};
+ size_t dwEMailSize;
+ GCDEST gcd = {0};
+ GCEVENT gce = {0};
+
+ gcd.pszModule = m_szModuleName;
+ gcd.ptszID = (LPWSTR)wszEMail;
+ gcd.iType = GC_EVENT_ADDGROUP;
+
+ gce.cbSize = sizeof(GCEVENT);
+ gce.pDest = &gcd;
+ gce.dwFlags = GC_UNICODE;
+ for (size_t i = 0;i<SIZEOF(lpwszStatuses);i++)
{
- gce.ptszStatus=TranslateW(lpwszStatuses[i]);
- CallServiceSync(MS_GC_EVENT,NULL,(LPARAM)&gce);
+ gce.ptszStatus = TranslateW(lpwszStatuses[i]);
+ CallServiceSync(MS_GC_EVENT, NULL, (LPARAM)&gce);
}
- gce.cbSize=sizeof(GCEVENT);
- gce.pDest=&gcd;
- gcd.iType=GC_EVENT_CONTROL;
+ gce.cbSize = sizeof(GCEVENT);
+ gce.pDest = &gcd;
+ gcd.iType = GC_EVENT_CONTROL;
- CallServiceSync(MS_GC_EVENT,SESSION_INITDONE,(LPARAM)&gce);
- CallServiceSync(MS_GC_EVENT,SESSION_ONLINE,(LPARAM)&gce);
+ CallServiceSync(MS_GC_EVENT, SESSION_INITDONE, (LPARAM)&gce);
+ CallServiceSync(MS_GC_EVENT, SESSION_ONLINE, (LPARAM)&gce);
- //MraChatSessionJoinUser(hContact,NULL,0,0);
- (*(DWORD*)wszEMail)=MULTICHAT_GET_MEMBERS;
- DB_Mra_GetStaticStringA(hContact,"e-mail",szEMail,SIZEOF(szEMail),&dwEMailSize);
- MraSendCommand_MessageW(FALSE,NULL,0,MESSAGE_FLAG_MULTICHAT,szEMail,dwEMailSize,NULL,0,(LPBYTE)wszEMail,4);
+ //MraChatSessionJoinUser(hContact, NULL, 0, 0);
+ (*(DWORD*)wszEMail) = MULTICHAT_GET_MEMBERS;
+ mraGetStaticStringA(hContact, "e-mail", szEMail, SIZEOF(szEMail), &dwEMailSize);
+ MraMessageW(FALSE, NULL, 0, MESSAGE_FLAG_MULTICHAT, szEMail, dwEMailSize, NULL, 0, (LPBYTE)wszEMail, 4);
}
}
-return(iRet);
+ return(iRet);
}
-void MraChatSessionDestroy(HANDLE hContact)
+void CMraProto::MraChatSessionDestroy(HANDLE hContact)
{
- if (masMraSettings.bChatExist)
+ if (bChatExists)
{
- GCDEST gcd={0};
- GCEVENT gce={0};
- WCHAR wszEMail[MAX_EMAIL_LEN]={0};
+ GCDEST gcd = {0};
+ GCEVENT gce = {0};
+ WCHAR wszEMail[MAX_EMAIL_LEN] = {0};
- gcd.pszModule=PROTOCOL_NAMEA;
- gcd.iType=GC_EVENT_CONTROL;
+ gcd.pszModule = m_szModuleName;
+ gcd.iType = GC_EVENT_CONTROL;
if (hContact)
{
- gcd.ptszID=(LPWSTR)wszEMail;
- DB_Mra_GetStaticStringW(hContact,"e-mail",wszEMail,SIZEOF(wszEMail),NULL);
+ gcd.ptszID = (LPWSTR)wszEMail;
+ mraGetStaticStringW(hContact, "e-mail", wszEMail, SIZEOF(wszEMail), NULL);
}
- gce.cbSize=sizeof(GCEVENT);
- gce.pDest=&gcd;
- gce.dwFlags=GC_UNICODE;
+ gce.cbSize = sizeof(GCEVENT);
+ gce.pDest = &gcd;
+ gce.dwFlags = GC_UNICODE;
- CallServiceSync(MS_GC_EVENT,SESSION_TERMINATE,(LPARAM)&gce);
- CallServiceSync(MS_GC_EVENT,WINDOW_CLEARLOG,(LPARAM)&gce);
+ CallServiceSync(MS_GC_EVENT, SESSION_TERMINATE, (LPARAM)&gce);
+ CallServiceSync(MS_GC_EVENT, WINDOW_CLEARLOG, (LPARAM)&gce);
}
}
-
-
-
-INT_PTR MraChatSessionEventSendByHandle(HANDLE hContactChatSession,DWORD dwType,DWORD dwFlags,LPSTR lpszUID,SIZE_T dwUIDSize,LPWSTR lpwszStatus,LPWSTR lpwszMessage,DWORD_PTR dwItemData,DWORD dwTime)
+INT_PTR CMraProto::MraChatSessionEventSendByHandle(HANDLE hContactChatSession, DWORD dwType, DWORD dwFlags, LPSTR lpszUID, size_t dwUIDSize, LPWSTR lpwszStatus, LPWSTR lpwszMessage, DWORD_PTR dwItemData, DWORD dwTime)
{
- INT_PTR iRet=1;
+ INT_PTR iRet = 1;
- if (masMraSettings.bChatExist)
+ if (bChatExists)
{
- GCDEST gcd={0};
- GCEVENT gce={0};
- WCHAR wszID[MAX_EMAIL_LEN]={0},wszUID[MAX_EMAIL_LEN]={0},wszNick[MAX_EMAIL_LEN]={0};
+ GCDEST gcd = {0};
+ GCEVENT gce = {0};
+ WCHAR wszID[MAX_EMAIL_LEN] = {0}, wszUID[MAX_EMAIL_LEN] = {0}, wszNick[MAX_EMAIL_LEN] = {0};
- gcd.pszModule=PROTOCOL_NAMEA;
+ gcd.pszModule = m_szModuleName;
if (hContactChatSession)
{
- gcd.ptszID=(LPWSTR)wszID;
- DB_Mra_GetStaticStringW(hContactChatSession,"e-mail",wszID,SIZEOF(wszID),NULL);
+ gcd.ptszID = (LPWSTR)wszID;
+ mraGetStaticStringW(hContactChatSession, "e-mail", wszID, SIZEOF(wszID), NULL);
}
- gcd.iType=dwType;
+ gcd.iType = dwType;
- gce.cbSize=sizeof(GCEVENT);
- gce.pDest=&gcd;
- gce.dwFlags=GC_UNICODE|dwFlags;
- gce.ptszUID=wszUID;
- gce.ptszStatus=lpwszStatus;
- gce.ptszText=lpwszMessage;
- gce.dwItemData=dwItemData;
- gce.time=dwTime;
+ gce.cbSize = sizeof(GCEVENT);
+ gce.pDest = &gcd;
+ gce.dwFlags = GC_UNICODE|dwFlags;
+ gce.ptszUID = wszUID;
+ gce.ptszStatus = lpwszStatus;
+ gce.ptszText = lpwszMessage;
+ gce.dwItemData = dwItemData;
+ gce.time = dwTime;
if (lpszUID && dwUIDSize)
{
- gce.bIsMe=IsEMailMy(lpszUID,dwUIDSize);
- }else{
- gce.bIsMe=TRUE;
+ gce.bIsMe = IsEMailMy(lpszUID, dwUIDSize);
+ }else {
+ gce.bIsMe = TRUE;
}
if (gce.bIsMe)
{
- DB_Mra_GetStaticStringW(NULL,"e-mail",wszUID,SIZEOF(wszUID),NULL);
- DB_Mra_GetStaticStringW(NULL,"Nick",wszNick,SIZEOF(wszNick),NULL);
- gce.ptszNick=wszNick;
- }else{
+ mraGetStaticStringW(NULL, "e-mail", wszUID, SIZEOF(wszUID), NULL);
+ mraGetStaticStringW(NULL, "Nick", wszNick, SIZEOF(wszNick), NULL);
+ gce.ptszNick = wszNick;
+ }else {
HANDLE hContactSender;
- hContactSender=MraHContactFromEmail(lpszUID,dwUIDSize,FALSE,TRUE,NULL);
- MultiByteToWideChar(MRA_CODE_PAGE,0,lpszUID,dwUIDSize,wszUID,SIZEOF(wszUID));
+ hContactSender = MraHContactFromEmail(lpszUID, dwUIDSize, FALSE, TRUE, NULL);
+ MultiByteToWideChar(MRA_CODE_PAGE, 0, lpszUID, dwUIDSize, wszUID, SIZEOF(wszUID));
if (hContactSender)
{
- gce.ptszNick=GetContactNameW(hContactSender);
- }else{
- gce.ptszNick=wszUID;
+ gce.ptszNick = GetContactNameW(hContactSender);
+ }else {
+ gce.ptszNick = wszUID;
}
}
- iRet=CallServiceSync(MS_GC_EVENT,NULL,(LPARAM)&gce);
+ iRet = CallServiceSync(MS_GC_EVENT, NULL, (LPARAM)&gce);
}
return(iRet);
}
-
-
-
-
-INT_PTR MraChatSessionInvite(HANDLE hContactChatSession,LPSTR lpszEMailInMultiChat,SIZE_T dwEMailInMultiChatSize,DWORD dwTime)
+INT_PTR CMraProto::MraChatSessionInvite(HANDLE hContactChatSession, LPSTR lpszEMailInMultiChat, size_t dwEMailInMultiChatSize, DWORD dwTime)
{
- INT_PTR iRet=1;
+ INT_PTR iRet = 1;
if (hContactChatSession)
{
- WCHAR wszEMailInMultiChat[MAX_EMAIL_LEN]={0},wszBuff[((MAX_EMAIL_LEN*2)+MAX_PATH)];
+ WCHAR wszEMailInMultiChat[MAX_EMAIL_LEN] = {0}, wszBuff[((MAX_EMAIL_LEN*2)+MAX_PATH)];
- MultiByteToWideChar(MRA_CODE_PAGE,0,lpszEMailInMultiChat,dwEMailInMultiChatSize,wszEMailInMultiChat,SIZEOF(wszEMailInMultiChat));
- mir_sntprintf(wszBuff,SIZEOF(wszBuff),L"[%s]: %s",wszEMailInMultiChat,TranslateW(L"invite sender"));
+ MultiByteToWideChar(MRA_CODE_PAGE, 0, lpszEMailInMultiChat, dwEMailInMultiChatSize, wszEMailInMultiChat, SIZEOF(wszEMailInMultiChat));
+ mir_sntprintf(wszBuff, SIZEOF(wszBuff), L"[%s]: %s", wszEMailInMultiChat, TranslateW(L"invite sender"));
- iRet=MraChatSessionEventSendByHandle(hContactChatSession,GC_EVENT_ACTION,GCEF_ADDTOLOG,lpszEMailInMultiChat,dwEMailInMultiChatSize,NULL,wszBuff,0,dwTime);
+ iRet = MraChatSessionEventSendByHandle(hContactChatSession, GC_EVENT_ACTION, GCEF_ADDTOLOG, lpszEMailInMultiChat, dwEMailInMultiChatSize, NULL, wszBuff, 0, dwTime);
}
return(iRet);
}
-INT_PTR MraChatSessionMembersAdd(HANDLE hContactChatSession,LPSTR lpszEMailInMultiChat,SIZE_T dwEMailInMultiChatSize,DWORD dwTime)
+INT_PTR CMraProto::MraChatSessionMembersAdd(HANDLE hContactChatSession, LPSTR lpszEMailInMultiChat, size_t dwEMailInMultiChatSize, DWORD dwTime)
{
- INT_PTR iRet=1;
+ INT_PTR iRet = 1;
if (hContactChatSession)
{
- WCHAR wszEMailInMultiChat[MAX_EMAIL_LEN]={0},wszBuff[((MAX_EMAIL_LEN*2)+MAX_PATH)];
+ WCHAR wszEMailInMultiChat[MAX_EMAIL_LEN] = {0}, wszBuff[((MAX_EMAIL_LEN*2)+MAX_PATH)];
- MultiByteToWideChar(MRA_CODE_PAGE,0,lpszEMailInMultiChat,dwEMailInMultiChatSize,wszEMailInMultiChat,SIZEOF(wszEMailInMultiChat));
- mir_sntprintf(wszBuff,SIZEOF(wszBuff),L"[%s]: %s",wszEMailInMultiChat,TranslateW(L"invite new members"));
+ MultiByteToWideChar(MRA_CODE_PAGE, 0, lpszEMailInMultiChat, dwEMailInMultiChatSize, wszEMailInMultiChat, SIZEOF(wszEMailInMultiChat));
+ mir_sntprintf(wszBuff, SIZEOF(wszBuff), L"[%s]: %s", wszEMailInMultiChat, TranslateW(L"invite new members"));
- iRet=MraChatSessionEventSendByHandle(hContactChatSession,GC_EVENT_ACTION,GCEF_ADDTOLOG,lpszEMailInMultiChat,dwEMailInMultiChatSize,NULL,wszBuff,0,dwTime);
+ iRet = MraChatSessionEventSendByHandle(hContactChatSession, GC_EVENT_ACTION, GCEF_ADDTOLOG, lpszEMailInMultiChat, dwEMailInMultiChatSize, NULL, wszBuff, 0, dwTime);
}
return(iRet);
}
-INT_PTR MraChatSessionJoinUser(HANDLE hContactChatSession,LPSTR lpszEMailInMultiChat,SIZE_T dwEMailInMultiChatSize,DWORD dwTime)
+INT_PTR CMraProto::MraChatSessionJoinUser(HANDLE hContactChatSession, LPSTR lpszEMailInMultiChat, size_t dwEMailInMultiChatSize, DWORD dwTime)
{
- INT_PTR iRet=1;
+ INT_PTR iRet = 1;
if (hContactChatSession)
{
- iRet=MraChatSessionEventSendByHandle(hContactChatSession,GC_EVENT_JOIN,GCEF_ADDTOLOG,lpszEMailInMultiChat,dwEMailInMultiChatSize,lpwszStatuses[MRA_CHAT_STATUS_VISITOR],L"",0,dwTime);
+ iRet = MraChatSessionEventSendByHandle(hContactChatSession, GC_EVENT_JOIN, GCEF_ADDTOLOG, lpszEMailInMultiChat, dwEMailInMultiChatSize, lpwszStatuses[MRA_CHAT_STATUS_VISITOR], L"", 0, dwTime);
}
return(iRet);
}
-INT_PTR MraChatSessionLeftUser(HANDLE hContactChatSession,LPSTR lpszEMailInMultiChat,SIZE_T dwEMailInMultiChatSize,DWORD dwTime)
+INT_PTR CMraProto::MraChatSessionLeftUser(HANDLE hContactChatSession, LPSTR lpszEMailInMultiChat, size_t dwEMailInMultiChatSize, DWORD dwTime)
{
- INT_PTR iRet=1;
+ INT_PTR iRet = 1;
if (hContactChatSession)
{
- iRet=MraChatSessionEventSendByHandle(hContactChatSession,GC_EVENT_PART,GCEF_ADDTOLOG,lpszEMailInMultiChat,dwEMailInMultiChatSize,NULL,NULL,0,dwTime);
+ iRet = MraChatSessionEventSendByHandle(hContactChatSession, GC_EVENT_PART, GCEF_ADDTOLOG, lpszEMailInMultiChat, dwEMailInMultiChatSize, NULL, NULL, 0, dwTime);
}
return(iRet);
}
-INT_PTR MraChatSessionSetIviter(HANDLE hContactChatSession,LPSTR lpszEMailInMultiChat,SIZE_T dwEMailInMultiChatSize)
+INT_PTR CMraProto::MraChatSessionSetIviter(HANDLE hContactChatSession, LPSTR lpszEMailInMultiChat, size_t dwEMailInMultiChatSize)
{
- INT_PTR iRet=1;
+ INT_PTR iRet = 1;
if (hContactChatSession && lpszEMailInMultiChat && dwEMailInMultiChatSize)
{
- //iRet=MraChatSessionEventSendByHandle(hContactChatSession,GC_EVENT_REMOVESTATUS,0,lpszEMailInMultiChat,dwEMailInMultiChatSize,lpwszStatuses[MRA_CHAT_STATUS_VISITOR],NULL,0,0);
- iRet=MraChatSessionEventSendByHandle(hContactChatSession,GC_EVENT_ADDSTATUS,0,lpszEMailInMultiChat,dwEMailInMultiChatSize,lpwszStatuses[MRA_CHAT_STATUS_INVITER],NULL,0,0);
+ //iRet = MraChatSessionEventSendByHandle(hContactChatSession, GC_EVENT_REMOVESTATUS, 0, lpszEMailInMultiChat, dwEMailInMultiChatSize, lpwszStatuses[MRA_CHAT_STATUS_VISITOR], NULL, 0, 0);
+ iRet = MraChatSessionEventSendByHandle(hContactChatSession, GC_EVENT_ADDSTATUS, 0, lpszEMailInMultiChat, dwEMailInMultiChatSize, lpwszStatuses[MRA_CHAT_STATUS_INVITER], NULL, 0, 0);
}
return(iRet);
}
-INT_PTR MraChatSessionSetOwner(HANDLE hContactChatSession,LPSTR lpszEMailInMultiChat,SIZE_T dwEMailInMultiChatSize)
+INT_PTR CMraProto::MraChatSessionSetOwner(HANDLE hContactChatSession, LPSTR lpszEMailInMultiChat, size_t dwEMailInMultiChatSize)
{
- INT_PTR iRet=1;
+ INT_PTR iRet = 1;
if (hContactChatSession && lpszEMailInMultiChat && dwEMailInMultiChatSize)
{
- iRet=MraChatSessionEventSendByHandle(hContactChatSession,GC_EVENT_ADDSTATUS,0,lpszEMailInMultiChat,dwEMailInMultiChatSize,lpwszStatuses[MRA_CHAT_STATUS_OWNER],NULL,0,0);
+ iRet = MraChatSessionEventSendByHandle(hContactChatSession, GC_EVENT_ADDSTATUS, 0, lpszEMailInMultiChat, dwEMailInMultiChatSize, lpwszStatuses[MRA_CHAT_STATUS_OWNER], NULL, 0, 0);
}
return(iRet);
}
-INT_PTR MraChatSessionMessageAdd(HANDLE hContactChatSession,LPSTR lpszEMailInMultiChat,SIZE_T dwEMailInMultiChatSize,LPWSTR lpwszMessage,SIZE_T dwMessageSize,DWORD dwTime)
+INT_PTR CMraProto::MraChatSessionMessageAdd(HANDLE hContactChatSession, LPSTR lpszEMailInMultiChat, size_t dwEMailInMultiChatSize, LPWSTR lpwszMessage, size_t dwMessageSize, DWORD dwTime)
{
- INT_PTR iRet=1;
+ INT_PTR iRet = 1;
if (hContactChatSession)
{
LPWSTR lpwszMessageLocal;
- lpwszMessageLocal=(LPWSTR)MEMALLOC((dwMessageSize*sizeof(WCHAR)));
+ lpwszMessageLocal = (LPWSTR)mir_calloc((dwMessageSize*sizeof(WCHAR)));
if (lpwszMessageLocal)
{// we need zeros after text allways
- memmove((LPVOID)lpwszMessageLocal,lpwszMessage,(dwMessageSize*sizeof(WCHAR)));//gce.ptszText=lpwszMessage;
+ memmove((LPVOID)lpwszMessageLocal, lpwszMessage, (dwMessageSize*sizeof(WCHAR)));//gce.ptszText = lpwszMessage;
- iRet=MraChatSessionEventSendByHandle(hContactChatSession,GC_EVENT_MESSAGE,GCEF_ADDTOLOG,lpszEMailInMultiChat,dwEMailInMultiChatSize,NULL,lpwszMessageLocal,0,dwTime);
+ iRet = MraChatSessionEventSendByHandle(hContactChatSession, GC_EVENT_MESSAGE, GCEF_ADDTOLOG, lpszEMailInMultiChat, dwEMailInMultiChatSize, NULL, lpwszMessageLocal, 0, dwTime);
- MEMFREE(lpwszMessageLocal);
+ mir_free(lpwszMessageLocal);
}
}
return(iRet);
}
-
-
-int MraChatGcEventHook(WPARAM, LPARAM lParam)
+int CMraProto::MraChatGcEventHook(WPARAM, LPARAM lParam)
{
- int iRet=0;
+ int iRet = 0;
if (lParam)
- if (masMraSettings.bChatExist)
+ if (bChatExists)
{
- GCHOOK* gch=(GCHOOK*)lParam;
+ GCHOOK* gch = (GCHOOK*)lParam;
- if (CompareStringA(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US),NORM_IGNORECASE,gch->pDest->pszModule,-1,PROTOCOL_NAMEA,PROTOCOL_NAME_LEN)==CSTR_EQUAL)
- {
- switch(gch->pDest->iType){
+ if ( !_stricmp(gch->pDest->pszModule, m_szModuleName)) {
+ switch (gch->pDest->iType) {
case GC_USER_MESSAGE:
if (gch->ptszText && lstrlen(gch->ptszText))
{
BOOL bSlowSend;
- CHAR szEMail[MAX_EMAIL_LEN]={0};
- DWORD dwFlags=0;
- SIZE_T dwEMailSize,dwMessageSize;
+ CHAR szEMail[MAX_EMAIL_LEN] = {0};
+ DWORD dwFlags = 0;
+ size_t dwEMailSize, dwMessageSize;
INT_PTR iSendRet;
HANDLE hContact;
@@ -329,23 +308,23 @@ int MraChatGcEventHook(WPARAM, LPARAM lParam)
//TCHAR* buf = NEWTSTR_ALLOCA(gch->ptszText);
//UnEscapeChatTags( buf );
- dwMessageSize=lstrlenW(gch->ptszText);
- dwEMailSize=(WideCharToMultiByte(MRA_CODE_PAGE,0,gch->pDest->ptszID,-1,szEMail,SIZEOF(szEMail),NULL,NULL)-1);
- hContact=MraHContactFromEmail(szEMail,dwEMailSize,FALSE,TRUE,NULL);
- bSlowSend=DB_Mra_GetByte(NULL,"SlowSend",MRA_DEFAULT_SLOW_SEND);
+ dwMessageSize = lstrlenW(gch->ptszText);
+ dwEMailSize = (WideCharToMultiByte(MRA_CODE_PAGE, 0, gch->pDest->ptszID, -1, szEMail, SIZEOF(szEMail), NULL, NULL)-1);
+ hContact = MraHContactFromEmail(szEMail, dwEMailSize, FALSE, TRUE, NULL);
+ bSlowSend = mraGetByte(NULL, "SlowSend", MRA_DEFAULT_SLOW_SEND);
- if (DB_Mra_GetByte(NULL,"RTFSendEnable",MRA_DEFAULT_RTF_SEND_ENABLE) && (MraContactCapabilitiesGet(hContact)&FEATURE_FLAG_RTF_MESSAGE))
+ if (mraGetByte(NULL, "RTFSendEnable", MRA_DEFAULT_RTF_SEND_ENABLE) && (MraContactCapabilitiesGet(hContact)&FEATURE_FLAG_RTF_MESSAGE))
{
- dwFlags|=MESSAGE_FLAG_RTF;
+ dwFlags |= MESSAGE_FLAG_RTF;
}
- iSendRet=MraSendCommand_MessageW(bSlowSend,hContact,ACKTYPE_MESSAGE,dwFlags,szEMail,dwEMailSize,gch->ptszText,dwMessageSize,NULL,0);
- if (bSlowSend==FALSE)
+ iSendRet = MraMessageW(bSlowSend, hContact, ACKTYPE_MESSAGE, dwFlags, szEMail, dwEMailSize, gch->ptszText, dwMessageSize, NULL, 0);
+ if (bSlowSend == FALSE)
{
- ProtoBroadcastAckAsynchEx(PROTOCOL_NAMEA,hContact,ACKTYPE_MESSAGE,ACKRESULT_SUCCESS,(HANDLE)iSendRet,(LPARAM)NULL,0);
+ ProtoBroadcastAckAsynchEx(hContact, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, (HANDLE)iSendRet, (LPARAM)NULL, 0);
}
- MraChatSessionEventSendByHandle(hContact,GC_EVENT_MESSAGE,GCEF_ADDTOLOG,NULL,0,NULL,gch->ptszText,0,(DWORD)_time32(NULL));
+ MraChatSessionEventSendByHandle(hContact, GC_EVENT_MESSAGE, GCEF_ADDTOLOG, NULL, 0, NULL, gch->ptszText, 0, (DWORD)_time32(NULL));
}
break;
case GC_USER_PRIVMESS:
@@ -365,23 +344,22 @@ int MraChatGcEventHook(WPARAM, LPARAM lParam)
}
}
}
-return(iRet);
+ return(iRet);
}
-
-void MraChatSendPrivateMessage(LPWSTR lpwszEMail)
+void CMraProto::MraChatSendPrivateMessage(LPWSTR lpwszEMail)
{
BOOL bAdded;
HANDLE hContact;
- CHAR szEMail[MAX_EMAIL_LEN]={0};
- SIZE_T dwEMailSize;
+ CHAR szEMail[MAX_EMAIL_LEN] = {0};
+ size_t dwEMailSize;
- dwEMailSize=(WideCharToMultiByte(MRA_CODE_PAGE,0,lpwszEMail,-1,szEMail,SIZEOF(szEMail),NULL,NULL)-1);
- hContact=MraHContactFromEmail(szEMail,dwEMailSize,TRUE,TRUE,&bAdded);
+ dwEMailSize = (WideCharToMultiByte(MRA_CODE_PAGE, 0, lpwszEMail, -1, szEMail, SIZEOF(szEMail), NULL, NULL)-1);
+ hContact = MraHContactFromEmail(szEMail, dwEMailSize, TRUE, TRUE, &bAdded);
- if (bAdded) DBWriteContactSettingByte(hContact,"CList","Hidden",1);
- CallService(MS_IGNORE_UNIGNORE,(WPARAM)hContact,IGNOREEVENT_ALL);
- CallService(MS_MSG_SENDMESSAGE,(WPARAM)hContact,0);
+ if (bAdded) DBWriteContactSettingByte(hContact, "CList", "Hidden", 1);
+ CallService(MS_IGNORE_UNIGNORE, (WPARAM)hContact, IGNOREEVENT_ALL);
+ CallService(MS_MSG_SENDMESSAGE, (WPARAM)hContact, 0);
}