mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-10 02:59:01 -04:00
Document SnomaskManager
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5076 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
parent
6b81c85084
commit
7015eeaa33
@ -23,22 +23,65 @@
|
||||
#include "configreader.h"
|
||||
#include "inspircd.h"
|
||||
|
||||
/** A list of snomasks which are valid, and their descriptive texts
|
||||
*/
|
||||
typedef std::map<char, std::string> 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,
|
||||
* then sending snomasks using these characters becomes possible.
|
||||
*/
|
||||
class SnomaskManager : public Extensible
|
||||
{
|
||||
private:
|
||||
/** Creator/owner
|
||||
*/
|
||||
InspIRCd* ServerInstance;
|
||||
/** Currently active snomask list
|
||||
*/
|
||||
SnoList SnoMasks;
|
||||
/** Set up the default (core available) snomask chars
|
||||
*/
|
||||
void SetupDefaults();
|
||||
public:
|
||||
/** Create a new SnomaskManager
|
||||
*/
|
||||
SnomaskManager(InspIRCd* Instance);
|
||||
/** Delete SnomaskManager
|
||||
*/
|
||||
~SnomaskManager();
|
||||
|
||||
/** Enable a snomask.
|
||||
* @param letter The snomask letter to enable. Once enabled,
|
||||
* server notices may be routed to users with this letter in
|
||||
* their list, and users may add this letter to their list.
|
||||
* @param description The descriptive text sent along with any
|
||||
* server notices, at the start of the notice, e.g. "GLOBOPS".
|
||||
* @return True if the snomask was enabled, false if it already
|
||||
* exists.
|
||||
*/
|
||||
bool EnableSnomask(char letter, const std::string &description);
|
||||
/** Disable a snomask.
|
||||
* @param letter The snomask letter to disable.
|
||||
* @return True if the snomask was disabled, false if it didn't
|
||||
* exist.
|
||||
*/
|
||||
bool DisableSnomask(char letter);
|
||||
/** Write to all users with a given snomask.
|
||||
* @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.
|
||||
* @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, ...);
|
||||
/** Check if a snomask is enabled.
|
||||
* @param letter The snomask letter to check.
|
||||
* @return True if the snomask has been enabled.
|
||||
*/
|
||||
bool IsEnabled(char letter);
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user