]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/cull_list.h
Change for reverse output of lists, most recent first, for bug #307. Also fix(Oms...
[user/henk/code/inspircd.git] / include / cull_list.h
index beafc1e80d7eace29349e470f1bd9ccaabaff76f..8901c5ea4248be3f33bb013f34248e2c924c2bf1 100644 (file)
@@ -29,7 +29,7 @@ class InspIRCd;
  * a list of users which are to be culled when a long
  * operation (such as a netsplit) has completed.
  */
-class CullItem : public classbase
+class CoreExport CullItem : public classbase
 {
  private:
        /** Holds a pointer to the user,
@@ -42,6 +42,9 @@ class CullItem : public classbase
        /** Holds the quit reason opers see, if different from users
         */
        std::string oper_reason;
+       /** Silent items dont generate an snotice.
+        */
+       bool silent;
  public:
        /** Constrcutor.
        * Initializes the CullItem with a user pointer
@@ -52,6 +55,9 @@ class CullItem : public classbase
        CullItem(userrec* u, std::string &r, const char* ro = "");
        CullItem(userrec* u, const char* r, const char* ro = "");
 
+       void MakeSilent();
+       bool IsSilent();
+
        ~CullItem();
 
        /** Returns a pointer to the user
@@ -78,7 +84,7 @@ class CullItem : public classbase
  * you attempt to add the same user twice, then the second
  * attempt will be ignored.
  */
-class CullList : public classbase
+class CoreExport CullList : public classbase
 {
  private:
        /** Creator of this CullList
@@ -111,6 +117,10 @@ class CullList : public classbase
        void AddItem(userrec* user, std::string &reason, const  char* o_reason = "");
        void AddItem(userrec* user, const char* reason, const char* o_reason = "");
 
+       /* Turn an item into a silent item
+        */
+       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