]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/base.h
Fix a bunch of really obvious unnecessary includes.
[user/henk/code/inspircd.git] / include / base.h
index dcbb2e5c7858c7727e2237cf8b8e1b8db7222b22..98ce20fd5485feee477181ddd2cb9b4f93e2c0d5 100644 (file)
@@ -1,10 +1,16 @@
 /*
  * InspIRCd -- Internet Relay Chat Daemon
  *
- *   Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
- *   Copyright (C) 2006-2007 Oliver Lupton <oliverlupton@gmail.com>
+ *   Copyright (C) 2020 Matt Schatz <genius3000@g3k.solutions>
+ *   Copyright (C) 2013, 2015 Attila Molnar <attilamolnar@hush.com>
+ *   Copyright (C) 2012-2013, 2017, 2020 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2012 Robby <robby@chatbelgie.be>
+ *   Copyright (C) 2012 ChrisTX <xpipe@hotmail.de>
+ *   Copyright (C) 2011-2012 Adam <Adam@anope.org>
+ *   Copyright (C) 2009-2010 Daniel De Graaf <danieldg@inspircd.org>
+ *   Copyright (C) 2007 Oliver Lupton <om@inspircd.org>
  *   Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
- *   Copyright (C) 2003-2005, 2007 Craig Edwards <craigedwards@brainbox.cc>
+ *   Copyright (C) 2006, 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
 
 #pragma once
 
-#include <map>
-#include <deque>
+#include "compat.h"
 #include <string>
-#include <list>
 
 /** Dummy class to help enforce culls being parent-called up to classbase */
 class CullResult
@@ -202,7 +206,7 @@ class CoreExport CoreException : public std::exception
         * Actually no, it does nothing. Never mind.
         * @throws Nothing!
         */
-       virtual ~CoreException() throw() {};
+       virtual ~CoreException() throw() {}
        /** Returns the reason for the exception.
         * @return Human readable description of the error
         */
@@ -234,8 +238,10 @@ enum ServiceType {
        SERVICE_METADATA,
        /** is a data processing provider (MD5, SQL) */
        SERVICE_DATA,
-       /** is an I/O hook provider (SSL) */
-       SERVICE_IOHOOK
+       /** is an I/O hook provider */
+       SERVICE_IOHOOK,
+       /** Service managed by a module */
+       SERVICE_CUSTOM
 };
 
 /** A structure defining something that a module can provide */
@@ -251,6 +257,13 @@ class CoreExport ServiceProvider : public classbase
        ServiceProvider(Module* Creator, const std::string& Name, ServiceType Type);
        virtual ~ServiceProvider();
 
+       /** Retrieves a string that represents the type of this service. */
+       const char* GetTypeString() const;
+
+       /** Register this service in the appropriate registrar
+        */
+       virtual void RegisterService();
+
        /** If called, this ServiceProvider won't be registered automatically
         */
        void DisableAutoRegister();