summaryrefslogtreecommitdiff
path: root/plugins/Scriver/srmm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Scriver/srmm.cpp')
-rw-r--r--plugins/Scriver/srmm.cpp96
1 files changed, 96 insertions, 0 deletions
diff --git a/plugins/Scriver/srmm.cpp b/plugins/Scriver/srmm.cpp
new file mode 100644
index 0000000000..d635fe47c5
--- /dev/null
+++ b/plugins/Scriver/srmm.cpp
@@ -0,0 +1,96 @@
+/*
+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),
+ "Scriver",
+ 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)
+ {0x84636f78, 0x2057, 0x4302, { 0x8a, 0x65, 0x23, 0xa1, 0x6d, 0x46, 0x84, 0x4c }} //{84636F78-2057-4302-8A65-23A16D46844C}
+};
+
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+{
+ g_hInst = hinstDLL;
+ return TRUE;
+}
+
+__declspec(dllexport)
+ PLUGININFOEX *MirandaPluginInfoEx(DWORD mirandaVersion)
+{
+ 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();
+}