From ed25ca21e67961271473dcdc1683b09de47529e7 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Sat, 1 Mar 2014 21:24:25 +0100 Subject: [PATCH] Add CIRCNetwork::FindChans() --- include/znc/IRCNetwork.h | 1 + src/IRCNetwork.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/include/znc/IRCNetwork.h b/include/znc/IRCNetwork.h index 174314b6..6af760ec 100644 --- a/include/znc/IRCNetwork.h +++ b/include/znc/IRCNetwork.h @@ -76,6 +76,7 @@ public: const std::vector& GetChans() const; CChan* FindChan(CString sName) const; + std::vector FindChans(const CString& sWild) const; bool AddChan(CChan* pChan); bool AddChan(const CString& sName, bool bInConfig); bool DelChan(const CString& sName); diff --git a/src/IRCNetwork.cpp b/src/IRCNetwork.cpp index d25aea1d..b0c9bda1 100644 --- a/src/IRCNetwork.cpp +++ b/src/IRCNetwork.cpp @@ -649,6 +649,16 @@ CChan* CIRCNetwork::FindChan(CString sName) const { return NULL; } +std::vector CIRCNetwork::FindChans(const CString& sWild) const { + std::vector vChans; + vChans.reserve(m_vChans.size()); + for (std::vector::const_iterator it = m_vChans.begin(); it != m_vChans.end(); ++it) { + if ((*it)->GetName().WildCmp(sWild)) + vChans.push_back(*it); + } + return vChans; +} + bool CIRCNetwork::AddChan(CChan* pChan) { if (!pChan) { return false;