X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fextensible.h;h=e062f66a5131aab399d72a6fb219e4370fdb7524;hb=3ae91bafe711b26ffae1aa27cfd4f5fe7bfc2347;hp=e77c1cc305a1ed9f4303f24ab965ce242870f993;hpb=aa7cc18468f4b16bf79cd1788cad0cbf0d926817;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/extensible.h b/include/extensible.h index e77c1cc30..e062f66a5 100644 --- a/include/extensible.h +++ b/include/extensible.h @@ -1,5 +1,25 @@ -class Extensible; -class Module; +/* + * InspIRCd -- Internet Relay Chat Daemon + * + * Copyright (C) 2009 Daniel De Graaf + * + * 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 + * License as published by the Free Software Foundation, version 2. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + +#pragma once + +#include enum SerializeFormat { @@ -15,11 +35,9 @@ enum SerializeFormat /** Class represnting an extension of some object */ -class CoreExport ExtensionItem : public refcountbase +class CoreExport ExtensionItem : public ServiceProvider, public usecountbase { public: - const std::string key; - Module* const owner; ExtensionItem(const std::string& key, Module* owner); virtual ~ExtensionItem(); /** Serialize this item into a string @@ -82,7 +100,7 @@ class CoreExport ExtensionManager { std::map > types; public: - void Register(ExtensionItem* item); + bool Register(ExtensionItem* item); void BeginUnregister(Module* module, std::vector >& list); ExtensionItem* GetItem(const std::string& name); };