* mode is expected to have a parameter, then this is
* equivalent to returning MODEACTION_DENY.
*/
-class ModeHandler : public Extensible
+class CoreExport ModeHandler : public Extensible
{
protected:
InspIRCd* ServerInstance;
*/
char prefix;
+ /** Number of items with this mode set on them
+ */
+ unsigned int count;
+
public:
/**
* The constructor for ModeHandler initalizes the mode handler.
* value for this mode prefix.
*/
char GetPrefix();
+ /** Get number of items with this mode set on them
+ */
+ virtual unsigned int GetCount();
+ /** Adjust usage count returned by GetCount
+ */
+ virtual void ChangeCount(int modifier);
/**
* Get the 'value' of this modes prefix.
* determines which to display when there are multiple.
* and attach it to the mode using Server::AddModeWatcher and Server::DelModeWatcher.
* A ModeWatcher will be called both before and after the mode change.
*/
-class ModeWatcher : public Extensible
+class CoreExport ModeWatcher : public Extensible
{
protected:
InspIRCd* ServerInstance;
* parses client to server MODE strings for user and channel modes, and performs
* processing for the 004 mode list numeric, amongst other things.
*/
-class ModeParser : public classbase
+class CoreExport ModeParser : public classbase
{
private:
InspIRCd* ServerInstance;
std::string ChanModes();
/** Used by this class internally during std::sort and 005 generation
*/
- static bool PrefixComparison(const prefixtype one, const prefixtype two);
+ static bool PrefixComparison(prefixtype one, prefixtype two);
/** This returns the PREFIX=(ohv)@%+ section of the 005 numeric.
*/