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

CClientConnection Class Reference

#include <ClientConnection.h>

Inheritance diagram for CClientConnection:

CConnection CObject< CClientConnection, CUser > CZoneObject< CClientConnection, 16 > CSocketEvents CObjectBase CPersistable CClientConnectionMultiplexer

List of all members.


Detailed Description

CClientConnection

A class for clients of the IRC bouncer.

Definition at line 47 of file ClientConnection.h.


Public Member Functions

virtual void AsyncBindIpDnsFinished (hostent *Response)
virtual void AsyncDnsFinished (hostent *Response)
void AsyncDnsFinishedClient (hostent *response)
 CClientConnection (SOCKET Socket, safe_box_t Box, bool SSL=false)
virtual void ChangeNick (const char *NewNick)
virtual void Destroy (void)
virtual void Error (int ErrorCode)
void FlushSendQ (void)
safe_box_t GetBox (void)
virtual commandlist_t * GetCommandList (void)
size_t GetInboundRate (void)
sockaddr * GetLocalAddress (void) const
virtual const char * GetNick (void) const
CUserGetOwner (void) const
const X509 * GetPeerCertificate (void) const
virtual const char * GetPeerName (void) const
virtual const char * GetQuitReason (void) const
size_t GetRecvqSize (void) const
sockaddr * GetRemoteAddress (void) const
connection_role_e GetRole (void) const
size_t GetSendqSize (void) const
SOCKET GetSocket (void) const
const CTrafficStatsGetTrafficStats (void) const
virtual CUserGetUser (void) const
const CZone< CClientConnection,
HunkSize > * 
GetZone (void)
virtual bool HasQueuedData (void) const
virtual clientdata_t Hijack (void)
bool IsConnected (void)
bool IsLocked (void) const
bool IsSSL (void) const
virtual void Kill (const char *Error)
void Lock (void)
void operator delete (void *Object)
void * operator new (size_t Size, CMemoryManager *Manager) throw ()
void * operator new (size_t Size) throw ()
virtual void ParseLine (const char *Line)
virtual void Privmsg (const char *Text)
virtual bool ReadLine (char **Out)
virtual void RealNotice (const char *Text)
virtual void SetNick (const char *NewNick)
void SetOwner (CUser *Owner)
virtual void SetQuitReason (const char *Reason)
void SetRecvQ (CFIFOBuffer *Buffer)
void SetSendQ (CFIFOBuffer *Buffer)
void SetSocket (SOCKET Socket)
void SetSSLObject (void *SSLObject)
void SetTrafficStats (CTrafficStats *Stats)
virtual bool ShouldDestroy (void) const
void Shutdown (void)
virtual int SSLVerify (int PreVerifyOk, X509_STORE_CTX *Context) const
virtual int Write (void)
virtual void WriteLine (const char *Format,...)
virtual ~CClientConnection (void)

Protected Member Functions

void AsyncConnect (void)
CObjectBaseGetOwnerBase (void) const
int GetTypeBase (void)
void InitSocket (void)
void ProcessBuffer (void)
void SetBox (safe_box_t Box)
void SetOwnerBase (CObjectBase *Owner)
void SetRole (connection_role_e Role)
void SetTypeBase (int Type)
void SetUser (CUser *User)
void Timeout (int TimeLeft)

Protected Attributes

CTimerm_AuthTimer
bool m_HasSSL
bool m_Locked
CFIFOBufferm_RecvQ
CFIFOBufferm_SendQ
bool m_Shutdown
SSL * m_SSL
time_t m_Timeout

Private Member Functions

 CClientConnection (safe_box_t Box)
virtual const char * GetClassName (void) const
bool ParseLineArgV (int argc, const char **argv)
bool ProcessBncCommand (const char *Subcommand, int argc, const char **argv, bool NoticeUser)
virtual int Read (bool DontProcess=false)
void SetPeerName (const char *PeerName, bool LookupFailure)
bool ValidateUser (void)
void WriteUnformattedLine (const char *Line)

Private Attributes

CDnsQuerym_ClientLookup
commandlist_t m_CommandList
time_t m_LastResponse
bool m_NamesXSupport
char * m_Nick
char * m_Password
char * m_PeerName
char * m_PeerNameTemp
CTimerm_PingTimer
char * m_QuitReason
char * m_Username

Friends

bool ClientAuthTimer (time_t Now, void *Client)
bool ClientPingTimer (time_t Now, void *ClientConnection)

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

Generated by  Doxygen 1.6.0   Back to index