17 #ifndef ZNC_IRCNETWORK_H 18 #define ZNC_IRCNETWORK_H 20 #include <znc/zncconfig.h> 36 class CIRCNetworkPingTimer;
37 class CIRCNetworkJoinTimer;
82 CClient* pSkipClient =
nullptr);
84 CClient* pSkipClient =
nullptr);
86 CClient* pSkipClient =
nullptr);
90 const std::vector<CChan*>&
GetChans()
const;
99 const std::vector<CQuery*>&
GetQueries()
const;
109 const std::vector<CServer*>&
GetServers()
const;
116 const CString& sPass =
"",
bool bSSL =
false);
276 bool JoinChan(
CChan* pChan);
329 #endif // !ZNC_IRCNETWORK_H CString m_sNick
Definition: IRCNetwork.h:284
void SetIRCAway(bool b)
Definition: IRCNetwork.h:145
const CString & GetIRCServer() const
std::vector< CClient * > FindClients(const CString &sIdentifier) const
CString m_sRealName
Definition: IRCNetwork.h:287
const SCString & GetTrustedFingerprints() const
Definition: IRCNetwork.h:123
void ClearNoticeBuffer()
Definition: IRCNetwork.h:214
void SetBindHost(const CString &s)
size_type UpdateExactLine(const CMessage &Format, const CString &sText="")
bool DelQuery(const CString &sName)
double GetFloodRate() const
Definition: IRCNetwork.h:246
void SetFloodBurst(unsigned short int uFloodBurst)
Definition: IRCNetwork.h:249
bool SetNextServer(const CServer *pServer)
CBuffer m_MotdBuffer
Definition: IRCNetwork.h:318
bool IsIRCConnected() const
This method will return whether the user is connected and authenticated to an IRC server...
void ClientDisconnected(CClient *pClient)
const CIRCSock * GetIRCSock() const
Definition: IRCNetwork.h:139
bool IsIRCAway() const
Definition: IRCNetwork.h:144
const CString & GetAltNick(const bool bAllowDefault=true) const
unsigned long long m_uBytesRead
Definition: IRCNetwork.h:325
CString m_sEncoding
Definition: IRCNetwork.h:289
CModules * m_pModules
Definition: IRCNetwork.h:293
unsigned long long BytesWritten() const
Definition: IRCNetwork.h:267
void AddRawBuffer(const CMessage &Format, const CString &sText="")
Definition: IRCNetwork.h:160
void SetFloodRate(double fFloodRate)
Definition: IRCNetwork.h:248
bool PutUser(const CString &sLine, CClient *pClient=nullptr, CClient *pSkipClient=nullptr)
unsigned short int m_uFloodBurst
Definition: IRCNetwork.h:315
void DelTrustedFingerprint(const CString &sFP)
Definition: IRCNetwork.h:130
void AddTrustedFingerprint(const CString &sFP)
Definition: IRCNetwork.h:126
void Clear()
Definition: Buffer.h:100
size_t m_uServerIdx
Index in m_vServers of our current server + 1.
Definition: IRCNetwork.h:309
CString GetQuitMsg() const
CBuffer m_RawBuffer
Definition: IRCNetwork.h:317
const CString & GetIdent(const bool bAllowDefault=true) const
const CString & GetChanPrefixes() const
Definition: IRCNetwork.h:105
CString m_sBindHost
Definition: IRCNetwork.h:288
double m_fFloodRate
Set to -1 to disable protection.
Definition: IRCNetwork.h:314
void SetTrustAllCerts(const bool bTrustAll=false)
Definition: IRCNetwork.h:258
std::vector< CChan * > m_vChans
Definition: IRCNetwork.h:299
Definition: Modules.h:1379
CIRCNetworkJoinTimer * m_pJoinTimer
Definition: IRCNetwork.h:322
CNick m_IRCNick
Definition: IRCNetwork.h:311
void AddMotdBuffer(const CString &sFormat, const CString &sText="")
Definition: IRCNetwork.h:198
SCString m_ssTrustedFingerprints
Definition: IRCNetwork.h:291
const CModules & GetModules() const
Definition: IRCNetwork.h:78
void UpdateExactRawBuffer(const CString &sFormat, const CString &sText="")
Definition: IRCNetwork.h:183
CString m_sIdent
Definition: IRCNetwork.h:286
void AddNoticeBuffer(const CString &sFormat, const CString &sText="")
Definition: IRCNetwork.h:217
std::vector< CChan * > FindChans(const CString &sWild) const
std::set< CString > SCString
Definition: ZNCString.h:35
bool SetName(const CString &sName)
bool IsLastServer() const
void UpdateMotdBuffer(const CString &sCommand, const CMessage &Format, const CString &sText="")
Definition: IRCNetwork.h:191
bool m_bTrustAllCerts
Definition: IRCNetwork.h:305
CIRCSock * m_pIRCSock
Definition: IRCNetwork.h:297
const std::vector< CClient * > & GetClients() const
Definition: IRCNetwork.h:70
void UpdateMotdBuffer(const CString &sMatch, const CString &sFormat, const CString &sText="")
Definition: IRCNetwork.h:202
CQuery * FindQuery(const CString &sName) const
void SetEncoding(const CString &s)
void UpdateRawBuffer(const CString &sCommand, const CMessage &Format, const CString &sText="")
Definition: IRCNetwork.h:163
unsigned long long m_uBytesWritten
Definition: IRCNetwork.h:326
CString m_sIRCServer
Definition: IRCNetwork.h:307
CIRCSock * GetIRCSock()
Definition: IRCNetwork.h:138
void AddNoticeBuffer(const CMessage &Format, const CString &sText="")
Definition: IRCNetwork.h:207
unsigned long long BytesRead() const
Definition: IRCNetwork.h:266
CString m_sName
Definition: IRCNetwork.h:281
std::vector< CServer * > m_vServers
Definition: IRCNetwork.h:308
bool HasServers() const
Definition: IRCNetwork.h:110
Definition: FileUtils.h:30
Definition: IRCNetwork.h:40
bool PutIRC(const CString &sLine)
const CString & GetEncoding() const
unsigned short int m_uJoinDelay
Definition: IRCNetwork.h:324
bool IsNetworkAttached() const
Definition: IRCNetwork.h:69
bool GetIRCConnectEnabled() const
Definition: IRCNetwork.h:136
String class that is used inside ZNC.
Definition: ZNCString.h:68
void UpdateExactRawBuffer(const CMessage &Format, const CString &sText="")
Definition: IRCNetwork.h:167
CString m_sAltNick
Definition: IRCNetwork.h:285
void SetNick(const CString &s)
void AddBytesWritten(unsigned long long u)
Definition: IRCNetwork.h:270
void SetQuitMsg(const CString &s)
bool m_bIRCAway
Definition: IRCNetwork.h:312
bool GetTrustPKI() const
Definition: IRCNetwork.h:264
CServer * FindServer(const CString &sName) const
CChan * FindChan(CString sName) const
void SetUser(CUser *pUser)
void ClearTrustedFingerprints()
Definition: IRCNetwork.h:133
CIRCNetwork & operator=(const CIRCNetwork &)=delete
std::vector< CQuery * > FindQueries(const CString &sWild) const
bool PutModule(const CString &sModule, const CString &sLine, CClient *pClient=nullptr, CClient *pSkipClient=nullptr)
void SetChanPrefixes(const CString &s)
Definition: IRCNetwork.h:106
void SetIRCSocket(CIRCSock *pIRCSock)
bool IsUserOnline() const
CServer * GetCurrentServer() const
void ClearRawBuffer()
Definition: IRCNetwork.h:171
void SetTrustPKI(const bool bTrustPKI=true)
Definition: IRCNetwork.h:263
unsigned short int GetFloodBurst() const
Definition: IRCNetwork.h:247
bool IsChan(const CString &sChan) const
CModules & GetModules()
Definition: IRCNetwork.h:77
CIRCNetworkPingTimer * m_pPingTimer
Definition: IRCNetwork.h:321
CString m_sChanPrefixes
Definition: IRCNetwork.h:302
const std::vector< CChan * > & GetChans() const
void SetAltNick(const CString &s)
CString m_sQuitMsg
Definition: IRCNetwork.h:290
const CNick & GetIRCNick() const
std::vector< CQuery * > m_vQueries
Definition: IRCNetwork.h:300
const CString & GetName() const
bool DelServer(const CString &sName, unsigned short uPort, const CString &sPass)
unsigned short int GetJoinDelay() const
Definition: IRCNetwork.h:253
void ClientConnected(CClient *pClient)
CBuffer m_NoticeBuffer
Definition: IRCNetwork.h:319
CString GetNetworkPath() const
void UpdateNoticeBuffer(const CString &sMatch, const CString &sFormat, const CString &sText="")
Definition: IRCNetwork.h:221
CString ExpandString(const CString &sStr) const
bool IsUserAttached() const
Definition: IRCNetwork.h:62
void UpdateRawBuffer(const CString &sMatch, const CString &sFormat, const CString &sText="")
Definition: IRCNetwork.h:178
void SetRealName(const CString &s)
void SetIRCNick(const CNick &n)
CIRCNetwork(CUser *pUser, const CString &sName)
CString Escape_n(EEscape eFrom, EEscape eTo) const
bool AddServer(const CString &sName)
CQuery * AddQuery(const CString &sName)
const std::vector< CServer * > & GetServers() const
void Clone(const CIRCNetwork &Network, bool bCloneName=true)
const std::vector< CQuery * > & GetQueries() const
bool m_bTrustPKI
Definition: IRCNetwork.h:306
void AddBytesRead(unsigned long long u)
Definition: IRCNetwork.h:269
void AddMotdBuffer(const CMessage &Format, const CString &sText="")
Definition: IRCNetwork.h:188
std::vector< CClient * > m_vClients
Definition: IRCNetwork.h:295
CString GetCurNick() const
void SetIdent(const CString &s)
bool AddChan(CChan *pChan)
bool PutStatus(const CString &sLine, CClient *pClient=nullptr, CClient *pSkipClient=nullptr)
void ClearMotdBuffer()
Definition: IRCNetwork.h:195
bool ParseConfig(CConfig *pConfig, CString &sError, bool bUpgrade=false)
bool GetTrustAllCerts() const
Definition: IRCNetwork.h:261
void SetIRCConnectEnabled(bool b)
void SetJoinDelay(unsigned short int uJoinDelay)
Definition: IRCNetwork.h:254
void AddRawBuffer(const CString &sFormat, const CString &sText="")
Definition: IRCNetwork.h:174
const CString & GetNick(const bool bAllowDefault=true) const
bool m_bIRCConnectEnabled
Definition: IRCNetwork.h:304
void SetIRCServer(const CString &s)
bool DelChan(const CString &sName)
const CString & GetBindHost() const
size_type AddLine(const CMessage &Format, const CString &sText="")
void UpdateNoticeBuffer(const CString &sCommand, const CMessage &Format, const CString &sText="")
Definition: IRCNetwork.h:210
CServer * GetNextServer(bool bAdvance=true)
CString GetRealName() const
Here is a small explanation of how messages on IRC work, and how you can use this class to get useful...
Definition: Message.h:63
Definition: ZNCString.h:78
size_type UpdateLine(const CString &sCommand, const CMessage &Format, const CString &sText="")
CUser * m_pUser
Definition: IRCNetwork.h:282
static bool IsValidNetwork(const CString &sNetwork)