From f920ef497f3299ae24fe783ce03bdd93b419f764 Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Fri, 18 May 2012 22:02:50 +0000 Subject: plugins folders renaming git-svn-id: http://svn.miranda-ng.org/main/trunk@60 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Variables/main.cpp | 159 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 plugins/Variables/main.cpp (limited to 'plugins/Variables/main.cpp') diff --git a/plugins/Variables/main.cpp b/plugins/Variables/main.cpp new file mode 100644 index 0000000000..f2718b8b03 --- /dev/null +++ b/plugins/Variables/main.cpp @@ -0,0 +1,159 @@ + /* + Variables Plugin for Miranda-IM (www.miranda-im.org) + Copyright 2003-2006 P. Boon + + 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 "variables.h" +#include "buildnumber.h" + +HINSTANCE hInst; +struct MM_INTERFACE mmi; +struct LIST_INTERFACE li; +PLUGINLINK *pluginLink; +DWORD g_mirandaVersion; +int hLangpack = 0; + +#ifdef UNICODE + // {59B0036E-5403-422e-883B-C9AAF425682B} + #define MIID_VARIABLES { 0x59b0036e, 0x5403, 0x422e, { 0x88, 0x3b, 0xc9, 0xaa, 0xf4, 0x25, 0x68, 0x2b } } +#else + // {352A6BA9-5636-4db0-B92F-7A3289F57902} + #define MIID_VARIABLES { 0x352a6ba9, 0x5636, 0x4db0, { 0xb9, 0x2f, 0x7a, 0x32, 0x89, 0xf5, 0x79, 0x2 } } +#endif + +static HANDLE hExitHook, hModulesLoadedHook; + +static int Exit(WPARAM wParam, LPARAM lParam) +{ + UnhookEvent(hExitHook); + return 0; +} + +static int ModulesLoaded(WPARAM wParam, LPARAM lParam) { + + UnhookEvent(hModulesLoadedHook); + // trigger plugin +#if !defined(WINE) + initTriggerModule(); +#endif + + return 0; +} + +BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved) +{ + hInst=hinstDLL; + return TRUE; +} + +///////////////////////////////////////////////////////////////////////////////////////// +// MirandaPluginInfo - returns an information about a plugin + +PLUGININFO pluginInfo = { + sizeof(PLUGININFO), +#ifdef _WIN64 + "Variables (x64, Unicode)", +#else +#ifdef UNICODE + "Variables (Unicode)", +#else + "Variables", +#endif +#endif + __VERSION_DWORD, + "Adds support for dynamic variables in strings for plugins", + "P Boon", + "unregistered@users.sourceforge.net", + "© 2003-2008 P. Boon, Ricardo Pescuma, George Hazan", + "http://www.miranda-im.org/", + UNICODE_AWARE, + 0 +}; + +extern "C" __declspec(dllexport) PLUGININFO* MirandaPluginInfo(DWORD mirandaVersion) +{ + g_mirandaVersion = mirandaVersion; + return &pluginInfo; +} + +///////////////////////////////////////////////////////////////////////////////////////// +// MirandaPluginInfoEx - returns the extended information about a plugin + +PLUGININFOEX pluginInfoEx = { + sizeof(PLUGININFOEX), +#ifdef _WIN64 + "Variables (x64, Unicode)", +#else +#ifdef UNICODE + "Variables (Unicode)", +#else + "Variables", +#endif +#endif + __VERSION_DWORD, + "Adds support for dynamic variables in strings for plugins", + "P Boon", + "unregistered@users.sourceforge.net", + "© 2003-2008 P. Boon, Ricardo Pescuma, George Hazan", + "http://www.miranda-im.org/", + UNICODE_AWARE, + 0, + MIID_VARIABLES +}; + +extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion) +{ + g_mirandaVersion = mirandaVersion; + return &pluginInfoEx; +} + +///////////////////////////////////////////////////////////////////////////////////////// +// MirandaPluginInterfaces - returns the protocol interface to the core + +static const MUUID interfaces[] = { MIID_VARIABLES, MIID_LAST }; +extern "C" __declspec(dllexport) const MUUID* MirandaPluginInterfaces( void ) +{ + return interfaces; +} + +///////////////////////////////////////////////////////////////////////////////////////// +// Load - plugin's entry point + +extern "C" int __declspec(dllexport) Load(PLUGINLINK *link) +{ + pluginLink = link; + if (UnicodeCheck(pluginInfo.shortName, FALSE)) + return 0; + + mir_getMMI( &mmi ); + mir_getLI( &li ); + mir_getLP( &pluginInfoEx ); + + hExitHook = HookEvent(ME_SYSTEM_OKTOEXIT, Exit); + hModulesLoadedHook = HookEvent(ME_SYSTEM_MODULESLOADED, ModulesLoaded); + LoadVarModule(); + + return 0; +} + +///////////////////////////////////////////////////////////////////////////////////////// +// Unload - destroys plugin from memory + +extern "C" int __declspec(dllexport) Unload(void) +{ + UnloadVarModule(); + return 0; +} -- cgit v1.2.3