+void SnomaskManager::WriteToSnoMask(char letter, const char* text, ...)
+{
+ std::string textbuffer;
+ VAFORMAT(textbuffer, text, text);
+ this->WriteToSnoMask(letter, textbuffer);
+}
+
+void SnomaskManager::WriteGlobalSno(char letter, const char* text, ...)
+{
+ std::string textbuffer;
+ VAFORMAT(textbuffer, text, text);
+ this->WriteGlobalSno(letter, textbuffer);
+}
+
+SnomaskManager::SnomaskManager()
+{
+ EnableSnomask('c',"CONNECT"); /* Local connect notices */
+ EnableSnomask('q',"QUIT"); /* Local quit notices */
+ EnableSnomask('k',"KILL"); /* Kill notices */
+ EnableSnomask('o',"OPER"); /* Oper up/down notices */
+ EnableSnomask('a',"ANNOUNCEMENT"); /* formerly WriteOpers() - generic notices to all opers */
+ EnableSnomask('x',"XLINE"); /* X-line notices (G/Z/Q/K/E/R/SHUN/CBan) */
+ EnableSnomask('t',"STATS"); /* Local or remote stats request */
+}
+
+bool SnomaskManager::IsSnomaskUsable(char ch) const