summaryrefslogtreecommitdiff
path: root/protocols/Skype/src/skype_services.cpp
blob: 4900b51b9943ad7d400d0ec48b20ab7c3f5d7a40 (plain)
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
#include "skype_proto.h"

LIST<void> CSkypeProto::serviceList(1);

void CSkypeProto::InitServiceList()
{
	CSkypeProto::serviceList.insert(
		::CreateServiceFunction("Skype/MenuChoose", CSkypeProto::MenuChooseService));
}

void CSkypeProto::UninitServiceList()
{
	for (int i = 0; i < CSkypeProto::serviceList.getCount(); i++)
	{
		::DestroyServiceFunction(CSkypeProto::serviceList[i]);
	}
}

void CSkypeProto::InitInstanceServiceList()
{
	// Message API
	this->CreateServiceObj(PS_CREATEACCMGRUI, &CSkypeProto::OnAccountManagerInit);
	// Chat API
	this->CreateServiceObj(PS_JOINCHAT, &CSkypeProto::OnJoinChat);
	this->CreateServiceObj(PS_LEAVECHAT, &CSkypeProto::OnLeaveChat);
	// Avatar API
	this->CreateServiceObj(PS_GETAVATARINFOT, &CSkypeProto::GetAvatarInfo);
	this->CreateServiceObj(PS_GETAVATARCAPS, &CSkypeProto::GetAvatarCaps);
	this->CreateServiceObj(PS_GETMYAVATART, &CSkypeProto::GetMyAvatar);
	this->CreateServiceObj(PS_SETMYAVATART, &CSkypeProto::SetMyAvatar);
}

void CSkypeProto::UninitInstanceServiceList()
{
	for (int i = 0; i < this->instanceServiceList.getCount(); i++)
	{
		::DestroyServiceFunction(this->instanceServiceList[i]);
	}
}