about summary refs log tree commit diff
path: root/src/engine/client/friends.h
blob: e3258ec2ecc773d971d946f0fb159d63e5d4ce03 (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
/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
/* If you are missing that file, acquire a complete release at teeworlds.com.                */
#ifndef ENGINE_CLIENT_FRIENDS_H
#define ENGINE_CLIENT_FRIENDS_H

#include <engine/friends.h>

class CFriends : public IFriends
{
	CFriendInfo m_aFriends[MAX_FRIENDS];
	int m_NumFriends;

	static void ConAddFriend(IConsole::IResult *pResult, void *pUserData);
	static void ConRemoveFriend(IConsole::IResult *pResult, void *pUserData);

	static void ConfigSaveCallback(IConfig *pConfig, void *pUserData);
	
public:
	CFriends();
	
	void Init();
	
	int NumFriends() const { return m_NumFriends; }
	const CFriendInfo *GetFriend(int Index) const; 
	bool IsFriend(const char *pName, const char *pClan, bool PlayersOnly) const;

	void AddFriend(const char *pName, const char *pClan);
	void RemoveFriend(const char *pName, const char *pClan);
	void RemoveFriend(int Index);
};

#endif