From f508413444d62430dff11fd4a278bb6828391f59 Mon Sep 17 00:00:00 2001 From: psychon Date: Mon, 16 Nov 2009 18:13:09 +0000 Subject: [PATCH] MODCONSTRUCTOR: Move some stuff to MODCOMMONDEFS git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1664 726aef4b-f618-498e-8847-2d620e286838 --- Modules.h | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/Modules.h b/Modules.h index a9b7ed98..e32212a1 100644 --- a/Modules.h +++ b/Modules.h @@ -38,22 +38,25 @@ class CIRCSock; typedef void* ModHandle; +#define MODCOMMONDEFS(DESCRIPTION, GLOBAL) \ + const char *ZNCModDescription(); \ + bool ZNCModGlobal(); \ + double ZNCModVersion(); \ + const char *ZNCModDescription() { return DESCRIPTION; } \ + double ZNCModVersion() { return VERSION; } \ + bool ZNCModGlobal() { return GLOBAL; } \ + #define MODCONSTRUCTOR(CLASS) \ CLASS(ModHandle pDLL, CUser* pUser, const CString& sModName, \ const CString& sModPath) \ : CModule(pDLL, pUser, sModName, sModPath) #define MODULEDEFS(CLASS, DESCRIPTION) \ extern "C" { \ + MODCOMMONDEFS(DESCRIPTION, false) \ /* First the definitions to shut up some compiler warnings */ \ - const char *ZNCModDescription(); \ - bool ZNCModGlobal(); \ - double ZNCModVersion(); \ CModule* ZNCModLoad(ModHandle p, CUser* pUser, const CString& sModName, \ const CString& sModPath); \ void ZNCModUnload(CModule* pMod); \ - const char *ZNCModDescription() { return DESCRIPTION; } \ - bool ZNCModGlobal() { return false; } \ - double ZNCModVersion() { return VERSION; } \ CModule* ZNCModLoad(ModHandle p, CUser* pUser, const CString& sModName, \ const CString& sModPath) \ { return new CLASS(p, pUser, sModName, sModPath); } \ @@ -67,16 +70,11 @@ typedef void* ModHandle; : CGlobalModule(pDLL, sModName, sModPath) #define GLOBALMODULEDEFS(CLASS, DESCRIPTION) \ extern "C" { \ + MODCOMMONDEFS(DESCRIPTION, true) \ /* First the definitions to shut up some compiler warnings */ \ - const char *ZNCModDescription(); \ - bool ZNCModGlobal(); \ - double ZNCModVersion(); \ CGlobalModule* ZNCModLoad(ModHandle p, const CString& sModName, \ const CString& sModPath); \ void ZNCModUnload(CGlobalModule* pMod); \ - const char *ZNCModDescription() { return DESCRIPTION; } \ - bool ZNCModGlobal() { return true; } \ - double ZNCModVersion() { return VERSION; } \ CGlobalModule* ZNCModLoad(ModHandle p, const CString& sModName, \ const CString& sModPath) \ { return new CLASS(p, sModName, sModPath); } \