-/* +------------------------------------+
- * | Inspire Internet Relay Chat Daemon |
- * +------------------------------------+
+/*
+ * InspIRCd -- Internet Relay Chat Daemon
*
- * InspIRCd: (C) 2002-2010 InspIRCd Development Team
- * See: http://wiki.inspircd.org/Credits
+ * Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
*
- * This program is free but copyrighted software; see
- * the file COPYING for details.
+ * 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 <http://www.gnu.org/licenses/>.
*/
+
/* $ModDesc: Provides a module for testing the server while linked in a network */
#include "inspircd.h"
struct vtbase
{
virtual void isok(const char* name, int impl, Module* basemod, std::vector<std::string>& allmods) = 0;
+ virtual ~vtbase() {}
};
template<typename T> struct vtable : public vtbase
CHK(OnUserPreInvite);
CHK(OnUserInvite);
CHK(OnUserPreMessage);
- CHK(OnUserPreNotice);
CHK(OnUserPreNick);
CHK(OnUserMessage);
- CHK(OnUserNotice);
CHK(OnMode);
CHK(OnGetServerDescription);
CHK(OnSyncUser);
CHK(OnSyncChannel);
CHK(OnDecodeMetaData);
- CHK(OnWallops);
CHK(OnAcceptConnection);
CHK(OnChangeHost);
CHK(OnChangeName);
CHK(OnPreMode);
CHK(On005Numeric);
CHK(OnKill);
- CHK(OnRemoteKill);
CHK(OnLoadModule);
CHK(OnUnloadModule);
CHK(OnBackgroundTimer);
CHK(OnEvent);
CHK(OnGlobalOper);
CHK(OnPostConnect);
- CHK(OnAddBan);
- CHK(OnDelBan);
CHK(OnChangeLocalUserGECOS);
CHK(OnUserRegister);
CHK(OnChannelPreDelete);
CommandTest cmd;
public:
ModuleTest() : cmd(this)
+ {
+ }
+
+ void init() CXX11_OVERRIDE
{
if (!strstr(ServerInstance->Config->ServerName.c_str(), ".test"))
throw ModuleException("Don't load modules without reading their descriptions!");
- ServerInstance->AddCommand(&cmd);
+ ServerInstance->Modules->AddService(cmd);
}
- Version GetVersion()
+ Version GetVersion() CXX11_OVERRIDE
{
return Version("Provides a module for testing the server while linked in a network", VF_VENDOR|VF_OPTCOMMON);
}
};
MODULE_INIT(ModuleTest)
-