summaryrefslogtreecommitdiff
path: root/include/modules
diff options
context:
space:
mode:
authorAttila Molnar <attilamolnar@hush.com>2016-02-25 16:27:30 +0100
committerAttila Molnar <attilamolnar@hush.com>2016-02-25 16:27:30 +0100
commit0c42bcde16c3141ccd4bb8c5f7b22d65cc8e1909 (patch)
treef80ce6d1bd6346c9d9b4daa5350e6703e2738808 /include/modules
parentda29af8cba49d51e53d6e68237ccbf6370b6dd1f (diff)
Convert WhoisContext::SendLine() calls to pass the parameters of the numeric as method parameters
Diffstat (limited to 'include/modules')
-rw-r--r--include/modules/whois.h54
1 files changed, 42 insertions, 12 deletions
diff --git a/include/modules/whois.h b/include/modules/whois.h
index b64d46410..4f09d268b 100644
--- a/include/modules/whois.h
+++ b/include/modules/whois.h
@@ -55,12 +55,11 @@ class Whois::LineEventListener : public Events::ModuleEventListener
* the values numeric and text, but you cannot change the user the
* numeric is sent to.
* @param whois Whois context, can be used to send numerics
- * @param numeric The numeric of the line being sent
- * @param text The text of the numeric, including any parameters
+ * @param numeric Numeric being sent
* @return MOD_RES_DENY to drop the line completely so that the user does not
* receive it, or MOD_RES_PASSTHRU to allow the line to be sent.
*/
- virtual ModResult OnWhoisLine(Context& whois, unsigned int& numeric, std::string& text) = 0;
+ virtual ModResult OnWhoisLine(Context& whois, Numeric::Numeric& numeric) = 0;
};
class Whois::Context
@@ -97,20 +96,51 @@ class Whois::Context
User* GetTarget() const { return target; }
/** Send a line of WHOIS data to the source of the WHOIS
- * @param numeric Numeric to send
- * @param format Format string for the numeric
- * @param ... Parameters for the format string
*/
- void SendLine(unsigned int numeric, const char* format, ...) CUSTOM_PRINTF(3, 4)
+ template <typename T1>
+ void SendLine(unsigned int numeric, T1 p1)
+ {
+ Numeric::Numeric n(numeric);
+ n.push(target->nick);
+ n.push(p1);
+ SendLine(n);
+ }
+
+ template <typename T1, typename T2>
+ void SendLine(unsigned int numeric, T1 p1, T2 p2)
+ {
+ Numeric::Numeric n(numeric);
+ n.push(target->nick);
+ n.push(p1);
+ n.push(p2);
+ SendLine(n);
+ }
+
+ template <typename T1, typename T2, typename T3>
+ void SendLine(unsigned int numeric, T1 p1, T2 p2, T3 p3)
+ {
+ Numeric::Numeric n(numeric);
+ n.push(target->nick);
+ n.push(p1);
+ n.push(p2);
+ n.push(p3);
+ SendLine(n);
+ }
+
+ template <typename T1, typename T2, typename T3, typename T4>
+ void SendLine(unsigned int numeric, T1 p1, T2 p2, T3 p3, T4 p4)
{
- std::string textbuffer;
- VAFORMAT(textbuffer, format, format)
- SendLine(numeric, textbuffer);
+ Numeric::Numeric n(numeric);
+ n.push(target->nick);
+ n.push(p1);
+ n.push(p2);
+ n.push(p3);
+ n.push(p4);
+ SendLine(n);
}
/** Send a line of WHOIS data to the source of the WHOIS
* @param numeric Numeric to send
- * @param text Text of the numeric
*/
- virtual void SendLine(unsigned int numeric, const std::string& text) = 0;
+ virtual void SendLine(Numeric::Numeric& numeric) = 0;
};