X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fmodules.h;h=5e0c9ab077cd58aca711e95c4cafa888c86623cf;hb=327bacd3687f307a5f8586856a94b16c9e4370bf;hp=5190860fedef30de47e8dacf28052879660938a5;hpb=b759870d742f1611ff64ca899e083d5467ebcf3b;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/modules.h b/include/modules.h index 5190860fe..5e0c9ab07 100644 --- a/include/modules.h +++ b/include/modules.h @@ -4,7 +4,7 @@ * Copyright (C) 2019 iwalkalone * Copyright (C) 2013 Adam * Copyright (C) 2012-2016, 2018 Attila Molnar - * Copyright (C) 2012-2013, 2016-2019 Sadie Powell + * Copyright (C) 2012-2013, 2016-2020 Sadie Powell * Copyright (C) 2012 Robby * Copyright (C) 2009-2010 Daniel De Graaf * Copyright (C) 2009 Uli Schlachter @@ -30,13 +30,11 @@ #pragma once +#include "moduledefs.h" #include "dynamic.h" #include "base.h" #include "ctables.h" #include "inspsocket.h" -#include -#include -#include #include "timer.h" #include "mode.h" @@ -101,19 +99,6 @@ struct ModResult { } }; -/** InspIRCd major version. - * 1.2 -> 102; 2.1 -> 201; 2.12 -> 212 - */ -#define INSPIRCD_VERSION_MAJ 300 - -/** InspIRCd API version. - * If you change any API elements, increment this value. This counter should be - * reset whenever the major version is changed. Modules can use these two values - * and numerical comparisons in preprocessor macros if they wish to support - * multiple versions of InspIRCd in one file. - */ -#define INSPIRCD_VERSION_API 8 - /** * This #define allows us to call a method in all * loaded modules in a readable simple way, e.g.: @@ -1190,24 +1175,3 @@ class CoreExport ModuleManager : public fakederef */ void DelReferent(ServiceProvider* service); }; - -/** Do not mess with these functions unless you know the C preprocessor - * well enough to explain why they are needed. The order is important. - */ -#define MODULE_INIT_STR MODULE_INIT_STR_FN_2(MODULE_INIT_SYM) -#define MODULE_INIT_STR_FN_2(x) MODULE_INIT_STR_FN_1(x) -#define MODULE_INIT_STR_FN_1(x) #x -#define MODULE_INIT_SYM MODULE_INIT_SYM_FN_2(INSPIRCD_VERSION_MAJ, INSPIRCD_VERSION_API) -#define MODULE_INIT_SYM_FN_2(x,y) MODULE_INIT_SYM_FN_1(x,y) -#define MODULE_INIT_SYM_FN_1(x,y) inspircd_module_ ## x ## _ ## y - -/** This definition is used as shorthand for the various classes - * and functions needed to make a module loadable by the OS. - * It defines the class factory and external init_module function. - */ -#define MODULE_INIT(y) \ - extern "C" DllExport Module * MODULE_INIT_SYM() \ - { \ - return new y; \ - } \ - extern "C" DllExport const char inspircd_src_version[] = INSPIRCD_VERSION;