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

CIRCConnection Class Reference

#include <IRCConnection.h>

Inheritance diagram for CIRCConnection:

CConnection CObject< CIRCConnection, CUser > CZoneObject< CIRCConnection, 16 > CSocketEvents CObjectBase CPersistable

List of all members.


Detailed Description

CIRCConnection

An IRC connection.

Definition at line 55 of file IRCConnection.h.


Public Member Functions

 CIRCConnection (const char *Host, unsigned short Port, CUser *Owner, safe_box_t Box, const char *BindIp, bool SSL=false, int Family=AF_INET)
void Destroy (void)
void FlushSendQ (void)
safe_box_t GetBox (void)
CChannelGetChannel (const char *Name)
CHashtable< CChannel *, false, 16 > * GetChannels (void)
const char * GetCurrentNick (void) const
CFloodControlGetFloodControl (void)
char GetHighestUserFlag (const char *Modes) const
size_t GetInboundRate (void)
const char * GetISupport (const char *Feature) const
const CHashtable< char
*, false, 32 > * 
GetISupportAll (void) const
sockaddr * GetLocalAddress (void) const
CUserGetOwner (void) const
const X509 * GetPeerCertificate (void) const
CQueueGetQueueHigh (void)
CQueueGetQueueLow (void)
CQueueGetQueueMiddle (void)
size_t GetRecvqSize (void) const
sockaddr * GetRemoteAddress (void) const
connection_role_e GetRole (void) const
size_t GetSendqSize (void) const
const char * GetServer (void) const
const char * GetServerFeat (void) const
const char * GetServerVersion (void) const
const char * GetSite (void)
SOCKET GetSocket (void) const
const CTrafficStatsGetTrafficStats (void) const
virtual CUserGetUser (void) const
const char * GetUsermodes (void)
const CZone< CIRCConnection,
HunkSize > * 
GetZone (void)
bool IsChanMode (char Mode) const
bool IsConnected (void)
bool IsLocked (void) const
bool IsNickMode (char Char) const
bool IsNickPrefix (char Char) const
bool IsSSL (void) const
void JoinChannels (void)
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 ()
void ParseLine (const char *Line)
char PrefixForChanMode (char Mode) const
virtual int Read (bool DontProcess=false)
virtual bool ReadLine (char **Out)
int RequiresParameter (char Mode) const
void SetISupport (const char *Feature, const char *Value)
void SetOwner (CUser *Owner)
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 void WriteLine (const char *Format,...)
virtual ~CIRCConnection ()

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

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

Private Member Functions

CChannelAddChannel (const char *Channel)
void AsyncBindIpDnsFinished (hostent *Response)
void AsyncDnsFinished (hostent *Response)
virtual void Error (int ErrorValue)
virtual const char * GetClassName (void) const
virtual bool HasQueuedData (void) const
bool ModuleEvent (int ArgC, const char **ArgV)
bool ParseLineArgV (int ArgC, const char **ArgV)
virtual int Read (void)
void RemoveChannel (const char *Channel)
void UpdateChannelConfig (void)
void UpdateHostHelper (const char *Host)
void UpdateWhoHelper (const char *Nick, const char *Realname, const char *Server)
virtual int Write (void)
void WriteUnformattedLine (const char *Line)

Private Attributes

CHashtable< CChannel *, false, 16 > * m_Channels
char * m_CurrentNick
CTimerm_DelayJoinTimer
bool m_EatPong
CFloodControlm_FloodControl
CHashtable< char *, false, 32 > * m_ISupport
time_t m_LastResponse
CTimerm_NickCatchTimer
CTimerm_PingTimer
CQueuem_QueueHigh
CQueuem_QueueLow
CQueuem_QueueMiddle
char * m_Server
char * m_ServerFeat
char * m_ServerVersion
char * m_Site
connection_state_e m_State
char * m_Usermodes

Friends

bool DelayJoinTimer (time_t Now, void *IRCConnection)
bool IRCPingTimer (time_t Now, void *IRCConnection)
bool NickCatchTimer (time_t Now, void *IRCConnection)

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

Generated by  Doxygen 1.6.0   Back to index