1 /* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
2 /* If you are missing that file, acquire a complete release at teeworlds.com. */
3 #ifndef ENGINE_MASTERSERVER_H
4 #define ENGINE_MASTERSERVER_H
8 class IMasterServer
: public IInterface
10 MACRO_INTERFACE("masterserver", 0)
18 virtual void Init() = 0;
19 virtual void SetDefault() = 0;
20 virtual int Load() = 0;
21 virtual int Save() = 0;
23 virtual int RefreshAddresses(int Nettype
) = 0;
24 virtual void Update() = 0;
25 virtual int IsRefreshing() = 0;
26 virtual NETADDR
GetAddr(int Index
) = 0;
27 virtual const char *GetName(int Index
) = 0;
28 virtual bool IsValid(int Index
) = 0;
31 class IEngineMasterServer
: public IMasterServer
33 MACRO_INTERFACE("enginemasterserver", 0)
37 extern IEngineMasterServer
*CreateEngineMasterServer();