1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
#include "stdafx.h"
CMPlugin g_plugin;
HANDLE hExtraXStatus;
/////////////////////////////////////////////////////////////////////////////////////////
PLUGININFOEX pluginInfoEx =
{
sizeof(PLUGININFOEX),
__PLUGIN_NAME,
PLUGIN_MAKE_VERSION(__MAJOR_VERSION, __MINOR_VERSION, __RELEASE_NUM, __BUILD_NUM),
__DESCRIPTION,
__AUTHOR,
__COPYRIGHT,
__AUTHORWEB,
UNICODE_AWARE,
// {68F5A030-BA32-48EC-9507-5C2FBDEA5217}
{ 0x68f5a030, 0xba32, 0x48ec, { 0x95, 0x7, 0x5c, 0x2f, 0xbd, 0xea, 0x52, 0x17 }}
};
CMPlugin::CMPlugin() :
ACCPROTOPLUGIN<CSteamProto>("STEAM", pluginInfoEx)
{
SetUniqueId(DBKEY_STEAM_ID);
}
/////////////////////////////////////////////////////////////////////////////////////////
extern "C" __declspec(dllexport) const MUUID MirandaInterfaces[] = { MIID_PROTOCOL, MIID_LAST };
/////////////////////////////////////////////////////////////////////////////////////////
void CMPlugin::InitSteamServices()
{
// services from steammessages_auth.steamclient.proto
services["Authentication"] = &authentication__descriptor;
services["AuthenticationSupport"] = &authentication_support__descriptor;
// services from steammessages_chat.steamclient.proto
services["Chat"] = &chat__descriptor;
services["ChatRoom"] = &chat_room__descriptor;
services["ChatRoomClient"] = &chat_room_client__descriptor;
// services from steammessages_friendmessages.steamclient.proto
services["FriendMessages"] = &friend_messages__descriptor;
services["FriendMessagesClient"] = &friend_messages_client__descriptor;
// static service handlers
serviceHandlers[PollAuthSessionStatus] = ServiceResponseHandler(&CSteamProto::OnPollSession);
serviceHandlers[GetPasswordRSAPublicKey] = ServiceResponseHandler(&CSteamProto::OnGotRsaKey);
serviceHandlers[BeginAuthSessionViaCredentials] = ServiceResponseHandler(&CSteamProto::OnBeginSession);
serviceHandlers[UpdateAuthSessionWithSteamGuardCode] = ServiceResponseHandler(&CSteamProto::OnGotConfirmationCode);
serviceHandlers[FriendSendMessage] = ServiceResponseHandler(&CSteamProto::OnMessageSent);
}
int CMPlugin::Load()
{
InitSteamServices();
// extra statuses
char iconName[100];
mir_snprintf(iconName, "%s_%s", MODULE, "gaming");
hExtraXStatus = ExtraIcon_RegisterIcolib("steam_game", LPGEN("Steam game"), iconName);
HookEvent(ME_SKIN_ICONSCHANGED, OnReloadIcons);
// menus
CSteamProto::InitMenus();
return 0;
}
|