Logo Search packages:      
Sourcecode: sbnc version File versions  Download package

CCore Class Reference

#include <Core.h>

List of all members.

Detailed Description


The main application class.

Definition at line 81 of file Core.h.

Public Member Functions

RESULT< bool > AddAdditionalListener (unsigned short Port, const char *BindAddress=NULL, bool SSL=false)
RESULT< bool > AddHostAllow (const char *Mask, bool UpdateConfig=true)
const char * BuildPath (const char *Filename, const char *BasePath=NULL) const
 CACHE (System)*GetConfigCache(void)
bool CanHostConnect (const char *Host) const
 CCore (CConfig *Config, int argc, char **argv, bool Daemonized)
CConfigCreateConfigObject (const char *Filename, CUser *User)
CFakeClient * CreateFakeClient (void) const
SOCKET CreateListener (unsigned short Port, const char *BindIp=NULL, int Family=AF_INET) const
CTimerCreateTimer (unsigned int Interval, bool Repeat, TimerProc Function, void *Cookie) const
RESULT< CUser * > CreateUser (const char *Username, const char *Password)
const char * DebugImpulse (int impulse)
void DeleteFakeClient (CFakeClient *FakeClient) const
void Fatal (void)
CVector< additionallistener_t > * GetAdditionalListeners (void)
CVector< CUser * > * GetAdminUsers (void)
int GetArgC (void) const
const char *const * GetArgV (void) const
const char * GetBasePath (void) const
const char * GetBouncerVersion (void) const
CConfigGetConfig (void)
const char * GetDefaultRealName (void) const
const char * GetDefaultVHost (void) const
bool GetDontMatchUser (void) const
const CVector< char * > * GetHostAllows (void) const
const char * GetIdent (void) const
int GetInterval (void) const
CLogGetLog (void)
CClientListener * GetMainListener (void) const
CClientListener * GetMainListenerV6 (void) const
CClientListener * GetMainSSLListener (void) const
CClientListener * GetMainSSLListenerV6 (void) const
bool GetMD5 (void) const
const CVector< CModule * > * GetModules (void) const
const char * GetMotd (void) const
unsigned int GetResourceLimit (const char *Resource, CUser *User=NULL)
size_t GetSendqSize (void) const
const socket_t * GetSocketByClass (const char *Class, int Index) const
SSL_CTX * GetSSLClientContext (void)
SSL_CTX * GetSSLContext (void)
int GetSSLCustomIndex (void) const
time_t GetStartup (void) const
int GetStatus (void) const
int GetTagInteger (const char *Tag) const
const char * GetTagName (int Index) const
const char * GetTagString (const char *Tag) const
CUserGetUser (const char *Name)
CHashtable< CUser *, false, 512 > * GetUsers (void)
const utility_tGetUtilities (void)
const CVector
< CZoneInformation * > * 
GetZones (void) const
void GlobalNotice (const char *Text)
void InternalLogError (const char *Format,...)
void InternalSetFileAndLine (const char *Filename, unsigned int Line)
bool IsDaemonized (void)
bool IsRegisteredSocket (CSocketEvents *Events) const
bool IsValidHostAllow (const char *Mask) const
bool IsValidUsername (const char *Username) const
RESULT< CModule * > LoadModule (const char *Filename)
void Log (const char *Format,...)
void LogUser (CUser *User, const char *Format,...)
bool Match (const char *Pattern, const char *String) const
const char * MD5 (const char *String, const char *Salt) const
void RegisterSocket (SOCKET Socket, CSocketEvents *EventInterface)
RESULT< bool > RemoveAdditionalListener (unsigned short Port)
RESULT< bool > RemoveHostAllow (const char *Mask, bool UpdateConfig=true)
RESULT< bool > RemoveUser (const char *Username, bool RemoveConfig=true)
void SetDefaultRealName (const char *RealName)
void SetDefaultVHost (const char *VHost)
void SetDontMatchUser (bool Value)
void SetIdent (const char *Ident)
void SetInterval (int Interval)
void SetMD5 (bool MD5)
void SetMotd (const char *Motd)
void SetResourceLimit (const char *Resource, unsigned int Limit, CUser *User=NULL)
void SetSendqSize (size_t NewSize)
void SetStatus (int NewStatus)
bool SetTagInteger (const char *Tag, int Value)
bool SetTagString (const char *Tag, const char *Value)
void Shutdown (void)
SOCKET SocketAndConnect (const char *Host, unsigned short Port, const char *BindIp)
void StartMainLoop (void)
bool UnloadModule (CModule *Module)
void UnregisterSocket (SOCKET Socket)
virtual ~CCore (void)

Private Member Functions

 CACHE (System) m_ConfigCache
void InitializeAdditionalListeners (void)
bool MakeConfig (void)
void RegisterDnsQuery (CDnsQuery *DnsQuery)
void RegisterZone (CZoneInformation *ZoneInformation)
void UninitializeAdditionalListeners (void)
void UnregisterDnsQuery (CDnsQuery *DnsQuery)
void UpdateAdditionalListeners (void)
void UpdateHosts (void)
void UpdateModuleConfig (void)
void UpdateUserConfig (void)
void WritePidFile (void) const

Private Attributes

CVector< additionallistener_tm_AdditionalListeners
CVector< CUser * > m_AdminUsers
CVector< char * > m_Args
bool m_Daemonized
CVector< CDnsQuery * > m_DnsQueries
CVector< char * > m_HostAllows
CClientListener * m_Listener
CClientListener * m_ListenerV6
bool m_LoadingListeners
bool m_LoadingModules
CVector< CModule * > m_Modules
CList< socket_t > m_OtherSockets
CVector< pollfd > m_PollFds
SSL_CTX * m_SSLClientContext
SSL_CTX * m_SSLContext
CClientListener * m_SSLListener
CClientListener * m_SSLListenerV6
time_t m_Startup
int m_Status
CList< CTimer * > m_Timers
CHashtable< CUser *, false, 512 > m_Users
CVector< CZoneInformation * > m_Zones


class CDnsQuery
class CTimer
pollfd * registersocket (int Socket)
bool RegisterZone (CZoneInformation *ZoneInformation)
void unregistersocket (int Socket)

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index