summaryrefslogtreecommitdiff
path: root/plugins/Scriver/srmm.c
diff options
context:
space:
mode:
authorVadim Dashevskiy <watcherhd@gmail.com>2012-05-15 10:38:20 +0000
committerVadim Dashevskiy <watcherhd@gmail.com>2012-05-15 10:38:20 +0000
commit48540940b6c28bb4378abfeb500ec45a625b37b6 (patch)
tree2ef294c0763e802f91d868bdef4229b6868527de /plugins/Scriver/srmm.c
parent5c350913f011e119127baeb32a6aedeb4f0d33bc (diff)
initial commit
git-svn-id: http://svn.miranda-ng.org/main/trunk@2 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Scriver/srmm.c')
-rw-r--r--plugins/Scriver/srmm.c106
1 files changed, 106 insertions, 0 deletions
diff --git a/plugins/Scriver/srmm.c b/plugins/Scriver/srmm.c
new file mode 100644
index 0000000000..fc3d85b055
--- /dev/null
+++ b/plugins/Scriver/srmm.c
@@ -0,0 +1,106 @@
+/*
+Scriver
+
+Copyright 2000-2012 Miranda ICQ/IM project,
+
+all portions of this codebase are copyrighted to the people
+listed in contributors.txt.
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+#include "commonheaders.h"
+
+int OnLoadModule(void);
+int OnUnloadModule(void);
+
+struct MM_INTERFACE mmi;
+struct LIST_INTERFACE li;
+struct UTF8_INTERFACE utfi;
+TIME_API tmi;
+
+PLUGINLINK *pluginLink;
+HINSTANCE g_hInst;
+int hLangpack;
+
+ITaskbarList3 * pTaskbarInterface;
+
+PLUGININFOEX pluginInfo = {
+ sizeof(PLUGININFOEX),
+#ifdef _UNICODE
+ "Scriver (Unicode)",
+#else
+ "Scriver",
+#endif
+ PLUGIN_MAKE_VERSION(2, 10, 0, 2),
+ "Scriver - send and receive instant messages",
+ "Miranda IM Development Team",
+ "the_leech@users.berlios.de",
+ "Copyright (c) 2000-2012 Miranda IM Project",
+ "http://www.miranda-im.org",
+ UNICODE_AWARE,
+ DEFMOD_SRMESSAGE, // replace internal version (if any)
+#ifdef _UNICODE
+ {0x84636f78, 0x2057, 0x4302, { 0x8a, 0x65, 0x23, 0xa1, 0x6d, 0x46, 0x84, 0x4c }} //{84636F78-2057-4302-8A65-23A16D46844C}
+#else
+ {0x1e91b6c9, 0xe040, 0x4a6f, { 0xab, 0x56, 0xdf, 0x76, 0x98, 0xfa, 0xcb, 0xf1 }} //{1E91B6C9-E040-4a6f-AB56-DF7698FACBF1}
+#endif
+};
+
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+{
+ g_hInst = hinstDLL;
+ return TRUE;
+}
+
+__declspec(dllexport)
+ PLUGININFOEX *MirandaPluginInfoEx(DWORD mirandaVersion)
+{
+ if (mirandaVersion < PLUGIN_MAKE_VERSION(0, 8, 0, 0))
+ return NULL;
+ return &pluginInfo;
+}
+
+static const MUUID interfaces[] = {MIID_SRMM, MIID_CHAT, MIID_LAST};
+__declspec(dllexport)
+ const MUUID* MirandaPluginInterfaces(void)
+{
+ return interfaces;
+}
+
+int __declspec(dllexport) Load(PLUGINLINK * link)
+{
+ pluginLink = link;
+
+ // set the memory manager
+ mir_getMMI( &mmi );
+ mir_getLI( &li );
+ mir_getUTFI( &utfi );
+ mir_getTMI(&tmi);
+ mir_getLP( &pluginInfo );
+
+ if (IsWinVer7Plus())
+ CoCreateInstance(&CLSID_TaskbarList, NULL, CLSCTX_ALL, &IID_ITaskbarList3, (void**)&pTaskbarInterface);
+
+ InitSendQueue();
+ return OnLoadModule();
+}
+
+int __declspec(dllexport) Unload(void)
+{
+ DestroySendQueue();
+ if (pTaskbarInterface)
+ pTaskbarInterface->lpVtbl->Release(pTaskbarInterface);
+ return OnUnloadModule();
+}