ZNC  trunk
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Attributes | List of all members
CChan Class Reference

#include <Chan.h>

+ Collaboration diagram for CChan:

Public Types

enum  EUserPerms {
  Voice = '+', HalfOp = '', Op = '@', Admin = '!',
  Owner = '*'
}
 
enum  EModes {
  M_Private = 'p', M_Secret = 's', M_Moderated = 'm', M_InviteOnly = 'i',
  M_NoMessages = 'n', M_OpTopic = 't', M_Limit = 'l', M_Key = 'k',
  M_Op = 'o', M_Voice = 'v', M_Ban = 'b', M_Except = 'e'
}
 

Public Member Functions

 CChan (const CString &sName, CIRCNetwork *pNetwork, bool bInConfig, CConfig *pConfig=NULL)
 
 ~CChan ()
 
void Reset ()
 
CConfig ToConfig ()
 
void Clone (CChan &chan)
 
void Cycle () const
 
void JoinUser (bool bForce=false, const CString &sKey="", CClient *pClient=NULL)
 
void DetachUser ()
 
void AttachUser ()
 
void OnWho (const CString &sNick, const CString &sIdent, const CString &sHost)
 
void SetModes (const CString &s)
 
void ModeChange (const CString &sModes, const CNick *OpNick=NULL)
 
bool AddMode (unsigned char uMode, const CString &sArg)
 
bool RemMode (unsigned char uMode)
 
CString GetModeString () const
 
CString GetModeArg (CString &sArgs) const
 
CString GetModeForNames () const
 
void ClearNicks ()
 
const CNickFindNick (const CString &sNick) const
 
CNickFindNick (const CString &sNick)
 
int AddNicks (const CString &sNicks)
 
bool AddNick (const CString &sNick)
 
bool RemNick (const CString &sNick)
 
bool ChangeNick (const CString &sOldNick, const CString &sNewNick)
 
const CBufferGetBuffer () const
 
unsigned int GetBufferCount () const
 
bool SetBufferCount (unsigned int u, bool bForce=false)
 
size_t AddBuffer (const CString &sFormat, const CString &sText="", const timeval *ts=NULL)
 
void ClearBuffer ()
 
void SendBuffer (CClient *pClient)
 
void SendBuffer (CClient *pClient, const CBuffer &Buffer)
 
CString GetPermStr () const
 
bool HasPerm (unsigned char uPerm) const
 
bool AddPerm (unsigned char uPerm)
 
bool RemPerm (unsigned char uPerm)
 
void SetModeKnown (bool b)
 
void SetIsOn (bool b)
 
void SetKey (const CString &s)
 
void SetTopic (const CString &s)
 
void SetTopicOwner (const CString &s)
 
void SetTopicDate (unsigned long u)
 
void SetDefaultModes (const CString &s)
 
void SetAutoClearChanBuffer (bool b)
 
void SetDetached (bool b=true)
 
void SetInConfig (bool b)
 
void SetCreationDate (unsigned long u)
 
void Disable ()
 
void Enable ()
 
void IncJoinTries ()
 
void ResetJoinTries ()
 
bool IsModeKnown () const
 
bool HasMode (unsigned char uMode) const
 
CString GetOptions () const
 
CString GetModeArg (unsigned char uMode) const
 
std::map< char, unsigned int > GetPermCounts () const
 
bool IsOn () const
 
const CStringGetName () const
 
const std::map< unsigned char,
CString > & 
GetModes () const
 
const CStringGetKey () const
 
const CStringGetTopic () const
 
const CStringGetTopicOwner () const
 
unsigned long GetTopicDate () const
 
const CStringGetDefaultModes () const
 
const std::map< CString, CNick > & GetNicks () const
 
size_t GetNickCount () const
 
bool AutoClearChanBuffer () const
 
bool IsDetached () const
 
bool InConfig () const
 
unsigned long GetCreationDate () const
 
bool IsDisabled () const
 
unsigned int GetJoinTries () const
 

Protected Attributes

bool m_bDetached
 
bool m_bIsOn
 
bool m_bAutoClearChanBuffer
 
bool m_bInConfig
 
bool m_bDisabled
 
CString m_sName
 
CString m_sKey
 
CString m_sTopic
 
CString m_sTopicOwner
 
unsigned long m_ulTopicDate
 
unsigned long m_ulCreationDate
 
CIRCNetworkm_pNetwork
 
CNick m_Nick
 
unsigned int m_uJoinTries
 
CString m_sDefaultModes
 
std::map< CString, CNickm_msNicks
 
CBuffer m_Buffer
 
bool m_bModeKnown
 
std::map< unsigned char, CStringm_musModes
 

Member Enumeration Documentation

Enumerator
M_Private 
M_Secret 
M_Moderated 
M_InviteOnly 
M_NoMessages 
M_OpTopic 
M_Limit 
M_Key 
M_Op 
M_Voice 
M_Ban 
M_Except 
Enumerator
Voice 
HalfOp 
Op 
Admin 
Owner 

Constructor & Destructor Documentation

CChan::CChan ( const CString sName,
CIRCNetwork pNetwork,
bool  bInConfig,
CConfig pConfig = NULL 
)
CChan::~CChan ( )

Member Function Documentation

size_t CChan::AddBuffer ( const CString sFormat,
const CString sText = "",
const timeval *  ts = NULL 
)
inline

References CBuffer::AddLine(), and m_Buffer.

bool CChan::AddMode ( unsigned char  uMode,
const CString sArg 
)
bool CChan::AddNick ( const CString sNick)
int CChan::AddNicks ( const CString sNicks)
bool CChan::AddPerm ( unsigned char  uPerm)
inline

References CNick::AddPerm(), and m_Nick.

void CChan::AttachUser ( )
bool CChan::AutoClearChanBuffer ( ) const
inline
bool CChan::ChangeNick ( const CString sOldNick,
const CString sNewNick 
)
void CChan::ClearBuffer ( )
inline

References CBuffer::Clear(), and m_Buffer.

void CChan::ClearNicks ( )
void CChan::Clone ( CChan chan)
void CChan::Cycle ( ) const
void CChan::DetachUser ( )
void CChan::Disable ( )
inline

References m_bDisabled.

void CChan::Enable ( )
const CNick* CChan::FindNick ( const CString sNick) const
CNick* CChan::FindNick ( const CString sNick)
const CBuffer& CChan::GetBuffer ( ) const
inline

References m_Buffer.

unsigned int CChan::GetBufferCount ( ) const
inline
unsigned long CChan::GetCreationDate ( ) const
inline

References m_ulCreationDate.

const CString& CChan::GetDefaultModes ( ) const
inline

References m_sDefaultModes.

unsigned int CChan::GetJoinTries ( ) const
inline

References m_uJoinTries.

const CString& CChan::GetKey ( ) const
inline

References m_sKey.

CString CChan::GetModeArg ( CString sArgs) const
CString CChan::GetModeArg ( unsigned char  uMode) const
CString CChan::GetModeForNames ( ) const
const std::map<unsigned char, CString>& CChan::GetModes ( ) const
inline

References m_musModes.

CString CChan::GetModeString ( ) const
const CString& CChan::GetName ( ) const
inline

References m_sName.

size_t CChan::GetNickCount ( ) const
inline

References m_msNicks.

const std::map<CString,CNick>& CChan::GetNicks ( ) const
inline

References m_msNicks.

CString CChan::GetOptions ( ) const
std::map<char, unsigned int> CChan::GetPermCounts ( ) const
CString CChan::GetPermStr ( ) const
inline

References CNick::GetPermStr(), and m_Nick.

const CString& CChan::GetTopic ( ) const
inline

References m_sTopic.

unsigned long CChan::GetTopicDate ( ) const
inline

References m_ulTopicDate.

const CString& CChan::GetTopicOwner ( ) const
inline

References m_sTopicOwner.

bool CChan::HasMode ( unsigned char  uMode) const
bool CChan::HasPerm ( unsigned char  uPerm) const
inline

References CNick::HasPerm(), and m_Nick.

void CChan::IncJoinTries ( )
inline

References m_uJoinTries.

bool CChan::InConfig ( ) const
inline

References m_bInConfig.

bool CChan::IsDetached ( ) const
inline

References m_bDetached.

bool CChan::IsDisabled ( ) const
inline

References m_bDisabled.

bool CChan::IsModeKnown ( ) const
inline

References m_bModeKnown.

bool CChan::IsOn ( ) const
inline

References m_bIsOn.

void CChan::JoinUser ( bool  bForce = false,
const CString sKey = "",
CClient pClient = NULL 
)
void CChan::ModeChange ( const CString sModes,
const CNick OpNick = NULL 
)
void CChan::OnWho ( const CString sNick,
const CString sIdent,
const CString sHost 
)
bool CChan::RemMode ( unsigned char  uMode)
bool CChan::RemNick ( const CString sNick)
bool CChan::RemPerm ( unsigned char  uPerm)
inline

References m_Nick, and CNick::RemPerm().

void CChan::Reset ( )

Referenced by SetIsOn().

void CChan::ResetJoinTries ( )
inline

References m_uJoinTries.

void CChan::SendBuffer ( CClient pClient)
void CChan::SendBuffer ( CClient pClient,
const CBuffer Buffer 
)
void CChan::SetAutoClearChanBuffer ( bool  b)
bool CChan::SetBufferCount ( unsigned int  u,
bool  bForce = false 
)
inline
void CChan::SetCreationDate ( unsigned long  u)
inline

References m_ulCreationDate.

void CChan::SetDefaultModes ( const CString s)
inline

References m_sDefaultModes.

void CChan::SetDetached ( bool  b = true)
inline

References m_bDetached.

void CChan::SetInConfig ( bool  b)
inline

References m_bInConfig.

void CChan::SetIsOn ( bool  b)
inline

References m_bIsOn, and Reset().

void CChan::SetKey ( const CString s)
inline

References m_sKey.

void CChan::SetModeKnown ( bool  b)
inline

References m_bModeKnown.

void CChan::SetModes ( const CString s)
void CChan::SetTopic ( const CString s)
inline

References m_sTopic.

void CChan::SetTopicDate ( unsigned long  u)
inline

References m_ulTopicDate.

void CChan::SetTopicOwner ( const CString s)
inline

References m_sTopicOwner.

CConfig CChan::ToConfig ( )

Member Data Documentation

bool CChan::m_bAutoClearChanBuffer
protected

Referenced by AutoClearChanBuffer().

bool CChan::m_bDetached
protected

Referenced by IsDetached(), and SetDetached().

bool CChan::m_bDisabled
protected

Referenced by Disable(), and IsDisabled().

bool CChan::m_bInConfig
protected

Referenced by InConfig(), and SetInConfig().

bool CChan::m_bIsOn
protected

Referenced by IsOn(), and SetIsOn().

bool CChan::m_bModeKnown
protected

Referenced by IsModeKnown(), and SetModeKnown().

CBuffer CChan::m_Buffer
protected
std::map<CString,CNick> CChan::m_msNicks
protected

Referenced by GetNickCount(), and GetNicks().

std::map<unsigned char, CString> CChan::m_musModes
protected

Referenced by GetModes().

CNick CChan::m_Nick
protected

Referenced by AddPerm(), GetPermStr(), HasPerm(), and RemPerm().

CIRCNetwork* CChan::m_pNetwork
protected
CString CChan::m_sDefaultModes
protected

Referenced by GetDefaultModes(), and SetDefaultModes().

CString CChan::m_sKey
protected

Referenced by GetKey(), and SetKey().

CString CChan::m_sName
protected

Referenced by GetName().

CString CChan::m_sTopic
protected

Referenced by GetTopic(), and SetTopic().

CString CChan::m_sTopicOwner
protected

Referenced by GetTopicOwner(), and SetTopicOwner().

unsigned int CChan::m_uJoinTries
protected
unsigned long CChan::m_ulCreationDate
protected

Referenced by GetCreationDate(), and SetCreationDate().

unsigned long CChan::m_ulTopicDate
protected

Referenced by GetTopicDate(), and SetTopicDate().


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