class Snomask : public Extensible
{
- private:
- InspIRCd *ServerInstance;
-
public:
char MySnomask;
std::string Description;
/** Create a new Snomask
*/
- Snomask(InspIRCd* Instance, char snomask, const std::string &description) : ServerInstance(Instance), MySnomask(snomask), Description(description), LastMessage(""), Count(0)
+ Snomask(char snomask, const std::string &description) : MySnomask(snomask), Description(description), LastMessage(""), Count(0)
{
}
* Modules and the core can enable and disable snomask characters. If they do,
* then sending snomasks using these characters becomes possible.
*/
-class CoreExport SnomaskManager : public Extensible
+class CoreExport SnomaskManager
{
private:
- /** Creator/owner
- */
- InspIRCd* ServerInstance;
-
/** Currently active snomask list
*/
SnoList SnoMasks;
public:
/** Create a new SnomaskManager
*/
- SnomaskManager(InspIRCd* Instance);
+ SnomaskManager();
/** Delete SnomaskManager
*/
*/
bool DisableSnomask(char letter);
- /** Write to all users with a given snomask.
+ /** Write to all users with a given snomask (local server only)
* @param letter The snomask letter to write to
* @param text The text to send to the users
*/
void WriteToSnoMask(char letter, const std::string &text);
- /** Write to all users with a given snomask.
+ /** Write to all users with a given snomask (local server only)
* @param letter The snomask letter to write to
* @param text A format string containing text to send
* @param ... Format arguments
*/
void WriteToSnoMask(char letter, const char* text, ...) CUSTOM_PRINTF(3, 4);
+ /** Write to all users with a given snomask (sent globally)
+ * @param letter The snomask letter to write to
+ * @param text The text to send to the users
+ */
+ void WriteGlobalSno(char letter, const std::string &text);
+
+ /** Write to all users with a given snomask (sent globally)
+ * @param letter The snomask letter to write to
+ * @param text A format string containing text to send
+ * @param ... Format arguments
+ */
+ void WriteGlobalSno(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:
* Calls to WriteToSnoMask write to a cache, if the call is the same as it was