* | Inspire Internet Relay Chat Daemon |
* +------------------------------------+
*
- * InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ * InspIRCd: (C) 2002-2010 InspIRCd Development Team
* See: http://wiki.inspircd.org/Credits
*
* This program is free but copyrighted software; see
* ---------------------------------------------------
*/
-#ifndef __CULLLIST_H__
-#define __CULLLIST_H__
+#ifndef CULL_LIST_H
+#define CULL_LIST_H
/**
* The CullList class is used to delete objects at the end of the main loop to
*/
class CoreExport CullList
{
- std::set<classbase*> list;
+ std::vector<classbase*> list;
+ std::vector<LocalUser*> SQlist;
public:
/** Adds an item to the cull list
*/
- void AddItem(classbase* item) { list.insert(item); }
+ void AddItem(classbase* item) { list.push_back(item); }
+ void AddSQItem(LocalUser* item) { SQlist.push_back(item); }
/** Applies the cull list (deletes the contents)
*/
void Apply();
};
+class CoreExport ActionList
+{
+ std::vector<HandlerBase0<void>*> list;
+
+ public:
+ /** Adds an item to the list
+ */
+ void AddAction(HandlerBase0<void>* item) { list.push_back(item); }
+
+ /** Runs the items
+ */
+ void Run();
+
+};
+
#endif