DDraceNetwork Documentation
Loading...
Searching...
No Matches
favorites.h
Go to the documentation of this file.
1
#ifndef ENGINE_FAVORITES_H
2
#define ENGINE_FAVORITES_H
3
4
#include "
kernel.h
"
5
6
#include <
base/types.h
>
7
8
#include <
engine/shared/protocol.h
>
9
10
#include <memory>
11
12
class
IConfigManager
;
13
14
class
IFavorites
:
public
IInterface
15
{
16
MACRO_INTERFACE
(
"favorites"
)
17
18
protected:
19
virtual
void
OnConfigSave
(
IConfigManager
*pConfigManager) = 0;
20
21
public:
22
class
CEntry
23
{
24
public
:
25
int
m_NumAddrs
;
26
NETADDR
m_aAddrs
[
MAX_SERVER_ADDRESSES
];
27
bool
m_AllowPing
;
28
};
29
30
virtual
TRISTATE
IsFavorite
(
const
NETADDR
*pAddrs,
int
NumAddrs)
const
= 0;
31
// Only considers the addresses that are actually favorites.
32
virtual
TRISTATE
IsPingAllowed
(
const
NETADDR
*pAddrs,
int
NumAddrs)
const
= 0;
33
virtual
void
Add
(
const
NETADDR
*pAddrs,
int
NumAddrs) = 0;
34
// Only considers the addresses that are actually favorites.
35
virtual
void
AllowPing
(
const
NETADDR
*pAddrs,
int
NumAddrs,
bool
AllowPing
) = 0;
36
virtual
void
Remove
(
const
NETADDR
*pAddrs,
int
NumAddrs) = 0;
37
virtual
void
AllEntries
(
const
CEntry
**ppEntries,
int
*pNumEntries) = 0;
38
39
// Pass the `IFavorites` instance as callback.
40
static
void
ConfigSaveCallback
(
IConfigManager
*pConfigManager,
void
*pUserData);
41
};
42
43
std::unique_ptr<IFavorites>
CreateFavorites
();
44
#endif
// ENGINE_FAVORITES_H
IConfigManager
Definition
config.h:9
IFavorites::CEntry
Definition
favorites.h:23
IFavorites::CEntry::m_aAddrs
NETADDR m_aAddrs[MAX_SERVER_ADDRESSES]
Definition
favorites.h:26
IFavorites::CEntry::m_AllowPing
bool m_AllowPing
Definition
favorites.h:27
IFavorites::CEntry::m_NumAddrs
int m_NumAddrs
Definition
favorites.h:25
IFavorites
Definition
favorites.h:15
IFavorites::Add
virtual void Add(const NETADDR *pAddrs, int NumAddrs)=0
IFavorites::ConfigSaveCallback
static void ConfigSaveCallback(IConfigManager *pConfigManager, void *pUserData)
Definition
favorites.cpp:264
IFavorites::AllowPing
virtual void AllowPing(const NETADDR *pAddrs, int NumAddrs, bool AllowPing)=0
IFavorites::IsPingAllowed
virtual TRISTATE IsPingAllowed(const NETADDR *pAddrs, int NumAddrs) const =0
IFavorites::AllEntries
virtual void AllEntries(const CEntry **ppEntries, int *pNumEntries)=0
IFavorites::OnConfigSave
virtual void OnConfigSave(IConfigManager *pConfigManager)=0
IFavorites::Remove
virtual void Remove(const NETADDR *pAddrs, int NumAddrs)=0
IFavorites::IsFavorite
virtual TRISTATE IsFavorite(const NETADDR *pAddrs, int NumAddrs) const =0
IInterface::IInterface
IInterface()
Definition
kernel.h:19
protocol.h
MAX_SERVER_ADDRESSES
@ MAX_SERVER_ADDRESSES
Definition
protocol.h:87
CreateFavorites
std::unique_ptr< IFavorites > CreateFavorites()
Definition
favorites.cpp:269
kernel.h
MACRO_INTERFACE
#define MACRO_INTERFACE(Name)
Definition
kernel.h:25
NETADDR
Definition
types.h:72
types.h
TRISTATE
TRISTATE
Definition
types.h:15
src
engine
favorites.h
Generated by
1.16.1