diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/ctables.h | 5 | ||||
-rw-r--r-- | include/cull_list.h | 75 |
2 files changed, 54 insertions, 26 deletions
diff --git a/include/ctables.h b/include/ctables.h index c3d2f7b43..e8a3337fd 100644 --- a/include/ctables.h +++ b/include/ctables.h @@ -19,6 +19,7 @@ #include "hash_map.h" #include "base.h" +/* Forward declarations - required */ class userrec; class InspIRCd; @@ -29,10 +30,10 @@ enum CmdResult CMD_FAILURE = 0, /* Command exists, but failed */ CMD_SUCCESS = 1, /* Command exists, and succeeded */ CMD_INVALID = 2, /* Command doesnt exist at all! */ - CMD_USER_DELETED = 3 /* User was deleted! */ + CMD_USER_DELETED = 3 /* User was deleted - DEPRECIATED */ }; -/* For commands which should not be replicated to other +/** For commands which should not be replicated to other * servers, we usually return CMD_FAILURE. this isnt readable, * so we define this alias for CMD_FAILURE called * CMD_LOCALONLY, which of course does the same thing but is diff --git a/include/cull_list.h b/include/cull_list.h index 8901c5ea4..129f0d43d 100644 --- a/include/cull_list.h +++ b/include/cull_list.h @@ -33,11 +33,11 @@ class CoreExport CullItem : public classbase { private: /** Holds a pointer to the user, - * must be valid and can be a local or remote user. - */ + * must be valid and can be a local or remote user. + */ userrec* user; /** Holds the quit reason to use for this user. - */ + */ std::string reason; /** Holds the quit reason opers see, if different from users */ @@ -51,13 +51,31 @@ class CoreExport CullItem : public classbase * and their quit reason * @param u The user to add * @param r The quit reason of the added user + * @param ro The quit reason to show to opers only */ CullItem(userrec* u, std::string &r, const char* ro = ""); + /** Constrcutor. + * Initializes the CullItem with a user pointer + * and their quit reason + * @param u The user to add + * @param r The quit reason of the added user + * @param ro The quit reason to show to opers only + */ CullItem(userrec* u, const char* r, const char* ro = ""); + /** Make the quit silent a module is dealing with + * displaying this users quit, so we shouldn't + * send anything out. + */ void MakeSilent(); + + /** Returns true if the quit for this user has been set + * to silent. + */ bool IsSilent(); + /** Destructor + */ ~CullItem(); /** Returns a pointer to the user @@ -88,7 +106,7 @@ class CoreExport CullList : public classbase { private: /** Creator of this CullList - */ + */ InspIRCd* ServerInstance; /** Holds a list of users already added for quick lookup @@ -96,40 +114,49 @@ class CoreExport CullList : public classbase std::map<userrec*, userrec*> exempt; /** Holds a list of users being quit. - * See the information for CullItem for - * more information. - */ + * See the information for CullItem for + * more information. + */ std::vector<CullItem> list; public: /** Constructor. - * Clears the CullList::list and CullList::exempt - * items. - * @param Instance Creator of this CullList object - */ + * Clears the CullList::list and CullList::exempt + * items. + * @param Instance Creator of this CullList object + */ CullList(InspIRCd* Instance); /** Adds a user to the cull list for later - * removal via QUIT. - * @param user The user to add - * @param reason The quit reason of the user being added - */ - void AddItem(userrec* user, std::string &reason, const char* o_reason = ""); + * removal via QUIT. + * @param user The user to add + * @param reason The quit reason of the user being added + * @param o_reason The quit reason to show only to opers + */ + void AddItem(userrec* user, std::string &reason, const char* o_reason = ""); + + /** Adds a user to the cull list for later + * removal via QUIT. + * @param user The user to add + * @param reason The quit reason of the user being added + * @param o_reason The quit reason to show only to opers + */ void AddItem(userrec* user, const char* reason, const char* o_reason = ""); - /* Turn an item into a silent item + /* Turn an item into a silent item (don't send out QUIT for this user) */ void MakeSilent(userrec* user); /** Applies the cull list, quitting all the users - * on the list with their quit reasons all at once. - * This is a very fast operation compared to - * iterating the user list and comparing each one, - * especially if there are multiple comparisons - * to be done, or recursion. - * @returns The number of users removed from IRC. - */ + * on the list with their quit reasons all at once. + * This is a very fast operation compared to + * iterating the user list and comparing each one, + * especially if there are multiple comparisons + * to be done, or recursion. + * @returns The number of users removed from IRC. + */ int Apply(); }; #endif + |