Browse files

Make CModule::PutModule use CUser::PutModule

  • Loading branch information...
1 parent c48f0fd commit 6bc36d1708d6e4c9122875d70e2efff93e33a39b @kylef kylef committed Feb 22, 2011
Showing with 24 additions and 21 deletions.
  1. +6 −12 Modules.cpp
  2. +3 −9 Modules.h
  3. +14 −0 User.cpp
  4. +1 −0 User.h
View
18 Modules.cpp
@@ -539,31 +539,25 @@ bool CModule::PutUser(const CString& sLine) {
bool CModule::PutStatus(const CString& sLine) {
return (m_pUser) ? m_pUser->PutStatus(sLine, m_pClient) : false;
}
-unsigned int CModule::PutModule(const CTable& table, const CString& sIdent, const CString& sHost) {
+unsigned int CModule::PutModule(const CTable& table) {
if (!m_pUser)
return 0;
unsigned int idx = 0;
CString sLine;
while (table.GetLine(idx++, sLine))
- PutModule(sLine, sIdent, sHost);
+ PutModule(sLine);
return idx - 1;
}
-bool CModule::PutModule(const CString& sLine, const CString& sIdent, const CString& sHost) {
+bool CModule::PutModule(const CString& sLine) {
if (!m_pUser)
return false;
- return m_pUser->PutUser(":" + GetModNick() + "!" +
- (sIdent.empty() ? GetModName() : sIdent) + "@" + sHost +
- " PRIVMSG " + m_pUser->GetCurNick() + " :" + sLine,
- m_pClient);
+ return m_pUser->PutModule(GetModName(), sLine, m_pClient);
}
-bool CModule::PutModNotice(const CString& sLine, const CString& sIdent, const CString& sHost) {
+bool CModule::PutModNotice(const CString& sLine) {
if (!m_pUser)
return false;
- return m_pUser->PutUser(":" + GetModNick() + "!" +
- (sIdent.empty() ? GetModName() : sIdent) + "@" + sHost +
- " NOTICE " + m_pUser->GetCurNick() + " :" + sLine,
- m_pClient);
+ return m_pUser->PutModNotice(GetModName(), sLine, m_pClient);
}
///////////////////
View
12 Modules.h
@@ -757,28 +757,22 @@ class CModule {
* module hook for a specific client, only that client gets this
* message, else all connected clients will receive it.
* @param sLine The message which should be sent.
- * @param sIdent The ident for the module nick. Defaults to the module name.
- * @param sHost The hostname for the module nick. Defaults to znc.in
* @return true if the line was sent to at least one client.
*/
- virtual bool PutModule(const CString& sLine, const CString& sIdent = "", const CString& sHost = "znc.in");
+ virtual bool PutModule(const CString& sLine);
/** This function calls CModule::PutModule(const CString&, const
* CString&, const CString&) for each line in the table.
* @param table The table which should be send.
- * @param sIdent The ident which should be used.
- * @param sHost The hostname used for the query.
* @return The number of lines sent.
*/
- virtual unsigned int PutModule(const CTable& table, const CString& sIdent = "", const CString& sHost = "znc.in");
+ virtual unsigned int PutModule(const CTable& table);
/** Send a notice from your module nick. If we are in a module hook for
* a specific client, only that client gets this notice, else all
* clients will receive it.
* @param sLine The line which should be sent.
- * @param sIdent The ident used for the notice.
- * @param sHost The host name used for the notice.
* @return true if the line was sent to at least one client.
*/
- virtual bool PutModNotice(const CString& sLine, const CString& sIdent = "", const CString& sHost = "znc.in");
+ virtual bool PutModNotice(const CString& sLine);
/** @returns The name of the module. */
const CString& GetModName() const { return m_sModName; }
View
14 User.cpp
@@ -1104,6 +1104,20 @@ bool CUser::PutModule(const CString& sModule, const CString& sLine, CClient* pCl
return (pClient == NULL);
}
+bool CUser::PutModNotice(const CString& sModule, const CString& sLine, CClient* pClient, CClient* pSkipClient) {
+ for (unsigned int a = 0; a < m_vClients.size(); a++) {
+ if ((!pClient || pClient == m_vClients[a]) && pSkipClient != m_vClients[a]) {
+ m_vClients[a]->PutModNotice(sModule, sLine);
+
+ if (pClient) {
+ return true;
+ }
+ }
+ }
+
+ return (pClient == NULL);
+}
+
bool CUser::ResumeFile(unsigned short uPort, unsigned long uFileSize) {
CSockManager& Manager = CZNC::Get().GetManager();
View
1 User.h
@@ -101,6 +101,7 @@ class CUser {
bool PutStatus(const CString& sLine, CClient* pClient = NULL, CClient* pSkipClient = NULL);
bool PutStatusNotice(const CString& sLine, CClient* pClient = NULL, CClient* pSkipClient = NULL);
bool PutModule(const CString& sModule, const CString& sLine, CClient* pClient = NULL, CClient* pSkipClient = NULL);
+ bool PutModNotice(const CString& sModule, const CString& sLine, CClient* pClient = NULL, CClient* pSkipClient = NULL);
bool IsUserAttached() const { return !m_vClients.empty(); }
void UserConnected(CClient* pClient);

0 comments on commit 6bc36d1

Please sign in to comment.