diff options
author | Alexander Lantsev <aunsane@gmail.com> | 2015-04-26 11:03:17 +0000 |
---|---|---|
committer | Alexander Lantsev <aunsane@gmail.com> | 2015-04-26 11:03:17 +0000 |
commit | dde1f3e583159fddbcdba6ec52e7e3e432c00711 (patch) | |
tree | a6ac4c5d4c957cf80f0fff3867ea2d7a0ddb958a /protocols/Tox/src/tox.cpp | |
parent | 73d66eaffe6fb0b0b422c3c9a7e24f4914d370fe (diff) |
Tox: common project
git-svn-id: http://svn.miranda-ng.org/main/trunk@13160 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/Tox/src/tox.cpp')
-rw-r--r-- | protocols/Tox/src/tox.cpp | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/protocols/Tox/src/tox.cpp b/protocols/Tox/src/tox.cpp new file mode 100644 index 0000000000..613c790e24 --- /dev/null +++ b/protocols/Tox/src/tox.cpp @@ -0,0 +1,69 @@ +#include "stdafx.h"
+
+int hLangpack;
+CLIST_INTERFACE* pcli;
+HINSTANCE g_hInstance;
+HMODULE g_hToxLibrary = NULL;
+
+PLUGININFOEX pluginInfo =
+{
+ sizeof(PLUGININFOEX),
+ __PLUGIN_NAME,
+ PLUGIN_MAKE_VERSION(__MAJOR_VERSION, __MINOR_VERSION, __RELEASE_NUM, __BUILD_NUM),
+ __DESCRIPTION,
+ __AUTHOR,
+ __AUTHOREMAIL,
+ __COPYRIGHT,
+ __AUTHORWEB,
+ UNICODE_AWARE,
+ // {00272A3E-F5FA-4090-8B67-3E62AC1EE0B4}
+ {0x272a3e, 0xf5fa, 0x4090, {0x8b, 0x67, 0x3e, 0x62, 0xac, 0x1e, 0xe0, 0xb4}}
+};
+
+DWORD WINAPI DllMain(HINSTANCE hInstance, DWORD, LPVOID)
+{
+ g_hInstance = hInstance;
+
+ return TRUE;
+}
+
+extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD)
+{
+ return &pluginInfo;
+}
+
+extern "C" __declspec(dllexport) const MUUID MirandaInterfaces[] = { MIID_PROTOCOL, MIID_LAST };
+
+extern "C" int __declspec(dllexport) Load(void)
+{
+ g_hToxLibrary = LoadLibrary(_T("libtox.dll"));
+ if (g_hToxLibrary == NULL)
+ return 0;
+
+ mir_getCLI();
+ mir_getLP(&pluginInfo);
+
+ PROTOCOLDESCRIPTOR pd = { sizeof(pd) };
+ pd.szName = "TOX";
+ pd.type = PROTOTYPE_PROTOCOL;
+ pd.fnInit = (pfnInitProto)CToxProto::InitAccount;
+ pd.fnUninit = (pfnUninitProto)CToxProto::UninitAccount;
+ CallService(MS_PROTO_REGISTERMODULE, 0, (LPARAM)&pd);
+
+ HookEvent(ME_SYSTEM_MODULESLOADED, &CToxProto::OnModulesLoaded);
+
+ return 0;
+}
+
+extern "C" int __declspec(dllexport) Unload(void)
+{
+ CToxProto::UninitIcons();
+ CToxProto::UninitMenus();
+
+ if (g_hToxLibrary)
+ {
+ FreeLibrary(g_hToxLibrary);
+ }
+
+ return 0;
+}
\ No newline at end of file |