]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/cull_list.h
Fix the websocket origin config example.
[user/henk/code/inspircd.git] / include / cull_list.h
index 75b08b7a373d686e0c51993908a6d0525e44417e..f5087f512e0a4af50aec7035dab8bd1fc72b77c4 100644 (file)
@@ -20,8 +20,7 @@
  */
 
 
-#ifndef CULL_LIST_H
-#define CULL_LIST_H
+#pragma once
 
 /**
  * The CullList class is used to delete objects at the end of the main loop to
@@ -44,20 +43,25 @@ class CoreExport CullList
        void Apply();
 };
 
+/** Represents an action which is executable by an action list */
+class CoreExport ActionBase : public classbase
+{
+ public:
+        /** Executes this action. */
+       virtual void Call() = 0;
+};
+
 class CoreExport ActionList
 {
-       std::vector<HandlerBase0<void>*> list;
+       std::vector<ActionBase*> list;
 
  public:
        /** Adds an item to the list
         */
-       void AddAction(HandlerBase0<void>* item) { list.push_back(item); }
+       void AddAction(ActionBase* item) { list.push_back(item); }
 
        /** Runs the items
         */
        void Run();
 
 };
-
-#endif
-