/*
Copyright (C) 2025 Miranda NG team (https://miranda-ng.org)
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 version 2
of the License.
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, see .
*/
#include "stdafx.h"
CMPlugin g_plugin;
char g_szMirVer[100];
HANDLE g_hCallEvent;
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,
// {DCD56CEC-C61B-4275-A010-8C65C5B48815}
{ 0xDCD56CEC, 0xC61B, 0x4275, { 0xa0, 0x10, 0x8c, 0x65, 0xc5, 0x84, 0x88, 0x15 }}
};
CMPlugin::CMPlugin() :
ACCPROTOPLUGIN("Teams", pluginInfoEx)
{
SetUniqueId("id");
}
/////////////////////////////////////////////////////////////////////////////////////////
extern "C" __declspec(dllexport) const MUUID MirandaInterfaces[] = { MIID_PROTOCOL, MIID_LAST };
/////////////////////////////////////////////////////////////////////////////////////////
static IconItem iconList[] = {
{ LPGEN("Protocol icon"), "main", IDI_TEAMS },
{ LPGEN("Create new chat icon"), "conference", IDI_CONFERENCE },
{ LPGEN("Block user icon"), "user_block", IDI_BLOCKUSER },
{ LPGEN("Unblock user icon"), "user_unblock", IDI_UNBLOCKUSER },
{ LPGEN("Incoming call icon"), "inc_call", IDI_CALL },
{ LPGEN("Notification icon"), "notify", IDI_NOTIFY },
{ LPGEN("Error icon"), "error", IDI_ERRORICON },
{ LPGEN("Action icon"), "me_action", IDI_ACTION_ME }
};
int CMPlugin::Load()
{
registerIcon("Protocols/" MODULENAME, iconList, MODULENAME);
g_hCallEvent = CreateHookableEvent(MODULENAME "/IncomingCall");
return 0;
}
/////////////////////////////////////////////////////////////////////////////////////////
int CMPlugin::Unload()
{
DestroyHookableEvent(g_hCallEvent);
return 0;
}