From d776ba116231325d60da900827426c7b1505a8c3 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Sat, 2 May 2015 13:51:40 +0000 Subject: Steam - fixes git-svn-id: http://svn.miranda-ng.org/main/trunk@13371 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/Steam/src/main.cpp | 67 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 protocols/Steam/src/main.cpp (limited to 'protocols/Steam/src/main.cpp') diff --git a/protocols/Steam/src/main.cpp b/protocols/Steam/src/main.cpp new file mode 100644 index 0000000000..6fe8317684 --- /dev/null +++ b/protocols/Steam/src/main.cpp @@ -0,0 +1,67 @@ +#include "stdafx.h" + +int hLangpack; +HINSTANCE g_hInstance; + +HANDLE hExtraXStatus; + +PLUGININFOEX pluginInfo = +{ + sizeof(PLUGININFOEX), + __PLUGIN_NAME, + PLUGIN_MAKE_VERSION(__MAJOR_VERSION, __MINOR_VERSION, __RELEASE_NUM, __BUILD_NUM), + __DESCRIPTION, + __AUTHOR, + __AUTHOREMAIL, + __COPYRIGHT, + __AUTHORWEB, + UNICODE_AWARE, + // {68F5A030-BA32-48EC-9507-5C2FBDEA5217} + { 0x68f5a030, 0xba32, 0x48ec, { 0x95, 0x7, 0x5c, 0x2f, 0xbd, 0xea, 0x52, 0x17 }} +}; + +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) +{ + mir_getLP(&pluginInfo); + + PROTOCOLDESCRIPTOR pd = { sizeof(pd) }; + pd.szName = "STEAM"; + pd.type = PROTOTYPE_PROTOCOL; + pd.fnInit = (pfnInitProto)CSteamProto::InitProtoInstance; + pd.fnUninit = (pfnUninitProto)CSteamProto::UninitProtoInstance; + CallService(MS_PROTO_REGISTERMODULE, 0, (LPARAM)&pd); + + char iconName[100]; + mir_snprintf(iconName, SIZEOF(iconName), "%s_%s", MODULE, "gaming"); + + // extra statuses + HookEvent(ME_SKIN2_ICONSCHANGED, OnReloadIcons); + hExtraXStatus = ExtraIcon_Register("steam_game", LPGEN("Steam game"), iconName); + + CSteamProto::InitMenus(); + + return 0; +} + +extern "C" int __declspec(dllexport) Unload(void) +{ + CSteamProto::UninitProtoInstances(); + + CSteamProto::UninitMenus(); + + return 0; +} \ No newline at end of file -- cgit v1.2.3