From 0a1ec91589a265b41210068b8d21fa469e750a08 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 14 Aug 2014 12:12:35 +0000 Subject: account creation code extracted to the separate service function, MS_PROTO_CREATEACCOUNT git-svn-id: http://svn.miranda-ng.org/main/trunk@10181 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- src/modules/protocols/protocols.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/modules/protocols/protocols.cpp') diff --git a/src/modules/protocols/protocols.cpp b/src/modules/protocols/protocols.cpp index 6d57eb10e9..f45378d173 100644 --- a/src/modules/protocols/protocols.cpp +++ b/src/modules/protocols/protocols.cpp @@ -319,6 +319,20 @@ PROTOACCOUNT* __fastcall Proto_GetAccount(const char* accName) return accounts[idx]; } +static INT_PTR srvProto_CreateAccount(WPARAM, LPARAM lParam) +{ + ACC_CREATE *p = (ACC_CREATE*)lParam; + if (p == NULL) + return NULL; + + PROTOACCOUNT *pa = Proto_CreateAccount(p->pszBaseProto, p->pszInternal, p->ptszAccountName); + if (pa) { + WriteDbAccounts(); + NotifyEventHooks(hAccListChanged, PRAC_ADDED, (LPARAM)pa); + } + return (INT_PTR)pa; +} + static INT_PTR srvProto_GetAccount(WPARAM, LPARAM lParam) { return (INT_PTR)Proto_GetAccount((char*)lParam); @@ -682,6 +696,7 @@ int LoadProtocolsModule(void) CreateServiceFunction("Proto/EnumProtocols", Proto_EnumAccounts); CreateServiceFunction(MS_PROTO_ENUMACCOUNTS, Proto_EnumAccounts); + CreateServiceFunction(MS_PROTO_CREATEACCOUNT, srvProto_CreateAccount); CreateServiceFunction(MS_PROTO_GETACCOUNT, srvProto_GetAccount); CreateServiceFunction(MS_PROTO_ISACCOUNTENABLED, srvProto_IsAccountEnabled); -- cgit v1.2.3