From 8d5ba8b33cad9eb86066fefc29102d2734f4a292 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 21 Jul 2016 09:48:22 +0000 Subject: improperly named helper renamed git-svn-id: http://svn.miranda-ng.org/main/trunk@17110 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- include/delphi/m_core.inc | 2 -- include/delphi/m_protocols.inc | 3 --- include/delphi/m_protosvc.inc | 2 +- include/m_core.h | 1 - include/m_protocols.h | 6 +++++ plugins/Actman/actman.dpr | 2 +- plugins/Actman/iac_inout.pas | 9 ++++++- plugins/AddContactPlus/src/addcontact.cpp | 6 ++--- plugins/Boltun/src/actionQueue.cpp | 2 +- plugins/BuddyPounce/src/main.cpp | 2 +- plugins/Clist_modern/src/modern_awaymsg.cpp | 2 +- plugins/Clist_nicer/src/clistmenus.cpp | 2 +- plugins/CmdLine/src/mimcmd_handlers.cpp | 2 +- plugins/ContactsPlus/src/send.cpp | 4 +-- plugins/Dropbox/src/dropbox_commands.cpp | 18 +++++++------- plugins/Dropbox/src/dropbox_services.cpp | 2 +- plugins/Dropbox/src/dropbox_utils.cpp | 2 +- plugins/FTPFileYM/src/job_upload.cpp | 2 +- plugins/FileAsMessage/src/dialog.cpp | 2 +- plugins/IEView/src/external_funcs.cpp | 2 +- plugins/MenuItemEx/src/main.cpp | 10 ++++---- plugins/MirFox/src/MirandaUtils.cpp | 2 +- plugins/MirLua/src/m_message.cpp | 2 +- plugins/MirOTR/src/otr.cpp | 4 +-- plugins/MirandaG15/src/CAppletManager.cpp | 2 +- plugins/NewAwaySysMod/src/MsgEventAdded.cpp | 2 +- plugins/NewAwaySysMod/src/ReadAwayMsg.cpp | 2 +- plugins/NewXstatusNotify/src/popup.cpp | 2 +- plugins/New_GPG/src/messages.cpp | 38 ++++++++++++++--------------- plugins/New_GPG/src/utilities.cpp | 4 +-- plugins/PasteIt/src/PasteIt.cpp | 2 +- plugins/Popup/src/popup_wnd2.cpp | 2 +- plugins/Scriver/src/sendqueue.cpp | 2 +- plugins/SecureIM/src/crypt_misc.cpp | 4 +-- plugins/SecureIM/src/splitmsg.cpp | 4 +-- plugins/SecureIM/src/svcs_menu.cpp | 4 +-- plugins/SendScreenshotPlus/src/CSend.cpp | 6 ++--- plugins/SimpleAR/src/Main.cpp | 2 +- plugins/SimpleStatusMsg/src/awaymsg.cpp | 4 +-- plugins/Spamotron/src/spamotron.cpp | 12 ++++----- plugins/StopSpamMod/src/stopspam.cpp | 8 +++--- plugins/StopSpamPlus/src/events.cpp | 6 ++--- plugins/TabSRMM/src/msgdialog.cpp | 2 +- plugins/TabSRMM/src/sendlater.cpp | 2 +- plugins/TabSRMM/src/sendqueue.cpp | 6 ++--- plugins/TipperYM/src/message_pump.cpp | 2 +- plugins/TipperYM/src/subst.cpp | 2 +- plugins/UserInfoEx/src/dlg_propsheet.cpp | 4 +-- plugins/UserInfoEx/src/svc_refreshci.cpp | 2 +- plugins/Watrack/proto/proto.pas | 35 ++++++++++++++++++-------- plugins/WhenWasIt/src/services.cpp | 2 +- plugins/YARelay/src/main.cpp | 2 +- protocols/Steam/src/steam_menus.cpp | 2 +- protocols/VKontakte/src/vk_thread.cpp | 2 +- src/core/stdaway/src/awaymsg.cpp | 2 +- src/core/stdfile/src/filerecvdlg.cpp | 2 +- src/core/stdfile/src/filexferdlg.cpp | 8 +++--- src/core/stdmsg/src/msgdialog.cpp | 2 +- src/core/stduserinfo/src/userinfo.cpp | 4 +-- src/mir_app/src/addcontact.cpp | 6 ++--- src/mir_app/src/clc.cpp | 4 ++- src/mir_app/src/clistgroups.cpp | 5 +++- src/mir_app/src/clistsettings.cpp | 2 +- src/mir_app/src/meta_services.cpp | 8 +++--- src/mir_app/src/mir_app.def | 1 - src/mir_app/src/mir_app64.def | 1 - src/mir_app/src/proto_chains.cpp | 8 ------ src/mir_app/src/visibility.cpp | 4 +-- 68 files changed, 167 insertions(+), 150 deletions(-) diff --git a/include/delphi/m_core.inc b/include/delphi/m_core.inc index c13dfe190d..7f9d6a3ec2 100644 --- a/include/delphi/m_core.inc +++ b/include/delphi/m_core.inc @@ -141,8 +141,6 @@ procedure KillModuleServices(hInst:HINST); stdcall; procedure KillObjectServices(var ptr); stdcall; external CoreDLL name 'KillObjectServices'; -function CallContactService(hContact:TMCONTACT;const name:PAnsiChar;wParam:WPARAM;lParam:LPARAM):int_ptr; stdcall; - external AppDLL name 'CallContactService'; function CallProtoService(const szModule:PAnsiChar;const szService:PAnsiChar;wParam:WPARAM;lParam:LPARAM):int_ptr; stdcall; external AppDLL name 'CallProtoService'; diff --git a/include/delphi/m_protocols.inc b/include/delphi/m_protocols.inc index 31f9456782..5fb1c39ad7 100644 --- a/include/delphi/m_protocols.inc +++ b/include/delphi/m_protocols.inc @@ -38,9 +38,6 @@ type lParam : LPARAM; end; -const - MS_PROTO_CALLCONTACTSERVICE:PAnsiChar = 'Proto/CallContactService'; - //a general network 'ack' //wParam=0 //lParam=(LPARAM)(ACKDATA*)&ack diff --git a/include/delphi/m_protosvc.inc b/include/delphi/m_protosvc.inc index 664b8552c6..83e1c2a841 100644 --- a/include/delphi/m_protosvc.inc +++ b/include/delphi/m_protosvc.inc @@ -635,7 +635,7 @@ const } PS_GETUNREADEMAILCOUNT = '/GetUnreadEmailCount'; -// these should be called with CallContactService() +// these should be called with ProtoChainSend() {<1 then begin WidetoUTF8(last,blob); - CallContactService(hContact,PSS_MESSAGE,0,tlparam(blob)); + + ccs.hContact := hContact; + ccs.szProtoService := PSS_MESSAGE; + ccs.wParam := 0; + ccs.lParam := tlparam(blob); + Proto_ChainSend(0, @ccs); + dbei.cbSize :=sizeof(dbei); dbei.cbBlob :=StrLen(blob); dbei.pBlob :=pByte(blob); diff --git a/plugins/AddContactPlus/src/addcontact.cpp b/plugins/AddContactPlus/src/addcontact.cpp index 3acc9154e0..d64914d12f 100644 --- a/plugins/AddContactPlus/src/addcontact.cpp +++ b/plugins/AddContactPlus/src/addcontact.cpp @@ -289,16 +289,16 @@ INT_PTR CALLBACK AddContactDlgProc(HWND hdlg, UINT msg, WPARAM wparam, LPARAM) db_unset(hContact, "CList", "NotOnList"); if (IsDlgButtonChecked(hdlg, IDC_ADDED)) - CallContactService(hContact, PSS_ADDED, 0, 0); + ProtoChainSend(hContact, PSS_ADDED, 0, 0); if (IsDlgButtonChecked(hdlg, IDC_AUTH)) { DWORD flags = CallProtoService(acs->proto, PS_GETCAPS, PFLAGNUM_4, 0); if (flags & PF4_NOCUSTOMAUTH) - CallContactService(hContact, PSS_AUTHREQUEST, 0, 0); + ProtoChainSend(hContact, PSS_AUTHREQUEST, 0, 0); else { TCHAR tszReason[512]; GetDlgItemText(hdlg, IDC_AUTHREQ, tszReason, _countof(tszReason)); - CallContactService(hContact, PSS_AUTHREQUEST, 0, (LPARAM)tszReason); + ProtoChainSend(hContact, PSS_AUTHREQUEST, 0, (LPARAM)tszReason); } } } diff --git a/plugins/Boltun/src/actionQueue.cpp b/plugins/Boltun/src/actionQueue.cpp index 3eaa6200f0..3d7d322bf9 100644 --- a/plugins/Boltun/src/actionQueue.cpp +++ b/plugins/Boltun/src/actionQueue.cpp @@ -86,7 +86,7 @@ static void TimerAnswer(MCONTACT hContact, const TalkBot::MessageInfo* info) T2Utf msg(info->Answer.c_str()); size_t bufsize = mir_strlen(msg); - CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)msg); + ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)msg); DBEVENTINFO dbei = { 0 }; dbei.cbSize = sizeof(dbei); diff --git a/plugins/BuddyPounce/src/main.cpp b/plugins/BuddyPounce/src/main.cpp index 9aa3c6326e..2203a20d8d 100644 --- a/plugins/BuddyPounce/src/main.cpp +++ b/plugins/BuddyPounce/src/main.cpp @@ -144,7 +144,7 @@ int CheckDate(MCONTACT hContact) void SendPounce(TCHAR *text, MCONTACT hContact) { - if (HANDLE hSendId = (HANDLE)CallContactService(hContact, PSS_MESSAGE, 0, T2Utf(text))) + if (HANDLE hSendId = (HANDLE)ProtoChainSend(hContact, PSS_MESSAGE, 0, T2Utf(text))) WindowList_Add(hWindowList, (HWND)hSendId, hContact); } diff --git a/plugins/Clist_modern/src/modern_awaymsg.cpp b/plugins/Clist_modern/src/modern_awaymsg.cpp index 0cdae03c29..f18fc05e10 100644 --- a/plugins/Clist_modern/src/modern_awaymsg.cpp +++ b/plugins/Clist_modern/src/modern_awaymsg.cpp @@ -92,7 +92,7 @@ static void amThreadProc(void *) HANDLE ACK = 0; if (pdnce->ApparentMode != ID_STATUS_OFFLINE) //don't ask if contact is always invisible (should be done with protocol) - ACK = (HANDLE)CallContactService(hContact, PSS_GETAWAYMSG, 0, 0); + ACK = (HANDLE)ProtoChainSend(hContact, PSS_GETAWAYMSG, 0, 0); if (!ACK) { ACKDATA ack; ack.hContact = hContact; diff --git a/plugins/Clist_nicer/src/clistmenus.cpp b/plugins/Clist_nicer/src/clistmenus.cpp index cf2ece8265..a36112488e 100644 --- a/plugins/Clist_nicer/src/clistmenus.cpp +++ b/plugins/Clist_nicer/src/clistmenus.cpp @@ -315,7 +315,7 @@ static INT_PTR CALLBACK IgnoreDialogProc(HWND hWnd, UINT msg, WPARAM wParam, LPA else if (IsDlgButtonChecked(hWnd, IDC_IGN_ALWAYSOFFLINE)) wApparentMode = ID_STATUS_OFFLINE; - CallContactService(hContact, PSS_SETAPPARENTMODE, (WPARAM)wApparentMode, 0); + ProtoChainSend(hContact, PSS_SETAPPARENTMODE, (WPARAM)wApparentMode, 0); SendMessage(hWnd, WM_USER + 120, 0, 0); } } diff --git a/plugins/CmdLine/src/mimcmd_handlers.cpp b/plugins/CmdLine/src/mimcmd_handlers.cpp index f5454b2f2f..1dd0509bf3 100644 --- a/plugins/CmdLine/src/mimcmd_handlers.cpp +++ b/plugins/CmdLine/src/mimcmd_handlers.cpp @@ -785,7 +785,7 @@ void HandleMessageCommand(PCommand command, TArgument *argv, int argc, PReply re if (hContact) { bShouldProcessAcks = TRUE; - HANDLE hProcess = (HANDLE)CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)message); + HANDLE hProcess = (HANDLE)ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)message); const int MAX_COUNT = 60; int counter = 0; while (((ack = GetAck(hProcess)) == NULL) && (counter < MAX_COUNT)) { diff --git a/plugins/ContactsPlus/src/send.cpp b/plugins/ContactsPlus/src/send.cpp index 42665b0183..38505ded75 100644 --- a/plugins/ContactsPlus/src/send.cpp +++ b/plugins/ContactsPlus/src/send.cpp @@ -114,7 +114,7 @@ void TSendContactsData::AddContact(MCONTACT hContact1) int TSendContactsData::SendContactsPacket(HWND hwndDlg, MCONTACT *phContacts, int nContacts1) { - HANDLE hProcc = (HANDLE)CallContactService(hContact, PSS_CONTACTS, MAKEWPARAM(0, nContacts1), (LPARAM)phContacts); + HANDLE hProcc = (HANDLE)ProtoChainSend(hContact, PSS_CONTACTS, MAKEWPARAM(0, nContacts1), (LPARAM)phContacts); if (!hProcc) { // on trivial error - do not close dialog ShowErrorDlg(hwndDlg, "Contacts transfer failed!", FALSE); @@ -293,7 +293,7 @@ INT_PTR CALLBACK SendDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPara case MSGERROR_RETRY:// resend timeouted packets for (int i = 0; i < wndData->uacklist.Count; i++) { TAckData *lla = g_aAckData.Remove(wndData->uacklist.Items[i]); - HANDLE hProcc = (HANDLE)CallContactService(wndData->hContact, PSS_CONTACTS, MAKEWPARAM(0, lla->nContacts), (LPARAM)lla->aContacts); + HANDLE hProcc = (HANDLE)ProtoChainSend(wndData->hContact, PSS_CONTACTS, MAKEWPARAM(0, lla->nContacts), (LPARAM)lla->aContacts); if (!hProcc) { // if fatal do not include wndData->uacklist.Remove(wndData->uacklist.Items[i]); diff --git a/plugins/Dropbox/src/dropbox_commands.cpp b/plugins/Dropbox/src/dropbox_commands.cpp index 4a369bb7f3..397daecf49 100644 --- a/plugins/Dropbox/src/dropbox_commands.cpp +++ b/plugins/Dropbox/src/dropbox_commands.cpp @@ -15,7 +15,7 @@ void CDropbox::CommandHelp(void *arg) help += "\"/delete \" \t- "; help += T2Utf(TranslateT("deletes file or folder with specified path (\"path\" is relative from root folder)")); ProtoBroadcastAck(MODULE, param->hContact, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, param->hProcess, 0); - CallContactService(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)help.GetBuffer()); + ProtoChainSend(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)help.GetBuffer()); } void CDropbox::CommandList(void *arg) @@ -27,7 +27,7 @@ void CDropbox::CommandList(void *arg) if (path[0] == NULL) { CMStringA error(FORMAT, T2Utf(TranslateT("\"%s\" command has invalid parameter.\nUse \"/help\" for more info.")), "/share"); ProtoBroadcastAck(MODULE, param->hContact, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, param->hProcess, 0); - CallContactService(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)error.GetBuffer()); + ProtoChainSend(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)error.GetBuffer()); return; } @@ -61,7 +61,7 @@ void CDropbox::CommandList(void *arg) } ProtoBroadcastAck(MODULE, param->hContact, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, param->hProcess, 0); - CallContactService(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)message.GetBuffer()); + ProtoChainSend(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)message.GetBuffer()); } void CDropbox::CommandShare(void *arg) @@ -73,7 +73,7 @@ void CDropbox::CommandShare(void *arg) if (path[0] == NULL) { CMStringA error(FORMAT, T2Utf(TranslateT("\"%s\" command has invalid parameter.\nUse \"/help\" for more info.")), "/share"); ProtoBroadcastAck(MODULE, param->hContact, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, param->hProcess, 0); - CallContactService(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)error.GetBuffer()); + ProtoChainSend(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)error.GetBuffer()); return; } @@ -96,7 +96,7 @@ void CDropbox::CommandShare(void *arg) CMStringA link = root.at("url").as_string().c_str(); ProtoBroadcastAck(MODULE, param->hContact, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, param->hProcess, 0); - CallContactService(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)link.GetBuffer()); + ProtoChainSend(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)link.GetBuffer()); } void CDropbox::CommandSearch(void *arg) @@ -107,7 +107,7 @@ void CDropbox::CommandSearch(void *arg) if (query == NULL) { CMStringA error(FORMAT, T2Utf(TranslateT("\"%s\" command has invalid parameter.\nUse \"/help\" for more info.")), "/search"); ProtoBroadcastAck(MODULE, param->hContact, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, param->hProcess, 0); - CallContactService(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)error.GetBuffer()); + ProtoChainSend(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)error.GetBuffer()); return; } @@ -141,7 +141,7 @@ void CDropbox::CommandSearch(void *arg) } ProtoBroadcastAck(MODULE, param->hContact, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, param->hProcess, 0); - CallContactService(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)message.GetBuffer()); + ProtoChainSend(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)message.GetBuffer()); } void CDropbox::CommandDelete(void *arg) @@ -153,7 +153,7 @@ void CDropbox::CommandDelete(void *arg) if (path[0] == NULL) { CMStringA error(FORMAT, T2Utf(TranslateT("\"%s\" command has invalid parameter.\nUse \"/help\" for more info.")), "/delete"); ProtoBroadcastAck(MODULE, param->hContact, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, param->hProcess, 0); - CallContactService(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)error.GetBuffer()); + ProtoChainSend(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)error.GetBuffer()); return; } @@ -167,7 +167,7 @@ void CDropbox::CommandDelete(void *arg) CMStringA message(FORMAT, "%s %s", path, T2Utf(TranslateT("is deleted"))); ProtoBroadcastAck(MODULE, param->hContact, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, param->hProcess, 0); - CallContactService(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)message.GetBuffer()); + ProtoChainSend(param->instance->GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)message.GetBuffer()); } catch (DropboxException &ex) { diff --git a/plugins/Dropbox/src/dropbox_services.cpp b/plugins/Dropbox/src/dropbox_services.cpp index ead7cac8f1..6d6100568f 100644 --- a/plugins/Dropbox/src/dropbox_services.cpp +++ b/plugins/Dropbox/src/dropbox_services.cpp @@ -147,7 +147,7 @@ INT_PTR CDropbox::ProtoSendMessage(WPARAM, LPARAM lParam) ProtoBroadcastAck(MODULE, pccsd->hContact, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, 0, 0); char help[1024]; mir_snprintf(help, Translate("\"%s\" is not valid.\nUse \"/help\" for more info."), szMessage); - CallContactService(GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)help); + ProtoChainSend(GetDefaultContact(), PSR_MESSAGE, 0, (LPARAM)help); return 0; } diff --git a/plugins/Dropbox/src/dropbox_utils.cpp b/plugins/Dropbox/src/dropbox_utils.cpp index 7976f08985..67994b6e1b 100644 --- a/plugins/Dropbox/src/dropbox_utils.cpp +++ b/plugins/Dropbox/src/dropbox_utils.cpp @@ -118,7 +118,7 @@ void CDropbox::SendToContact(MCONTACT hContact, const TCHAR *data) } char *message = mir_utf8encodeT(data); - if (CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)message) != ACKRESULT_FAILED) + if (ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)message) != ACKRESULT_FAILED) AddEventToDb(hContact, EVENTTYPE_MESSAGE, DBEF_UTF | DBEF_SENT, (DWORD)mir_strlen(message), (PBYTE)message); } diff --git a/plugins/FTPFileYM/src/job_upload.cpp b/plugins/FTPFileYM/src/job_upload.cpp index c0d4cebc12..cc21b299cc 100644 --- a/plugins/FTPFileYM/src/job_upload.cpp +++ b/plugins/FTPFileYM/src/job_upload.cpp @@ -93,7 +93,7 @@ void UploadJob::autoSend() dbei.cbBlob = (DWORD)mir_strlen(m_szFileLink) + 1; dbei.pBlob = (PBYTE)m_szFileLink; db_event_add(m_hContact, &dbei); - CallContactService(m_hContact, PSS_MESSAGE, 0, (LPARAM)m_szFileLink); + ProtoChainSend(m_hContact, PSS_MESSAGE, 0, (LPARAM)m_szFileLink); CallServiceSync(MS_MSG_SENDMESSAGE, (WPARAM)m_hContact, 0); } diff --git a/plugins/FileAsMessage/src/dialog.cpp b/plugins/FileAsMessage/src/dialog.cpp index 8092c804a8..ad2b494846 100644 --- a/plugins/FileAsMessage/src/dialog.cpp +++ b/plugins/FileAsMessage/src/dialog.cpp @@ -855,7 +855,7 @@ int FILEECHO::sendCmd(int id, int cmd, char *szParam, char *szPrefix) mir_snprintf(buf, buflen, "%s%c%s", szServicePrefix, cCmdList[cmd], szParam); else mir_snprintf(buf, buflen, "%s%c%s%s", szServicePrefix, cCmdList[cmd], szPrefix, szParam); - retval = CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)buf); + retval = ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)buf); free(buf); updateProgress(); return retval; diff --git a/plugins/IEView/src/external_funcs.cpp b/plugins/IEView/src/external_funcs.cpp index 829ebefe36..d5c75e5e89 100644 --- a/plugins/IEView/src/external_funcs.cpp +++ b/plugins/IEView/src/external_funcs.cpp @@ -67,7 +67,7 @@ namespace External WPARAM wParam = Var_To(pDispParams->rgvarg[1], wType); LPARAM lParam = Var_To(pDispParams->rgvarg[0], lType); - INT_PTR res = CallContactService(hContact, _T2A((TCHAR*)szName), wParam, lParam); + INT_PTR res = ProtoChainSend(hContact, _T2A((TCHAR*)szName), wParam, lParam); if (wType == 'A' || wType == 'U') mir_free((void*)wParam); if (lType == 'A' || lType == 'U') mir_free((void*)lParam); diff --git a/plugins/MenuItemEx/src/main.cpp b/plugins/MenuItemEx/src/main.cpp index 9f8c38e9b6..8ff3733012 100644 --- a/plugins/MenuItemEx/src/main.cpp +++ b/plugins/MenuItemEx/src/main.cpp @@ -403,7 +403,7 @@ INT_PTR CALLBACK AuthReqWndProc(HWND hdlg, UINT msg, WPARAM wparam, LPARAM lpara { TCHAR tszReason[256] = { 0 }; GetDlgItemText(hdlg, IDC_REASON, tszReason, _countof(tszReason)); - CallContactService(hcontact, PSS_AUTHREQUEST, 0, (LPARAM)tszReason); + ProtoChainSend(hcontact, PSS_AUTHREQUEST, 0, (LPARAM)tszReason); } // fall through case IDCANCEL: DestroyWindow(hdlg); @@ -428,7 +428,7 @@ INT_PTR onSendAuthRequest(WPARAM wparam, LPARAM) DWORD flags = CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_4, 0); if (flags&PF4_NOCUSTOMAUTH) - CallContactService(hContact, PSS_AUTHREQUEST, 0, (LPARAM)_T("")); + ProtoChainSend(hContact, PSS_AUTHREQUEST, 0, (LPARAM)_T("")); else CreateDialogParam(hinstance, MAKEINTRESOURCE(IDD_AUTHREQ), pcli->hwndContactList, AuthReqWndProc, (LPARAM)hContact); @@ -438,7 +438,7 @@ INT_PTR onSendAuthRequest(WPARAM wparam, LPARAM) INT_PTR onSendAdded(WPARAM wparam, LPARAM) { MCONTACT hContact = (MCONTACT) wparam; - CallContactService(hContact, PSS_ADDED, 0, 0); + ProtoChainSend(hContact, PSS_ADDED, 0, 0); return 0; } @@ -446,7 +446,7 @@ INT_PTR onSendAdded(WPARAM wparam, LPARAM) INT_PTR onSetInvis(WPARAM wparam, LPARAM) { MCONTACT hContact = (MCONTACT) wparam; - CallContactService(hContact, PSS_SETAPPARENTMODE, (db_get_w(hContact, GetContactProto(hContact), "ApparentMode", 0) == ID_STATUS_OFFLINE) ? 0 : ID_STATUS_OFFLINE, 0); + ProtoChainSend(hContact, PSS_SETAPPARENTMODE, (db_get_w(hContact, GetContactProto(hContact), "ApparentMode", 0) == ID_STATUS_OFFLINE) ? 0 : ID_STATUS_OFFLINE, 0); return 0; } @@ -454,7 +454,7 @@ INT_PTR onSetInvis(WPARAM wparam, LPARAM) INT_PTR onSetVis(WPARAM wparam, LPARAM) { MCONTACT hContact = (MCONTACT) wparam; - CallContactService(hContact, PSS_SETAPPARENTMODE, (db_get_w(hContact, GetContactProto(hContact), "ApparentMode", 0) == ID_STATUS_ONLINE) ? 0 : ID_STATUS_ONLINE, 0); + ProtoChainSend(hContact, PSS_SETAPPARENTMODE, (db_get_w(hContact, GetContactProto(hContact), "ApparentMode", 0) == ID_STATUS_ONLINE) ? 0 : ID_STATUS_ONLINE, 0); return 0; } diff --git a/plugins/MirFox/src/MirandaUtils.cpp b/plugins/MirFox/src/MirandaUtils.cpp index 5743be7a08..8c4861580a 100644 --- a/plugins/MirFox/src/MirandaUtils.cpp +++ b/plugins/MirFox/src/MirandaUtils.cpp @@ -286,7 +286,7 @@ void MirandaUtils::sendMessage(ActionThreadArgStruct* args, MFENUM_SEND_MESSAGE_ HANDLE MirandaUtils::sendMessageMiranda(MCONTACT hContact, char *msgBuffer) { - return (HANDLE)CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)msgBuffer); + return (HANDLE)ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)msgBuffer); } void MirandaUtils::addMessageToDB(MCONTACT hContact, char* msgBuffer, std::size_t bufSize, char* targetHandleSzProto) diff --git a/plugins/MirLua/src/m_message.cpp b/plugins/MirLua/src/m_message.cpp index 707489b24c..ec5dac43bf 100644 --- a/plugins/MirLua/src/m_message.cpp +++ b/plugins/MirLua/src/m_message.cpp @@ -47,7 +47,7 @@ static int message_Send(lua_State *L) mir_free((void*)gce.ptszText); } - else if ((res = ::CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)message)) != ACKRESULT_FAILED) + else if ((res = ::ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)message)) != ACKRESULT_FAILED) { DBEVENTINFO dbei; dbei.cbSize = sizeof(dbei); diff --git a/plugins/MirOTR/src/otr.cpp b/plugins/MirOTR/src/otr.cpp index 60f4dd4136..8125247cd2 100644 --- a/plugins/MirOTR/src/otr.cpp +++ b/plugins/MirOTR/src/otr.cpp @@ -138,7 +138,7 @@ extern "C" { DEBUGOUT_T("OTR_GUI_INJECT_MESSAGE\n"); MCONTACT hContact = (UINT_PTR)opdata; if (db_get_w(hContact, protocol, "Status", ID_STATUS_OFFLINE) != ID_STATUS_OFFLINE) - CallContactService(hContact, PSS_MESSAGE, PREF_BYPASS_OTR, (LPARAM)message); + ProtoChainSend(hContact, PSS_MESSAGE, PREF_BYPASS_OTR, (LPARAM)message); } /* When the list of ConnContexts changes (including a change in @@ -383,7 +383,7 @@ extern "C" { TCHAR* tmp = mir_utf8decodeT(message); mir_snwprintf(msg, _countof(msg), TranslateT("The following message received from '%s' was NOT encrypted:\n\n%s"), contact, tmp); mir_free(tmp); - CallContactService(hContact, PSS_MESSAGE, PREF_BYPASS_OTR, (LPARAM)message); + ProtoChainSend(hContact, PSS_MESSAGE, PREF_BYPASS_OTR, (LPARAM)message); break; } case OTRL_MSGEVENT_RCVDMSG_FOR_OTHER_INSTANCE: // title = TranslateT("Received message for a different session"); diff --git a/plugins/MirandaG15/src/CAppletManager.cpp b/plugins/MirandaG15/src/CAppletManager.cpp index e5ffaffd22..1ce1f559bb 100644 --- a/plugins/MirandaG15/src/CAppletManager.cpp +++ b/plugins/MirandaG15/src/CAppletManager.cpp @@ -791,7 +791,7 @@ MEVENT CAppletManager::SendMessageToContact(MCONTACT hContact, tstring strMessag memcpy(pJob->pcBuffer, szMsgUtf, pJob->iBufferSize); mir_free(szMsgUtf); - pJob->hEvent = (MEVENT)CallContactService(pJob->hContact, PSS_MESSAGE, 0, (LPARAM)pJob->pcBuffer); + pJob->hEvent = (MEVENT)ProtoChainSend(pJob->hContact, PSS_MESSAGE, 0, (LPARAM)pJob->pcBuffer); CAppletManager::GetInstance()->AddMessageJob(pJob); return pJob->hEvent; } diff --git a/plugins/NewAwaySysMod/src/MsgEventAdded.cpp b/plugins/NewAwaySysMod/src/MsgEventAdded.cpp index 6b8d51228f..5efa887ed5 100644 --- a/plugins/NewAwaySysMod/src/MsgEventAdded.cpp +++ b/plugins/NewAwaySysMod/src/MsgEventAdded.cpp @@ -62,7 +62,7 @@ void __cdecl AutoreplyDelayThread(void *_ad) T2Utf pszReply(ad->Reply); int ReplyLen = (int)mir_strlen(pszReply); - CallContactService(ad->hContact, PSS_MESSAGE, 0, (LPARAM)pszReply); + ProtoChainSend(ad->hContact, PSS_MESSAGE, 0, (LPARAM)pszReply); if (g_AutoreplyOptPage.GetDBValueCopy(IDC_REPLYDLG_LOGREPLY)) { // store in the history DBEVENTINFO dbeo = { 0 }; diff --git a/plugins/NewAwaySysMod/src/ReadAwayMsg.cpp b/plugins/NewAwaySysMod/src/ReadAwayMsg.cpp index 1be72fc1aa..a095882f72 100644 --- a/plugins/NewAwaySysMod/src/ReadAwayMsg.cpp +++ b/plugins/NewAwaySysMod/src/ReadAwayMsg.cpp @@ -59,7 +59,7 @@ static INT_PTR CALLBACK ReadAwayMsgDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (LONG_PTR)awayData); awayData->hContact = lParam; awayData->hAwayMsgEvent = HookEventMessage(ME_PROTO_ACK, hwndDlg, UM_RAM_AWAYMSGACK); - awayData->hSeq = (HANDLE)CallContactService(awayData->hContact, PSS_GETAWAYMSG, 0, 0); + awayData->hSeq = (HANDLE)ProtoChainSend(awayData->hContact, PSS_GETAWAYMSG, 0, 0); WindowList_Add(g_hReadWndList, hwndDlg, awayData->hContact); TCHAR str[256], format[128]; diff --git a/plugins/NewXstatusNotify/src/popup.cpp b/plugins/NewXstatusNotify/src/popup.cpp index 7aed434811..f305ee1bd8 100644 --- a/plugins/NewXstatusNotify/src/popup.cpp +++ b/plugins/NewXstatusNotify/src/popup.cpp @@ -106,7 +106,7 @@ void QueryAwayMessage(HWND hWnd, PLUGINDATA *pdp) //The following HookEventMessage will hook the ME_PROTO_ACK event and send a WM_AWAYMSG to hWnd when the hooks get notified. pdp->hAwayMsgHook = HookEventParam(ME_PROTO_ACK, AwayMsgHook, (LPARAM)pdp); //The following instruction asks Miranda to retrieve the away message and associates a hProcess (handle) to this request. This handle will appear in the ME_PROTO_ACK event. - pdp->hAwayMsgProcess = (HANDLE)CallContactService(hContact, PSS_GETAWAYMSG, 0, 0); + pdp->hAwayMsgProcess = (HANDLE)ProtoChainSend(hContact, PSS_GETAWAYMSG, 0, 0); } } } diff --git a/plugins/New_GPG/src/messages.cpp b/plugins/New_GPG/src/messages.cpp index 61db0a7d0e..e04ccc6e7f 100755 --- a/plugins/New_GPG/src/messages.cpp +++ b/plugins/New_GPG/src/messages.cpp @@ -170,7 +170,7 @@ void RecvMsgSvc_func(MCONTACT hContact, std::wstring str, char *msg, DWORD, DWOR HistoryLog(hContact, db_event(msg, timestamp, 0, dbflags)); BYTE enc = db_get_b(hContact, szGPGModuleName, "GPGEncryption", 0); db_set_b(hContact, szGPGModuleName, "GPGEncryption", 0); - CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)"Unable to decrypt PGP encrypted message"); + ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)"Unable to decrypt PGP encrypted message"); HistoryLog(hContact, db_event("Error message sent", 0, 0, DBEF_SENT)); db_set_b(hContact, szGPGModuleName, "GPGEncryption", enc); return; @@ -208,7 +208,7 @@ void RecvMsgSvc_func(MCONTACT hContact, std::wstring str, char *msg, DWORD, DWOR if (_terminate) { BYTE enc = db_get_b(hContact, szGPGModuleName, "GPGEncryption", 0); db_set_b(hContact, szGPGModuleName, "GPGEncryption", 0); - CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)"Unable to decrypt PGP encrypted message"); + ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)"Unable to decrypt PGP encrypted message"); HistoryLog(hContact, db_event("Error message sent", 0, 0, DBEF_SENT)); db_set_b(hContact, szGPGModuleName, "GPGEncryption", enc); break; @@ -249,7 +249,7 @@ void RecvMsgSvc_func(MCONTACT hContact, std::wstring str, char *msg, DWORD, DWOR HistoryLog(hContact, db_event(msg, timestamp, 0, dbflags)); BYTE enc = db_get_b(hContact, szGPGModuleName, "GPGEncryption", 0); db_set_b(hContact, szGPGModuleName, "GPGEncryption", 0); - CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)"Unable to decrypt PGP encrypted message"); + ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)"Unable to decrypt PGP encrypted message"); HistoryLog(hContact, db_event("Error message sent", 0, 0, DBEF_SENT)); db_set_b(hContact, szGPGModuleName, "GPGEncryption", enc); return; @@ -278,7 +278,7 @@ void RecvMsgSvc_func(MCONTACT hContact, std::wstring str, char *msg, DWORD, DWOR HistoryLog(hContact, db_event(msg, timestamp, 0, dbflags)); BYTE enc = db_get_b(hContact, szGPGModuleName, "GPGEncryption", 0); db_set_b(hContact, szGPGModuleName, "GPGEncryption", 0); - CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)"Unable to decrypt PGP encrypted message"); + ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)"Unable to decrypt PGP encrypted message"); HistoryLog(hContact, db_event("Error message sent", 0, 0, DBEF_SENT)); db_set_b(hContact, szGPGModuleName, "GPGEncryption", enc); return; @@ -311,7 +311,7 @@ void RecvMsgSvc_func(MCONTACT hContact, std::wstring str, char *msg, DWORD, DWOR HistoryLog(hContact, db_event(msg, timestamp, 0, dbflags)); BYTE enc = db_get_b(hContact, szGPGModuleName, "GPGEncryption", 0); db_set_b(hContact, szGPGModuleName, "GPGEncryption", 0); - CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)"Unable to decrypt PGP encrypted message"); + ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)"Unable to decrypt PGP encrypted message"); HistoryLog(hContact, db_event("Error message sent", 0, 0, DBEF_SENT)); db_set_b(hContact, szGPGModuleName, "GPGEncryption", enc); return; @@ -354,7 +354,7 @@ void RecvMsgSvc_func(MCONTACT hContact, std::wstring str, char *msg, DWORD, DWOR HistoryLog(hContact, db_event(msg, timestamp, 0, dbflags)); BYTE enc = db_get_b(hContact, szGPGModuleName, "GPGEncryption", 0); db_set_b(hContact, szGPGModuleName, "GPGEncryption", 0); - CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)"Unable to decrypt PGP encrypted message"); + ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)"Unable to decrypt PGP encrypted message"); HistoryLog(hContact, db_event("Error message sent", 0, 0, DBEF_SENT)); db_set_b(hContact, szGPGModuleName, "GPGEncryption", enc); return; @@ -588,7 +588,7 @@ INT_PTR RecvMsgSvc(WPARAM w, LPARAM l) string str1 = "-----PGP KEY RESPONSE-----"; str1.append(tmp); - CallContactService(ccs->hContact, PSS_MESSAGE, 0, (LPARAM)str1.c_str()); + ProtoChainSend(ccs->hContact, PSS_MESSAGE, 0, (LPARAM)str1.c_str()); if (enc_state) db_set_b(ccs->hContact, szGPGModuleName, "GPGEncryption", 1); } @@ -606,7 +606,7 @@ INT_PTR RecvMsgSvc(WPARAM w, LPARAM l) strncpy(cap.caps, "GPGAutoExchange", sizeof(cap.caps)); if (CallProtoService(proto, PS_ICQ_CHECKCAPABILITY, (WPARAM)ccs->hContact, (LPARAM)&cap)) { - CallContactService(ccs->hContact, PSS_MESSAGE, 0, (LPARAM)"-----PGP KEY REQUEST-----"); + ProtoChainSend(ccs->hContact, PSS_MESSAGE, 0, (LPARAM)"-----PGP KEY REQUEST-----"); return 0; } } @@ -634,7 +634,7 @@ INT_PTR RecvMsgSvc(WPARAM w, LPARAM l) mir_free(caps); if (str1.find(_T("GPG_Key_Auto_Exchange:0")) != string::npos) { - CallContactService(ccs->hContact, PSS_MESSAGE, 0, (LPARAM)"-----PGP KEY REQUEST-----"); + ProtoChainSend(ccs->hContact, PSS_MESSAGE, 0, (LPARAM)"-----PGP KEY REQUEST-----"); return 0; } } @@ -672,7 +672,7 @@ void SendMsgSvc_func(MCONTACT hContact, char *msg, DWORD flags) if (!tmp[0]) { mir_free(tmp); HistoryLog(hContact, db_event("Failed to encrypt message with GPG (not found key for encryption in db)", 0, 0, DBEF_SENT)); - CallContactService(hContact, PSS_MESSAGE, flags, (LPARAM)msg); + ProtoChainSend(hContact, PSS_MESSAGE, flags, (LPARAM)msg); return; } if (!bJabberAPI || !bIsMiranda09) //force jabber to handle encrypted message by itself @@ -734,12 +734,12 @@ void SendMsgSvc_func(MCONTACT hContact, char *msg, DWORD flags) params.result = &result; if (!gpg_launcher(params)) { //mir_free(msg); - CallContactService(hContact, PSS_MESSAGE, flags, (LPARAM)msg); + ProtoChainSend(hContact, PSS_MESSAGE, flags, (LPARAM)msg); return; } if (result == pxNotFound) { //mir_free(msg); - CallContactService(hContact, PSS_MESSAGE, flags, (LPARAM)msg); + ProtoChainSend(hContact, PSS_MESSAGE, flags, (LPARAM)msg); return; } } @@ -757,11 +757,11 @@ void SendMsgSvc_func(MCONTACT hContact, char *msg, DWORD flags) params.code = &code; params.result = &result; if (!gpg_launcher(params)) { - CallContactService(hContact, PSS_MESSAGE, flags, (LPARAM)msg); + ProtoChainSend(hContact, PSS_MESSAGE, flags, (LPARAM)msg); return; } if (result == pxNotFound) { - CallContactService(hContact, PSS_MESSAGE, flags, (LPARAM)msg); + ProtoChainSend(hContact, PSS_MESSAGE, flags, (LPARAM)msg); return; } //TODO: check gpg output for errors @@ -781,7 +781,7 @@ void SendMsgSvc_func(MCONTACT hContact, char *msg, DWORD flags) if (out.find("usage: ") != string::npos) { MessageBox(0, TranslateT("Something is wrong, GPG does not understand us, aborting encryption."), TranslateT("Warning"), MB_OK); //mir_free(msg); - CallContactService(hContact, PSS_MESSAGE, flags, (LPARAM)msg); + ProtoChainSend(hContact, PSS_MESSAGE, flags, (LPARAM)msg); if(!bDebugLog) { boost::system::error_code e; @@ -830,7 +830,7 @@ void SendMsgSvc_func(MCONTACT hContact, char *msg, DWORD flags) HistoryLog(hContact, db_event("Failed to encrypt message with GPG", 0, 0, DBEF_SENT)); if (bDebugLog) debuglog << std::string(time_str() + ": info: Failed to encrypt message with GPG"); - CallContactService(hContact, PSS_MESSAGE, flags, (LPARAM)msg); + ProtoChainSend(hContact, PSS_MESSAGE, flags, (LPARAM)msg); return; } string str_event = msg; @@ -843,7 +843,7 @@ void SendMsgSvc_func(MCONTACT hContact, char *msg, DWORD flags) debuglog << std::string(time_str() + ": adding event to contact: " + toUTF8(pcli->pfnGetContactDisplayName(hContact, 0)) + " on send message."); fix_line_term(str); - sent_msgs.push_back((HANDLE)CallContactService(hContact, PSS_MESSAGE, flags, (LPARAM)toUTF8(str).c_str())); + sent_msgs.push_back((HANDLE)ProtoChainSend(hContact, PSS_MESSAGE, flags, (LPARAM)toUTF8(str).c_str())); } INT_PTR SendMsgSvc(WPARAM w, LPARAM l) @@ -925,7 +925,7 @@ int HookSendMsg(WPARAM w, LPARAM l) if (CallProtoService(proto2, PS_ICQ_CHECKCAPABILITY, hContact, (LPARAM)&cap)) { if (bDebugLog) debuglog << std::string(time_str() + ": info(autoexchange, icq): sending key requiest, name: " + toUTF8(pcli->pfnGetContactDisplayName(hContact, 0))); - CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)"-----PGP KEY REQUEST-----"); + ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)"-----PGP KEY REQUEST-----"); hcontact_data[hContact].msgs_to_send.push_back((char*)dbei->pBlob); new boost::thread(boost::bind(send_encrypted_msgs_thread, (void*)hContact)); return 0; @@ -953,7 +953,7 @@ int HookSendMsg(WPARAM w, LPARAM l) if (str.find(_T("GPG_Key_Auto_Exchange:0")) != string::npos) { if (bDebugLog) debuglog << std::string(time_str() + ": info(autoexchange, jabber): autoexchange capability found, sending key request, name: " + toUTF8(pcli->pfnGetContactDisplayName(hContact, 0))); - CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)"-----PGP KEY REQUEST-----"); + ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)"-----PGP KEY REQUEST-----"); hcontact_data[hContact].msgs_to_send.push_back((char*)dbei->pBlob); new boost::thread(boost::bind(send_encrypted_msgs_thread, (void*)hContact)); return 0; diff --git a/plugins/New_GPG/src/utilities.cpp b/plugins/New_GPG/src/utilities.cpp index 0ac2d3bec1..97c5999500 100755 --- a/plugins/New_GPG/src/utilities.cpp +++ b/plugins/New_GPG/src/utilities.cpp @@ -168,7 +168,7 @@ INT_PTR SendKey(WPARAM w, LPARAM) if (szMessage[0]) { BYTE enc = db_get_b(hContact, szGPGModuleName, "GPGEncryption", 0); db_set_b(hContact, szGPGModuleName, "GPGEncryption", 0); - CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)szMessage); + ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)szMessage); std::string msg = "Public key "; char *keyid = UniGetContactSettingUtf(NULL, szGPGModuleName, key_id_str.c_str(), ""); if (!keyid[0]) { @@ -1204,7 +1204,7 @@ void send_encrypted_msgs_thread(void *param) list::iterator end = hcontact_data[hContact].msgs_to_send.end(); extern std::list sent_msgs; for (list::iterator p = hcontact_data[hContact].msgs_to_send.begin(); p != end; ++p) { - sent_msgs.push_back((HANDLE)CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)p->c_str())); + sent_msgs.push_back((HANDLE)ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)p->c_str())); HistoryLog(hContact, db_event((char*)p->c_str(), 0, 0, DBEF_SENT)); boost::this_thread::sleep(boost::posix_time::seconds(1)); } diff --git a/plugins/PasteIt/src/PasteIt.cpp b/plugins/PasteIt/src/PasteIt.cpp index d9ac4e2b13..a9f1a47ece 100644 --- a/plugins/PasteIt/src/PasteIt.cpp +++ b/plugins/PasteIt/src/PasteIt.cpp @@ -134,7 +134,7 @@ void PasteIt(MCONTACT hContact, int mode) dbei.cbBlob = (DWORD)mir_strlen(pasteToWeb->szFileLink) + 1; dbei.pBlob = (PBYTE)pasteToWeb->szFileLink; db_event_add(hContact, &dbei); - CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)pasteToWeb->szFileLink); + ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)pasteToWeb->szFileLink); } else { diff --git a/plugins/Popup/src/popup_wnd2.cpp b/plugins/Popup/src/popup_wnd2.cpp index 9420cf4e77..d0db367d5a 100644 --- a/plugins/Popup/src/popup_wnd2.cpp +++ b/plugins/Popup/src/popup_wnd2.cpp @@ -840,7 +840,7 @@ LRESULT CALLBACK ReplyEditWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM { T2Utf buf(msg); - CallContactService(dat->hContact, PSS_MESSAGE, 0, buf); + ProtoChainSend(dat->hContact, PSS_MESSAGE, 0, buf); AddMessageToDB(dat->hContact, buf); } // fall through diff --git a/plugins/Scriver/src/sendqueue.cpp b/plugins/Scriver/src/sendqueue.cpp index 1b2b358bdb..908056ee08 100644 --- a/plugins/Scriver/src/sendqueue.cpp +++ b/plugins/Scriver/src/sendqueue.cpp @@ -181,5 +181,5 @@ void SendSendQueueItem(MessageSendQueueItem* item) } lock.unlock(); - item->hSendId = (HANDLE)CallContactService(item->hContact, PSS_MESSAGE, item->flags, (LPARAM)item->sendBuffer); + item->hSendId = (HANDLE)ProtoChainSend(item->hContact, PSS_MESSAGE, item->flags, (LPARAM)item->sendBuffer); } diff --git a/plugins/SecureIM/src/crypt_misc.cpp b/plugins/SecureIM/src/crypt_misc.cpp index 097ce2b873..dfda8a284a 100644 --- a/plugins/SecureIM/src/crypt_misc.cpp +++ b/plugins/SecureIM/src/crypt_misc.cpp @@ -25,7 +25,7 @@ static void sttWaitForExchange(LPVOID param) Sent_NetLog("Sent (unencrypted) message from queue: %s", ptrMessage->Message); // send unencrypted messages - CallContactService(ptr->hContact, PSS_MESSAGE, (WPARAM)ptrMessage->wParam | PREF_METANODB, (LPARAM)ptrMessage->Message); + ProtoChainSend(ptr->hContact, PSS_MESSAGE, (WPARAM)ptrMessage->wParam | PREF_METANODB, (LPARAM)ptrMessage->Message); mir_free(ptrMessage->Message); pWM tmp = ptrMessage; ptrMessage = ptrMessage->nextMessage; @@ -45,7 +45,7 @@ static void sttWaitForExchange(LPVOID param) Sent_NetLog("Sent (encrypted) message from queue: %s", ptrMessage->Message); // send unencrypted messages - CallContactService(ptr->hContact, PSS_MESSAGE, (WPARAM)ptrMessage->wParam | PREF_METANODB, (LPARAM)ptrMessage->Message); + ProtoChainSend(ptr->hContact, PSS_MESSAGE, (WPARAM)ptrMessage->wParam | PREF_METANODB, (LPARAM)ptrMessage->Message); mir_free(ptrMessage->Message); pWM tmp = ptrMessage; ptrMessage = ptrMessage->nextMessage; diff --git a/plugins/SecureIM/src/splitmsg.cpp b/plugins/SecureIM/src/splitmsg.cpp index c502c5c16f..db0cf190a2 100644 --- a/plugins/SecureIM/src/splitmsg.cpp +++ b/plugins/SecureIM/src/splitmsg.cpp @@ -102,7 +102,7 @@ int splitMessageSend(pUinKey ptr, LPSTR szMsg) while (*buf) { len = (int)mir_strlen(buf); LPSTR tmp = mir_strdup(buf); - ret = CallContactService(ptr->hContact, PSS_MESSAGE, (WPARAM)PREF_METANODB, (LPARAM)tmp); + ret = ProtoChainSend(ptr->hContact, PSS_MESSAGE, (WPARAM)PREF_METANODB, (LPARAM)tmp); mir_free(tmp); buf += len + 1; } @@ -110,5 +110,5 @@ int splitMessageSend(pUinKey ptr, LPSTR szMsg) return ret; } - return (int)CallContactService(ptr->hContact, PSS_MESSAGE, (WPARAM)PREF_METANODB, (LPARAM)szMsg); + return (int)ProtoChainSend(ptr->hContact, PSS_MESSAGE, (WPARAM)PREF_METANODB, (LPARAM)szMsg); } diff --git a/plugins/SecureIM/src/svcs_menu.cpp b/plugins/SecureIM/src/svcs_menu.cpp index a5df00082b..79c12b0b83 100644 --- a/plugins/SecureIM/src/svcs_menu.cpp +++ b/plugins/SecureIM/src/svcs_menu.cpp @@ -7,13 +7,13 @@ INT_PTR __cdecl Service_IsContactSecured(WPARAM wParam, LPARAM) INT_PTR __cdecl Service_CreateIM(WPARAM wParam, LPARAM) { - CallContactService(wParam, PSS_MESSAGE, PREF_METANODB, (LPARAM)SIG_INIT); + ProtoChainSend(wParam, PSS_MESSAGE, PREF_METANODB, (LPARAM)SIG_INIT); return 1; } INT_PTR __cdecl Service_DisableIM(WPARAM wParam, LPARAM) { - CallContactService(wParam, PSS_MESSAGE, PREF_METANODB, (LPARAM)SIG_DEIN); + ProtoChainSend(wParam, PSS_MESSAGE, PREF_METANODB, (LPARAM)SIG_DEIN); return 1; } diff --git a/plugins/SendScreenshotPlus/src/CSend.cpp b/plugins/SendScreenshotPlus/src/CSend.cpp index b2524bf315..01daca3cd9 100644 --- a/plugins/SendScreenshotPlus/src/CSend.cpp +++ b/plugins/SendScreenshotPlus/src/CSend.cpp @@ -82,7 +82,7 @@ void CSend::SetContact(MCONTACT hContact) //--------------------------------------------------------------------------- /*bool CSend::hasCap(unsigned int Flag) { - return (Flag & CallContactService(m_hContact, PS_GETCAPS, PFLAGNUM_1, NULL)) == Flag; + return (Flag & ProtoChainSend(m_hContact, PS_GETCAPS, PFLAGNUM_1, NULL)) == Flag; }// */ //--------------------------------------------------------------------------- @@ -263,7 +263,7 @@ void CSend::svcSendMsgExit(const char* szMessage) m_hOnSend = HookEventObj(ME_PROTO_ACK, OnSend, this); } //start PSS_MESSAGE service - m_hSend = (HANDLE)CallContactService(m_hContact, PSS_MESSAGE, NULL, ptrA(mir_utf8encode(m_szEventMsg))); + m_hSend = (HANDLE)ProtoChainSend(m_hContact, PSS_MESSAGE, NULL, ptrA(mir_utf8encode(m_szEventMsg))); // check we actually got an ft handle back from the protocol if (!m_hSend) { Unhook(); @@ -311,7 +311,7 @@ void CSend::svcSendFileExit() TCHAR* pDesc = mir_tstrdup(m_pszFileDesc); ppFile[0] = mir_tstrdup(m_pszFile); ppFile[1] = NULL; - m_hSend = (HANDLE)CallContactService(m_hContact, PSS_FILE, (WPARAM)pDesc, (LPARAM)ppFile); + m_hSend = (HANDLE)ProtoChainSend(m_hContact, PSS_FILE, (WPARAM)pDesc, (LPARAM)ppFile); mir_free(pDesc); mir_free(ppFile[0]); diff --git a/plugins/SimpleAR/src/Main.cpp b/plugins/SimpleAR/src/Main.cpp index d980a4298a..5ec1972ca5 100644 --- a/plugins/SimpleAR/src/Main.cpp +++ b/plugins/SimpleAR/src/Main.cpp @@ -214,7 +214,7 @@ INT addEvent(WPARAM hContact, LPARAM hDBEvent) else ptszTemp = Utils_ReplaceVarsT(ptszTemp2); T2Utf pszUtf(ptszTemp); - CallContactService(hContact, PSS_MESSAGE, 0, pszUtf); + ProtoChainSend(hContact, PSS_MESSAGE, 0, pszUtf); dbei.cbSize = sizeof(dbei); dbei.eventType = EVENTTYPE_MESSAGE; diff --git a/plugins/SimpleStatusMsg/src/awaymsg.cpp b/plugins/SimpleStatusMsg/src/awaymsg.cpp index 1671584e39..c8b0f37e56 100644 --- a/plugins/SimpleStatusMsg/src/awaymsg.cpp +++ b/plugins/SimpleStatusMsg/src/awaymsg.cpp @@ -75,7 +75,7 @@ static INT_PTR CALLBACK ReadAwayMsgDlgProc(HWND hwndDlg, UINT message, WPARAM wP SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (LONG_PTR)dat); dat->hContact = lParam; - dat->hSeq = (HANDLE)CallContactService(dat->hContact, PSS_GETAWAYMSG, 0, 0); + dat->hSeq = (HANDLE)ProtoChainSend(dat->hContact, PSS_GETAWAYMSG, 0, 0); dat->hAwayMsgEvent = dat->hSeq ? HookEventMessage(ME_PROTO_ACK, hwndDlg, HM_AWAYMSG) : NULL; WindowList_Add(hWindowList, hwndDlg, dat->hContact); { @@ -199,7 +199,7 @@ static INT_PTR CALLBACK CopyAwayMsgDlgProc(HWND hwndDlg, UINT message, WPARAM wP SetWindowLongPtr(hwndDlg, GWLP_USERDATA, (LONG_PTR)dat); dat->hContact = lParam; - dat->hSeq = (HANDLE)CallContactService(dat->hContact, PSS_GETAWAYMSG, 0, 0); + dat->hSeq = (HANDLE)ProtoChainSend(dat->hContact, PSS_GETAWAYMSG, 0, 0); dat->hAwayMsgEvent = dat->hSeq ? HookEventMessage(ME_PROTO_ACK, hwndDlg, HM_AWAYMSG) : NULL; WindowList_Add(hWindowList2, hwndDlg, dat->hContact); TCHAR *contactName = pcli->pfnGetContactDisplayName(dat->hContact, 0); diff --git a/plugins/Spamotron/src/spamotron.cpp b/plugins/Spamotron/src/spamotron.cpp index 6ce5f16438..c007f71d43 100644 --- a/plugins/Spamotron/src/spamotron.cpp +++ b/plugins/Spamotron/src/spamotron.cpp @@ -159,7 +159,7 @@ int OnDBEventFilterAdd(WPARAM wParam, LPARAM lParam) db_unset(hContact, "CList", "Delete"); if (_getOptB("ReplyOnSuccess", defaultReplyOnSuccess) && (_getCOptB(hContact, "MsgSent", 0))) { T2Utf response(_getOptS(buf, buflen, "SuccessResponse", defaultSuccessResponse)); - CallContactService(hContact, PSS_MESSAGE, 0, response); + ProtoChainSend(hContact, PSS_MESSAGE, 0, response); } return 0; } @@ -225,7 +225,7 @@ int OnDBEventFilterAdd(WPARAM wParam, LPARAM lParam) db_unset(hContact, "CList", "ResponseNum"); if (_getOptB("ReplyOnSuccess", defaultReplyOnSuccess)) { T2Utf response(_getOptS(buf, buflen, "SuccessResponse", defaultSuccessResponse)); - CallContactService(hContact, PSS_MESSAGE, 0, response); + ProtoChainSend(hContact, PSS_MESSAGE, 0, response); } _notify(hContact, POPUP_APPROVED, TranslateT("Contact %s approved."), NULL); @@ -353,7 +353,7 @@ int OnDBEventFilterAdd(WPARAM wParam, LPARAM lParam) else _getOptS(challengeW, maxmsglen, "Challenge", defaultChallenge); ReplaceVars(challengeW, maxmsglen); - CallContactService(hContact, PSS_MESSAGE, 0, T2Utf(challengeW)); + ProtoChainSend(hContact, PSS_MESSAGE, 0, T2Utf(challengeW)); _notify(hContact, POPUP_CHALLENGE, TranslateT("Sending plain challenge to %s."), message); break; @@ -368,7 +368,7 @@ int OnDBEventFilterAdd(WPARAM wParam, LPARAM lParam) _setCOptD(hContact, "ResponseNum", _getCOptD(hContact, "ResponseNum", -1) + 1); ReplaceVarsNum(challengeW, maxmsglen, _getCOptD(hContact, "ResponseNum", 0)); - CallContactService(hContact, PSS_MESSAGE, 0, T2Utf(challengeW)); + ProtoChainSend(hContact, PSS_MESSAGE, 0, T2Utf(challengeW)); _notify(hContact, POPUP_CHALLENGE, TranslateT("Sending round-robin challenge to %s."), message); break; @@ -381,7 +381,7 @@ int OnDBEventFilterAdd(WPARAM wParam, LPARAM lParam) srand(time(NULL)); _setCOptD(hContact, "ResponseNum", rand() % get_response_num(buf)); ReplaceVarsNum(challengeW, maxmsglen, _getCOptD(hContact, "ResponseNum", 0)); - CallContactService(hContact, PSS_MESSAGE, 0, T2Utf(challengeW)); + ProtoChainSend(hContact, PSS_MESSAGE, 0, T2Utf(challengeW)); _notify(hContact, POPUP_CHALLENGE, TranslateT("Sending random challenge to %s."), message); break; @@ -395,7 +395,7 @@ int OnDBEventFilterAdd(WPARAM wParam, LPARAM lParam) _getOptS(challengeW, maxmsglen, "ChallengeMath", defaultChallengeMath); ReplaceVar(challengeW, maxmsglen, _T("%mathexpr%"), mexpr); _setCOptD(hContact, "ResponseMath", a + b); - CallContactService(hContact, PSS_MESSAGE, 0, T2Utf(challengeW)); + ProtoChainSend(hContact, PSS_MESSAGE, 0, T2Utf(challengeW)); _notify(hContact, POPUP_CHALLENGE, TranslateT("Sending math expression challenge to %s."), message); break; } diff --git a/plugins/StopSpamMod/src/stopspam.cpp b/plugins/StopSpamMod/src/stopspam.cpp index c1aa915c5c..81a31bda8e 100755 --- a/plugins/StopSpamMod/src/stopspam.cpp +++ b/plugins/StopSpamMod/src/stopspam.cpp @@ -61,7 +61,7 @@ MIRANDA_HOOK_EVENT(ME_DB_EVENT_ADDED, hContact, hDbEvent) } if (msg) { ptrA buff(mir_utf8encodeW(variables_parse(gbAuthRepl, hcntct).c_str())); - CallContactService(hcntct, PSS_MESSAGE, 0, (LPARAM)buff); + ProtoChainSend(hcntct, PSS_MESSAGE, 0, (LPARAM)buff); } return 1; } @@ -177,7 +177,7 @@ MIRANDA_HOOK_EVENT(ME_DB_EVENT_FILTER_ADD, w, l) // for notICQ protocols or disable auto auth. reqwest if ((Stricmp(_T("ICQ"), prot.c_str())) || (!gbAutoReqAuth)) { char * buf = mir_utf8encodeW(variables_parse(gbCongratulation, hContact).c_str()); - CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)buf); + ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)buf); mir_free(buf); } // Note: For ANSI can be not work @@ -193,7 +193,7 @@ MIRANDA_HOOK_EVENT(ME_DB_EVENT_FILTER_ADD, w, l) }; // auto auth. reqwest with send congratulation if (gbAutoReqAuth) - CallContactService(hContact, PSS_AUTHREQUEST, 0, (LPARAM)variables_parse(gbCongratulation, hContact).c_str()); + ProtoChainSend(hContact, PSS_AUTHREQUEST, 0, (LPARAM)variables_parse(gbCongratulation, hContact).c_str()); } } return 0; @@ -270,7 +270,7 @@ MIRANDA_HOOK_EVENT(ME_DB_EVENT_FILTER_ADD, w, l) else q += variables_parse(gbQuestion, hContact); - CallContactService(hContact, PSS_MESSAGE, 0, ptrA(mir_utf8encodeW(q.c_str()))); + ProtoChainSend(hContact, PSS_MESSAGE, 0, ptrA(mir_utf8encodeW(q.c_str()))); // increment question count DWORD questCount = db_get_dw(hContact, pluginName, "QuestionCount", 0); diff --git a/plugins/StopSpamPlus/src/events.cpp b/plugins/StopSpamPlus/src/events.cpp index a7cdf9ed0f..a4996d034a 100644 --- a/plugins/StopSpamPlus/src/events.cpp +++ b/plugins/StopSpamPlus/src/events.cpp @@ -28,7 +28,7 @@ MIRANDA_HOOK_EVENT(ME_DB_EVENT_ADDED, wParam, lParam) if (db_get_b(hcntct, "CList", "NotOnList", 0) && !db_get_b(hcntct, pluginName, answeredSetting, 0) && !IsExistMyMessage(hcntct)) { if (!plSets->HandleAuthReq.Get()) { char *buf = mir_utf8encodeW(variables_parse(plSets->AuthRepl.Get(), hcntct).c_str()); - CallContactService(hcntct, PSS_MESSAGE, 0, (LPARAM)buf); + ProtoChainSend(hcntct, PSS_MESSAGE, 0, (LPARAM)buf); mir_free(buf); } @@ -121,7 +121,7 @@ MIRANDA_HOOK_EVENT(ME_DB_EVENT_FILTER_ADD, w, l) // send congratulation char * buf = mir_utf8encodeW(variables_parse(plSets->Congratulation.Get(), hContact).c_str()); - CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)buf); + ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)buf); mir_free(buf); // process the event @@ -141,7 +141,7 @@ MIRANDA_HOOK_EVENT(ME_DB_EVENT_FILTER_ADD, w, l) char * buf = mir_utf8encodeW(q.c_str()); - CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)buf); + ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)buf); mir_free(buf); diff --git a/plugins/TabSRMM/src/msgdialog.cpp b/plugins/TabSRMM/src/msgdialog.cpp index 2bff3d0ad3..45bdb71c22 100644 --- a/plugins/TabSRMM/src/msgdialog.cpp +++ b/plugins/TabSRMM/src/msgdialog.cpp @@ -2379,7 +2379,7 @@ INT_PTR CALLBACK DlgProcMessage(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l if (job->hSendId == 0 && job->hContact == 0) break; - job->hSendId = (HANDLE)CallContactService(job->hContact, PSS_MESSAGE, job->dwFlags, (LPARAM)job->szSendBuffer); + job->hSendId = (HANDLE)ProtoChainSend(job->hContact, PSS_MESSAGE, job->dwFlags, (LPARAM)job->szSendBuffer); resent++; } diff --git a/plugins/TabSRMM/src/sendlater.cpp b/plugins/TabSRMM/src/sendlater.cpp index 4fbcfc8fcd..068c0baab7 100644 --- a/plugins/TabSRMM/src/sendlater.cpp +++ b/plugins/TabSRMM/src/sendlater.cpp @@ -404,7 +404,7 @@ int CSendLater::sendIt(CSendLaterJob *job) job->iSendCount++; job->hTargetContact = hContact; job->bCode = CSendLaterJob::JOB_WAITACK; - job->hProcess = (HANDLE)CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)job->sendBuffer); + job->hProcess = (HANDLE)ProtoChainSend(hContact, PSS_MESSAGE, 0, (LPARAM)job->sendBuffer); return 0; } diff --git a/plugins/TabSRMM/src/sendqueue.cpp b/plugins/TabSRMM/src/sendqueue.cpp index 428883a1da..616f1e76c9 100644 --- a/plugins/TabSRMM/src/sendqueue.cpp +++ b/plugins/TabSRMM/src/sendqueue.cpp @@ -154,7 +154,7 @@ static void DoSplitSendA(LPVOID param) char savedChar = *szSaved; *szSaved = 0; - int id = CallContactService(job->hContact, PSS_MESSAGE, job->dwFlags, (LPARAM)szTemp); + int id = ProtoChainSend(job->hContact, PSS_MESSAGE, job->dwFlags, (LPARAM)szTemp); if (!fFirstSend) { job->hSendId = (HANDLE)id; fFirstSend = TRUE; @@ -168,7 +168,7 @@ static void DoSplitSendA(LPVOID param) } } else { - int id = CallContactService(job->hContact, PSS_MESSAGE, job->dwFlags, (LPARAM)szTemp); + int id = ProtoChainSend(job->hContact, PSS_MESSAGE, job->dwFlags, (LPARAM)szTemp); if (!fFirstSend) { job->hSendId = (HANDLE)id; fFirstSend = TRUE; @@ -283,7 +283,7 @@ int SendQueue::sendQueued(TWindowData *dat, const int iEntry) clearJob(iEntry); return 0; } - m_jobs[iEntry].hSendId = (HANDLE)CallContactService(dat->hContact, PSS_MESSAGE, m_jobs[iEntry].dwFlags, (LPARAM)m_jobs[iEntry].szSendBuffer); + m_jobs[iEntry].hSendId = (HANDLE)ProtoChainSend(dat->hContact, PSS_MESSAGE, m_jobs[iEntry].dwFlags, (LPARAM)m_jobs[iEntry].szSendBuffer); if (dat->sendMode & SMODE_NOACK) { // fake the ack if we are not interested in receiving real acks ACKDATA ack = { 0 }; diff --git a/plugins/TipperYM/src/message_pump.cpp b/plugins/TipperYM/src/message_pump.cpp index 6f6f8d47ef..42fb11a362 100644 --- a/plugins/TipperYM/src/message_pump.cpp +++ b/plugins/TipperYM/src/message_pump.cpp @@ -55,7 +55,7 @@ bool NeedWaitForContent(CLCINFOTIPEX *clcitex) if (opt.bWaitForStatusMsg && !bStatusMsgReady) { db_unset(hContact, MODULE, "TempStatusMsg"); - if (CanRetrieveStatusMsg(hContact, szProto) && CallContactService(hContact, PSS_GETAWAYMSG, 0, 0)) + if (CanRetrieveStatusMsg(hContact, szProto) && ProtoChainSend(hContact, PSS_GETAWAYMSG, 0, 0)) { if (WaitForContentTimerID) KillTimer(0, WaitForContentTimerID); diff --git a/plugins/TipperYM/src/subst.cpp b/plugins/TipperYM/src/subst.cpp index 1c6ae40d88..070583c60b 100644 --- a/plugins/TipperYM/src/subst.cpp +++ b/plugins/TipperYM/src/subst.cpp @@ -229,7 +229,7 @@ TCHAR* GetStatusMessageText(MCONTACT hContact) if (!swzMsg) { if (CanRetrieveStatusMsg(hContact, szProto)) - if (CallContactService(hContact, PSS_GETAWAYMSG, 0, 0)) + if (ProtoChainSend(hContact, PSS_GETAWAYMSG, 0, 0)) return NULL; if (!db_get_ts(hContact, "CList", "StatusMsg", &dbv)) { diff --git a/plugins/UserInfoEx/src/dlg_propsheet.cpp b/plugins/UserInfoEx/src/dlg_propsheet.cpp index f5f6a127ba..409f33f87a 100644 --- a/plugins/UserInfoEx/src/dlg_propsheet.cpp +++ b/plugins/UserInfoEx/src/dlg_propsheet.cpp @@ -1564,7 +1564,7 @@ static INT_PTR CALLBACK DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lPar // call the services for (int i = 0; i < pPs->nSubContacts; i++) - if (!CallContactService(pPs->infosUpdated[pPs->nSubContacts].hContact, PSS_GETINFO, NULL, NULL)) + if (!ProtoChainSend(pPs->infosUpdated[pPs->nSubContacts].hContact, PSS_GETINFO, NULL, NULL)) bDo = TRUE; if (bDo) { @@ -1574,7 +1574,7 @@ static INT_PTR CALLBACK DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lPar } } } - else if (!CallContactService(pPs->hContact, PSS_GETINFO, NULL, NULL)) { + else if (!ProtoChainSend(pPs->hContact, PSS_GETINFO, NULL, NULL)) { pPs->infosUpdated = (TAckInfo *)mir_calloc(sizeof(TAckInfo)); pPs->infosUpdated[0].hContact = pPs->hContact; pPs->nSubContacts = 1; diff --git a/plugins/UserInfoEx/src/svc_refreshci.cpp b/plugins/UserInfoEx/src/svc_refreshci.cpp index c7365289f7..c9b67be6e6 100644 --- a/plugins/UserInfoEx/src/svc_refreshci.cpp +++ b/plugins/UserInfoEx/src/svc_refreshci.cpp @@ -637,7 +637,7 @@ class CContactUpdater : public CContactQueue if (IsProtoOnline(pszProto)) { int i; - for (i = 0; i < 3 && CallContactService(hContact, PSS_GETINFO, 0, 0); i++) + for (i = 0; i < 3 && ProtoChainSend(hContact, PSS_GETINFO, 0, 0); i++) { Sleep(3000); } diff --git a/plugins/Watrack/proto/proto.pas b/plugins/Watrack/proto/proto.pas index cd8d52a79d..7db8c1e058 100644 --- a/plugins/Watrack/proto/proto.pas +++ b/plugins/Watrack/proto/proto.pas @@ -86,6 +86,7 @@ const bufsize = 4096*SizeOf(WideChar); var ccs:PCCSDATA; + ccdata:TCCSDATA; s:pWideChar; buf:PWideChar; data:PByte; @@ -182,7 +183,12 @@ begin if (HistMask and hmOutInfo)<>0 then AddEvent(ccs^.hContact,EVENTTYPE_WAT_ANSWER,DBEF_SENT,data,dataSize); - CallContactService(ccs^.hContact,PSS_MESSAGE,0,tlparam(encbuf)); + + ccdata.hContact := ccs^.hContact; + ccdata.szProtoService := PSS_MESSAGE; + ccdata.wParam := 0; + ccdata.lParam := tlparam(encbuf); + Proto_ChainSend(0, @ccdata); mFreeMem(encbuf); end else @@ -190,7 +196,11 @@ begin WideToUTF8(textpos,encodedStr); if (HistMask and hmOutInfo)<>0 then AddEvent(ccs^.hContact,EVENTTYPE_WAT_MESSAGE,DBEF_SENT or DBEF_UTF,encodedStr,StrLen(encodedStr)); - CallContactService(ccs^.hContact,PSS_MESSAGE,0,tlparam(encodedStr)); + ccdata.hContact := ccs^.hContact; + ccdata.szProtoService := PSS_MESSAGE; + ccdata.wParam := 0; + ccdata.lParam := tlparam(encodedStr); + Proto_ChainSend(0, @ccdata); mFreeMem(encodedStr); end; end; @@ -211,7 +221,11 @@ begin pc:=PAnsiChar(buf)+Length(wpError); end; StrCopy(pc,'Sorry, but you have no permission to obtain this info!'); - CallContactService(ccs^.hContact,PSS_MESSAGE,0,tlparam(buf)); + ccdata.hContact := ccs^.hContact; + ccdata.szProtoService := PSS_MESSAGE; + ccdata.wParam := 0; + ccdata.lParam := tlparam(buf); + Proto_ChainSend(0, @ccdata); if (HistMask and hmOutError)<>0 then begin AddEvent(ccs^.hContact,EVENTTYPE_WAT_ERROR,DBEF_SENT,nil,0, @@ -249,12 +263,6 @@ begin if (HistMask and hmInError)<>0 then AddEvent(ccs^.hContact,EVENTTYPE_WAT_ERROR,DBEF_READ,nil,0, PPROTORECVEVENT(ccs^.lParam)^.Timestamp); -{ - AnsiToWide(PAnsiChar(CallService(MS_CLIST_GETCONTACTDISPLAYNAME,ccs^.hContact,0)),s); - StrCopyW(buf,s); - StrCatW (buf,TranslateW(' answer you')); - mFreeMem(s); -} MessageBoxA(0,Translate(PPROTORECVEVENT(ccs^.lParam)^.szMessage.a+Length(wpError)), Translate('You Get Error'),MB_ICONERROR); end @@ -266,11 +274,18 @@ end; function SendRequest(hContact:WPARAM;lParam:LPARAM):int_ptr; cdecl; var buf:array [0..2047] of AnsiChar; + ccdata:TCCSDATA; begin result:=0; StrCopy(buf,wpRequest); StrCopy(buf+Length(wpRequest),SendRequestText); - CallContactService(hContact,PSS_MESSAGE,0,tlparam(@buf)); + + ccdata.hContact := hContact; + ccdata.szProtoService := PSS_MESSAGE; + ccdata.wParam := 0; + ccdata.lParam := tlparam(@buf); + Proto_ChainSend(0, @ccdata); + if (HistMask and hmOutRequest)<>0 then AddEvent(hContact,EVENTTYPE_WAT_REQUEST,DBEF_SENT,nil,0); end; diff --git a/plugins/WhenWasIt/src/services.cpp b/plugins/WhenWasIt/src/services.cpp index 46a8a173a6..f6d27f5a5f 100644 --- a/plugins/WhenWasIt/src/services.cpp +++ b/plugins/WhenWasIt/src/services.cpp @@ -196,7 +196,7 @@ void __cdecl RefreshUserDetailsWorkerThread(void*) MCONTACT hContact = db_find_first(); while (hContact != NULL) { - CallContactService(hContact, PSS_GETINFO, 0, 0); + ProtoChainSend(hContact, PSS_GETINFO, 0, 0); hContact = db_find_next(hContact); if (hContact) Sleep(delay); //sleep for a few seconds between requests diff --git a/plugins/YARelay/src/main.cpp b/plugins/YARelay/src/main.cpp index a39708cbce..8756f19d86 100644 --- a/plugins/YARelay/src/main.cpp +++ b/plugins/YARelay/src/main.cpp @@ -199,7 +199,7 @@ static int MessageEventAdded(WPARAM hContact, LPARAM hDBEvent) strncpy(szMsgPart, szBuf, cbPortion); szMsgPart[cbPortion] = 0; - HANDLE hMsgProc = (HANDLE)CallContactService(hForwardTo, PSS_MESSAGE, 0, (LPARAM)szMsgPart); + HANDLE hMsgProc = (HANDLE)ProtoChainSend(hForwardTo, PSS_MESSAGE, 0, (LPARAM)szMsgPart); MESSAGE_PROC* msgProc = (MESSAGE_PROC*)mir_alloc(sizeof(MESSAGE_PROC)); msgProc->hProcess = hMsgProc; diff --git a/protocols/Steam/src/steam_menus.cpp b/protocols/Steam/src/steam_menus.cpp index e14e68d3b6..e2c4fcd5b7 100644 --- a/protocols/Steam/src/steam_menus.cpp +++ b/protocols/Steam/src/steam_menus.cpp @@ -20,7 +20,7 @@ INT_PTR CSteamProto::MenuChooseService(WPARAM wParam, LPARAM lParam) int CSteamProto::AuthRequestCommand(WPARAM hContact, LPARAM) { - CallContactService(hContact, PSS_AUTHREQUEST, 0, 0); + ProtoChainSend(hContact, PSS_AUTHREQUEST, 0, 0); return 0; } diff --git a/protocols/VKontakte/src/vk_thread.cpp b/protocols/VKontakte/src/vk_thread.cpp index 14a21a619e..e2985504b8 100644 --- a/protocols/VKontakte/src/vk_thread.cpp +++ b/protocols/VKontakte/src/vk_thread.cpp @@ -656,7 +656,7 @@ INT_PTR __cdecl CVkProto::SvcAddAsFriend(WPARAM hContact, LPARAM) LONG userID = getDword(hContact, "ID", -1); if (!IsOnline() || userID == -1 || userID == VK_FEED_USER) return 1; - CallContactService(hContact, PSS_AUTHREQUEST, 0, (LPARAM)TranslateT("Please authorize me to add you to my friend list.")); + ProtoChainSend(hContact, PSS_AUTHREQUEST, 0, (LPARAM)TranslateT("Please authorize me to add you to my friend list.")); return 0; } diff --git a/src/core/stdaway/src/awaymsg.cpp b/src/core/stdaway/src/awaymsg.cpp index 3a12064e55..2efff40a04 100644 --- a/src/core/stdaway/src/awaymsg.cpp +++ b/src/core/stdaway/src/awaymsg.cpp @@ -51,7 +51,7 @@ static INT_PTR CALLBACK ReadAwayMsgDlgProc(HWND hwndDlg, UINT message, WPARAM wP if (dat->hContact == NULL) dat->hContact = lParam; dat->hAwayMsgEvent = HookEventMessage(ME_PROTO_ACK, hwndDlg, HM_AWAYMSG); - dat->hSeq = (HANDLE)CallContactService(dat->hContact, PSS_GETAWAYMSG, 0, 0); + dat->hSeq = (HANDLE)ProtoChainSend(dat->hContact, PSS_GETAWAYMSG, 0, 0); WindowList_Add(hWindowList, hwndDlg, dat->hContact); { TCHAR str[256], format[128]; diff --git a/src/core/stdfile/src/filerecvdlg.cpp b/src/core/stdfile/src/filerecvdlg.cpp index cbed678e37..637ab19208 100644 --- a/src/core/stdfile/src/filerecvdlg.cpp +++ b/src/core/stdfile/src/filerecvdlg.cpp @@ -340,7 +340,7 @@ INT_PTR CALLBACK DlgProcRecvFile(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l break; case IDCANCEL: - if (dat->fs) CallContactService(dat->hContact, PSS_FILEDENY, (WPARAM)dat->fs, (LPARAM)TranslateT("Canceled")); + if (dat->fs) ProtoChainSend(dat->hContact, PSS_FILEDENY, (WPARAM)dat->fs, (LPARAM)TranslateT("Canceled")); dat->fs = NULL; /* the protocol will free the handle */ DestroyWindow(hwndDlg); break; diff --git a/src/core/stdfile/src/filexferdlg.cpp b/src/core/stdfile/src/filexferdlg.cpp index 347fc79a56..e8f4d1212b 100644 --- a/src/core/stdfile/src/filexferdlg.cpp +++ b/src/core/stdfile/src/filexferdlg.cpp @@ -236,7 +236,7 @@ INT_PTR CALLBACK DlgProcFileTransfer(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR if (dat->send) { if (db_mc_isMeta(dat->hContact)) dat->hContact = db_mc_getMostOnline(dat->hContact); - dat->fs = (HANDLE)CallContactService(dat->hContact, PSS_FILE, (WPARAM)dat->szMsg, (LPARAM)dat->files); + dat->fs = (HANDLE)ProtoChainSend(dat->hContact, PSS_FILE, (WPARAM)dat->szMsg, (LPARAM)dat->files); SetFtStatus(hwndDlg, LPGENT("Request sent, waiting for acceptance..."), FTS_TEXT); SetOpenFileButtonStyle(GetDlgItem(hwndDlg, IDC_OPENFILE), 1); dat->waitingForAcceptance = 1; @@ -246,7 +246,7 @@ INT_PTR CALLBACK DlgProcFileTransfer(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR } else { //recv CreateDirectoryTreeT(dat->szSavePath); - dat->fs = (HANDLE)CallContactService(dat->hContact, PSS_FILEALLOW, (WPARAM)dat->fs, (LPARAM)dat->szSavePath); + dat->fs = (HANDLE)ProtoChainSend(dat->hContact, PSS_FILEALLOW, (WPARAM)dat->fs, (LPARAM)dat->szSavePath); dat->transferStatus.tszWorkingDir = mir_tstrdup(dat->szSavePath); if (db_get_b(dat->hContact, "CList", "NotOnList", 0)) dat->resumeBehaviour = FILERESUME_ASK; else dat->resumeBehaviour = db_get_b(NULL, "SRFile", "IfExists", FILERESUME_ASK); @@ -462,7 +462,7 @@ INT_PTR CALLBACK DlgProcFileTransfer(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR switch (pfr->action) { case FILERESUME_CANCEL: - if (dat->fs) CallContactService(dat->hContact, PSS_FILECANCEL, (WPARAM)dat->fs, 0); + if (dat->fs) ProtoChainSend(dat->hContact, PSS_FILECANCEL, (WPARAM)dat->fs, 0); dat->fs = NULL; mir_free(szOriginalFilename); if (pfr->szFilename) mir_free((char*)pfr->szFilename); @@ -742,7 +742,7 @@ void FreeFileDlgData(FileDlgData* dat) return; if (dat->fs) - CallContactService(dat->hContact, PSS_FILECANCEL, (WPARAM)dat->fs, 0); + ProtoChainSend(dat->hContact, PSS_FILECANCEL, (WPARAM)dat->fs, 0); if (dat->hPreshutdownEvent) UnhookEvent(dat->hPreshutdownEvent); if (dat->hNotifyEvent) diff --git a/src/core/stdmsg/src/msgdialog.cpp b/src/core/stdmsg/src/msgdialog.cpp index 9e43d2cf48..ce327aad3a 100644 --- a/src/core/stdmsg/src/msgdialog.cpp +++ b/src/core/stdmsg/src/msgdialog.cpp @@ -82,7 +82,7 @@ int SendMessageDirect(const TCHAR *szMsg, MCONTACT hContact, char*) if (db_mc_isMeta(hContact)) hContact = db_mc_getSrmmSub(hContact); - int sendId = CallContactService(hContact, PSS_MESSAGE, flags, (LPARAM)sendBuffer); + int sendId = ProtoChainSend(hContact, PSS_MESSAGE, flags, (LPARAM)sendBuffer); msgQueue_add(hContact, sendId, sendBuffer.detach(), flags); return sendId; } diff --git a/src/core/stduserinfo/src/userinfo.cpp b/src/core/stduserinfo/src/userinfo.cpp index 23009dcaa5..97948126df 100644 --- a/src/core/stduserinfo/src/userinfo.cpp +++ b/src/core/stduserinfo/src/userinfo.cpp @@ -343,7 +343,7 @@ static INT_PTR CALLBACK DlgProcDetails(HWND hwndDlg, UINT msg, WPARAM wParam, LP dat->updateAnimFrame = 0; GetDlgItemText(hwndDlg, IDC_UPDATING, dat->szUpdating, _countof(dat->szUpdating)); SendMessage(hwndDlg, M_CHECKONLINE, 0, 0); - if (!CallContactService(dat->hContact, PSS_GETINFO, SGIF_ONOPEN, 0)) { + if (!ProtoChainSend(dat->hContact, PSS_GETINFO, SGIF_ONOPEN, 0)) { EnableWindow(GetDlgItem(hwndDlg, IDC_UPDATE), FALSE); SetTimer(hwndDlg, 1, 100, NULL); } @@ -565,7 +565,7 @@ static INT_PTR CALLBACK DlgProcDetails(HWND hwndDlg, UINT msg, WPARAM wParam, LP dat->infosUpdated = NULL; } if (dat->hContact != NULL) { - if (!CallContactService(dat->hContact, PSS_GETINFO, 0, 0)) { + if (!ProtoChainSend(dat->hContact, PSS_GETINFO, 0, 0)) { EnableWindow(GetDlgItem(hwndDlg, IDC_UPDATE), FALSE); ShowWindow(GetDlgItem(hwndDlg, IDC_UPDATING), SW_SHOW); SetTimer(hwndDlg, 1, 100, NULL); diff --git a/src/mir_app/src/addcontact.cpp b/src/mir_app/src/addcontact.cpp index 0a712d6833..34d314ef62 100644 --- a/src/mir_app/src/addcontact.cpp +++ b/src/mir_app/src/addcontact.cpp @@ -209,14 +209,14 @@ public: db_unset(hContact, "CList", "NotOnList"); if (m_chkAdded.GetState()) - CallContactService(hContact, PSS_ADDED, 0, 0); + ProtoChainSend(hContact, PSS_ADDED, 0, 0); if (m_chkAuth.GetState()) { DWORD flags = CallProtoServiceInt(NULL, m_acs.szProto, PS_GETCAPS, PFLAGNUM_4, 0); if (flags & PF4_NOCUSTOMAUTH) - CallContactService(hContact, PSS_AUTHREQUEST, 0, 0); + ProtoChainSend(hContact, PSS_AUTHREQUEST, 0, 0); else - CallContactService(hContact, PSS_AUTHREQUEST, 0, ptrT(m_authReq.GetText())); + ProtoChainSend(hContact, PSS_AUTHREQUEST, 0, ptrT(m_authReq.GetText())); } if (m_chkOpen.GetState()) diff --git a/src/mir_app/src/clc.cpp b/src/mir_app/src/clc.cpp index 083352ddf7..afe24c34e7 100644 --- a/src/mir_app/src/clc.cpp +++ b/src/mir_app/src/clc.cpp @@ -66,11 +66,13 @@ void fnClcOptionsChanged(void) ///////////////////////////////////////////////////////////////////////////////////////// // standard CLC services +extern bool g_bGroupsLocked; + static int ClcSettingChanged(WPARAM hContact, LPARAM lParam) { DBCONTACTWRITESETTING *cws = (DBCONTACTWRITESETTING *)lParam; if (hContact == NULL) { - if (!strcmp(cws->szModule, "CListGroups")) + if (!strcmp(cws->szModule, "CListGroups") && !g_bGroupsLocked) Clist_Broadcast(INTM_GROUPSCHANGED, hContact, lParam); return 0; } diff --git a/src/mir_app/src/clistgroups.cpp b/src/mir_app/src/clistgroups.cpp index dd4d23571a..a903646839 100644 --- a/src/mir_app/src/clistgroups.cpp +++ b/src/mir_app/src/clistgroups.cpp @@ -73,6 +73,7 @@ static CGroupList arByIds; ///////////////////////////////////////////////////////////////////////////////////////// HANDLE hGroupChangeEvent; +bool g_bGroupsLocked = false; static mir_cs csGroups; @@ -295,6 +296,7 @@ MIR_APP_DLL(int) Clist_GroupMoveBefore(MGROUP hGroup, MGROUP hGroupBefore) } } + g_bGroupsLocked = true; arByIds.remove(pGroup); for (int i = shuffleFrom; i != shuffleTo; i += shuffleStep) { @@ -307,6 +309,7 @@ MIR_APP_DLL(int) Clist_GroupMoveBefore(MGROUP hGroup, MGROUP hGroupBefore) pGroup->save(); arByIds.insert(pGroup); + g_bGroupsLocked = false; return shuffleTo + 1; } @@ -371,7 +374,7 @@ static int RenameGroupWithMove(int groupId, const TCHAR *szName, int move) } } } - cli.pfnInitAutoRebuild(cli.hwndContactTree); + Clist_BroadcastAsync(CLM_AUTOREBUILD, 0, 0); } const CLISTGROUPCHANGE grpChg = { sizeof(grpChg), oldName, (TCHAR*)szName }; diff --git a/src/mir_app/src/clistsettings.cpp b/src/mir_app/src/clistsettings.cpp index 0e245c4d63..0e452807de 100644 --- a/src/mir_app/src/clistsettings.cpp +++ b/src/mir_app/src/clistsettings.cpp @@ -121,7 +121,7 @@ TCHAR* fnGetContactDisplayName(MCONTACT hContact, int mode) return tszDisplayName.detach(); } - CallContactService(hContact, PSS_GETINFO, SGIF_MINIMAL, 0); + ProtoChainSend(hContact, PSS_GETINFO, SGIF_MINIMAL, 0); TCHAR *buffer = TranslateT("(Unknown contact)"); return (cacheEntry == NULL) ? mir_tstrdup(buffer) : buffer; diff --git a/src/mir_app/src/meta_services.cpp b/src/mir_app/src/meta_services.cpp index 6540a39b67..a4c9d1988b 100644 --- a/src/mir_app/src/meta_services.cpp +++ b/src/mir_app/src/meta_services.cpp @@ -259,7 +259,7 @@ INT_PTR Meta_SendMessage(WPARAM wParam, LPARAM lParam) char *proto = GetContactProto(hMostOnline); Meta_SetNick(proto); // (no matter what was there before) - return CallContactService(ccs->hContact, PSS_MESSAGE, ccs->wParam, ccs->lParam); + return ProtoChainSend(ccs->hContact, PSS_MESSAGE, ccs->wParam, ccs->lParam); } /** Called when an ACK is received. @@ -724,7 +724,7 @@ INT_PTR Meta_FileSend(WPARAM, LPARAM lParam) char *proto = GetContactProto(hMostOnline); if (proto) - return CallContactService(hMostOnline, PSS_FILE, ccs->wParam, ccs->lParam); + return ProtoChainSend(hMostOnline, PSS_FILE, ccs->wParam, ccs->lParam); return 0; // fail } @@ -745,7 +745,7 @@ INT_PTR Meta_GetAwayMsg(WPARAM, LPARAM lParam) return 0; ccs->hContact = hMostOnline; - return CallContactService(ccs->hContact, PSS_GETAWAYMSG, ccs->wParam, ccs->lParam); + return ProtoChainSend(ccs->hContact, PSS_GETAWAYMSG, ccs->wParam, ccs->lParam); } INT_PTR Meta_GetAvatarInfo(WPARAM wParam, LPARAM lParam) @@ -810,7 +810,7 @@ INT_PTR Meta_GetInfo(WPARAM, LPARAM lParam) if (!ProtoServiceExists(proto, PSS_GETINFO)) return 0; // fail - return CallContactService(ccs->hContact, PSS_GETINFO, ccs->wParam, ccs->lParam); + return ProtoChainSend(ccs->hContact, PSS_GETINFO, ccs->wParam, ccs->lParam); } int Meta_CallMostOnline(WPARAM hContact, LPARAM) diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def index 6f5048578f..b8ffebf951 100644 --- a/src/mir_app/src/mir_app.def +++ b/src/mir_app/src/mir_app.def @@ -1,7 +1,6 @@ LIBRARY mir_app.mir EXPORTS -CallContactService @1 CallProtoService @2 Skin_LoadProtoIcon @4 Skin_LoadIcon @5 diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def index 6f48beb92d..9ac85f12c7 100644 --- a/src/mir_app/src/mir_app64.def +++ b/src/mir_app/src/mir_app64.def @@ -1,7 +1,6 @@ LIBRARY mir_app.mir EXPORTS -CallContactService @1 CallProtoService @2 Skin_LoadProtoIcon @4 Skin_LoadIcon @5 diff --git a/src/mir_app/src/proto_chains.cpp b/src/mir_app/src/proto_chains.cpp index 2bfc143f43..42d34cad15 100644 --- a/src/mir_app/src/proto_chains.cpp +++ b/src/mir_app/src/proto_chains.cpp @@ -89,14 +89,6 @@ MIR_APP_DLL(INT_PTR) Proto_ChainSend(int iOrder, CCSDATA *ccs) ///////////////////////////////////////////////////////////////////////////////////////// -MIR_APP_DLL(INT_PTR) CallContactService(MCONTACT hContact, const char *szProtoService, WPARAM wParam, LPARAM lParam) -{ - CCSDATA ccs = { hContact, szProtoService, wParam, lParam }; - return Proto_ChainSend(0, &ccs); -} - -///////////////////////////////////////////////////////////////////////////////////////// - INT_PTR stubChainRecv(WPARAM wParam, LPARAM lParam) { CCSDATA *ccs = (CCSDATA*)lParam; diff --git a/src/mir_app/src/visibility.cpp b/src/mir_app/src/visibility.cpp index 930e3c1805..6f2e540a84 100644 --- a/src/mir_app/src/visibility.cpp +++ b/src/mir_app/src/visibility.cpp @@ -244,13 +244,13 @@ static INT_PTR CALLBACK DlgProcVisibilityOpts(HWND hwndDlg, UINT msg, WPARAM, LP for (int i = 0; i < 2; i++) { int iImage = SendDlgItemMessage(hwndDlg, IDC_LIST, CLM_GETEXTRAIMAGE, (WPARAM)hItem, MAKELPARAM(i, 0)); if (iImage == i + 1) { - CallContactService(hContact, PSS_SETAPPARENTMODE, iImage == 1 ? ID_STATUS_ONLINE : ID_STATUS_OFFLINE, 0); + ProtoChainSend(hContact, PSS_SETAPPARENTMODE, iImage == 1 ? ID_STATUS_ONLINE : ID_STATUS_OFFLINE, 0); set = 1; break; } } if (!set) - CallContactService(hContact, PSS_SETAPPARENTMODE, 0, 0); + ProtoChainSend(hContact, PSS_SETAPPARENTMODE, 0, 0); } return TRUE; } -- cgit v1.2.3