]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/cull_list.h
Fix a bunch of weird indentation and spacing issues.
[user/henk/code/inspircd.git] / include / cull_list.h
index 75b08b7a373d686e0c51993908a6d0525e44417e..41dab51875d76e7307c8620d601e6615d572dcd6 100644 (file)
@@ -1,10 +1,12 @@
 /*
  * InspIRCd -- Internet Relay Chat Daemon
  *
+ *   Copyright (C) 2013, 2017 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2012 Robby <robby@chatbelgie.be>
+ *   Copyright (C) 2011 jackmcbarn <jackmcbarn@inspircd.org>
  *   Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
- *   Copyright (C) 2008 Robin Burchell <robin+git@viroteck.net>
  *   Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
- *   Copyright (C) 2005, 2007 Craig Edwards <craigedwards@brainbox.cc>
+ *   Copyright (C) 2005, 2010 Craig Edwards <brain@inspircd.org>
  *
  * This file is part of InspIRCd.  InspIRCd is free software: you can
  * redistribute it and/or modify it under the terms of the GNU General Public
@@ -20,8 +22,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 +45,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
-