X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fsnomasks.h;h=6e3f75d7a1e6b9b9fc5c8a2c00bebd1c44bb6987;hb=ffc039651676e0f679726b15fac4bf133e7e5bc2;hp=e8115f32ae13adc4a227d89becd9bb9a78b3abeb;hpb=66e41aba0f60485271117a96141095a2e7c30435;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/snomasks.h b/include/snomasks.h index e8115f32a..6e3f75d7a 100644 --- a/include/snomasks.h +++ b/include/snomasks.h @@ -2,7 +2,7 @@ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * - * InspIRCd: (C) 2002-2007 InspIRCd Development Team + * InspIRCd: (C) 2002-2008 InspIRCd Development Team * See: http://www.inspircd.org/wiki/index.php/Credits * * This program is free but copyrighted software; see @@ -14,36 +14,35 @@ #ifndef __SNOMASKS_H__ #define __SNOMASKS_H__ -#include -#include -#include -#include "configreader.h" -#include "inspircd.h" - -class Snomask +class Snomask : public Extensible { - private: - InspIRCd *ServerInstance; - public: - char MySnomask; - std::string Description; -// std::string LastMessage; -// unsigned int Count; + private: + InspIRCd *ServerInstance; + + public: + char MySnomask; + std::string Description; + std::string LastMessage; + unsigned int Count; /** Create a new Snomask */ - Snomask(InspIRCd* Instance, char snomask, const std::string &description) + Snomask(InspIRCd* Instance, char snomask, const std::string &description) : ServerInstance(Instance), MySnomask(snomask), Description(description), LastMessage(""), Count(0) { - MySnomask = snomask; - Description = description; } - + /** Sends a message to all opers with this snomask. + */ + void SendMessage(const std::string &message); + + /** Sends out a pending message + */ + void Flush(); }; /** A list of snomasks which are valid, and their descriptive texts */ -typedef std::map SnoList; +typedef std::map SnoList; /** Snomask manager handles routing of SNOMASK (usermode +n) messages to opers. * Modules and the core can enable and disable snomask characters. If they do, @@ -101,7 +100,7 @@ class CoreExport SnomaskManager : public Extensible * @param text A format string containing text to send * @param ... Format arguments */ - void WriteToSnoMask(char letter, const char* text, ...); + void WriteToSnoMask(char letter, const char* text, ...) CUSTOM_PRINTF(3, 4); /** Called once per 5 seconds from the mainloop, this flushes any cached * snotices. The way the caching works is as follows: