summaryrefslogtreecommitdiff
path: root/protocols/SkypeWeb/src/skype_accounts.cpp
diff options
context:
space:
mode:
authorAlexander Lantsev <aunsane@gmail.com>2015-03-17 20:33:47 +0000
committerAlexander Lantsev <aunsane@gmail.com>2015-03-17 20:33:47 +0000
commitdd3d0e59dcd34beb222fcf612a51d3fee82c0e43 (patch)
tree0ae5a6e0a83399036d1452256ee3f89dc6da8872 /protocols/SkypeWeb/src/skype_accounts.cpp
parent076fa9b3142f55fc736fbf58b20bfa45973acd68 (diff)
SkypeWeb: initial commit
git-svn-id: http://svn.miranda-ng.org/main/trunk@12424 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/SkypeWeb/src/skype_accounts.cpp')
-rw-r--r--protocols/SkypeWeb/src/skype_accounts.cpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/protocols/SkypeWeb/src/skype_accounts.cpp b/protocols/SkypeWeb/src/skype_accounts.cpp
new file mode 100644
index 0000000000..4b1ae6d536
--- /dev/null
+++ b/protocols/SkypeWeb/src/skype_accounts.cpp
@@ -0,0 +1,51 @@
+#include "common.h"
+
+LIST<CSkypeProto> CSkypeProto::Accounts(1, CSkypeProto::CompareAccounts);
+
+int CSkypeProto::CompareAccounts(const CSkypeProto *p1, const CSkypeProto *p2)
+{
+ return _tcscmp(p1->m_tszUserName, p2->m_tszUserName);
+}
+
+CSkypeProto* CSkypeProto::InitAccount(const char *protoName, const wchar_t *userName)
+{
+ CSkypeProto *proto = new CSkypeProto(protoName, userName);
+ Accounts.insert(proto);
+ return proto;
+}
+
+int CSkypeProto::UninitAccount(CSkypeProto *proto)
+{
+ Accounts.remove(proto);
+ delete proto;
+ return 0;
+}
+
+CSkypeProto* CSkypeProto::GetContactAccount(MCONTACT hContact)
+{
+ for (int i = 0; i < Accounts.getCount(); i++)
+ {
+ if (mir_strcmpi(GetContactProto(hContact), Accounts[i]->m_szModuleName) == 0)
+ {
+ return Accounts[i];
+ }
+ }
+ return NULL;
+}
+
+int CSkypeProto::OnAccountLoaded(WPARAM, LPARAM)
+{
+ HookProtoEvent(ME_OPT_INITIALISE, &CSkypeProto::OnOptionsInit);
+
+ return 0;
+}
+
+INT_PTR CSkypeProto::OnAccountManagerInit(WPARAM, LPARAM lParam)
+{
+ return (INT_PTR)CreateDialogParam(
+ g_hInstance,
+ MAKEINTRESOURCE(IDD_ACCOUNT_MANAGER),
+ (HWND)lParam,
+ CSkypeProto::MainOptionsProc,
+ (LPARAM)this);
+} \ No newline at end of file