#include <znc/zncconfig.h>
#include <znc/WebModules.h>
#include <znc/Utils.h>
#include <znc/Threads.h>
#include <znc/Message.h>
#include <znc/main.h>
#include <znc/Translation.h>
#include <functional>
#include <memory>
#include <set>
#include <queue>
#include <sys/time.h>
Go to the source code of this file.
|
#define | ZNC_EXPORT_LIB_EXPORT |
#define | MODCOMMONDEFS(CLASS, DESCRIPTION, TYPE) |
#define | MODCONSTRUCTOR(CLASS) |
| Instead of writing a constructor, you should call this macro.
|
#define | USERMODULEDEFS(CLASS, DESCRIPTION) |
| This works exactly like MODULEDEFS, but for user modules.
|
#define | GLOBALMODULEDEFS(CLASS, DESCRIPTION) |
| This works exactly like MODULEDEFS, but for global modules.
|
#define | NETWORKMODULEDEFS(CLASS, DESCRIPTION) |
| This works exactly like MODULEDEFS, but for network modules.
|
#define | MODULEDEFS(CLASS, DESCRIPTION) |
| At the end of your source file, you must call this macro in global context.
|
◆ GLOBALMODULEDEFS
#define GLOBALMODULEDEFS |
( |
| CLASS, |
|
|
| DESCRIPTION ) |
Value:
#define MODCOMMONDEFS(CLASS, DESCRIPTION, TYPE)
Definition Modules.h:88
@ GlobalModule
Definition Modules.h:260
This works exactly like MODULEDEFS, but for global modules.
◆ MODCOMMONDEFS
#define MODCOMMONDEFS |
( |
| CLASS, |
|
|
| DESCRIPTION, |
|
|
| TYPE ) |
Value: static void FillModInfo(
CModInfo& Info) { \
auto t_s = [&](
const CString& sEnglish, \
return sEnglish.empty() ?
"" : Info.
t_s(sEnglish, sContext); \
}; \
TModInfo<CLASS>(Info); \
} \
extern "C" { \
\
static const CModuleEntry ThisModule = {VERSION_STR,
VERSION_EXTRA, \
FillModInfo}; \
return &ThisModule; \
} \
}
#define ZNC_EXPORT_LIB_EXPORT
Definition Modules.h:61
CModule * TModLoad(ModHandle p, CUser *pUser, CIRCNetwork *pNetwork, const CString &sModName, const CString &sModPath, CModInfo::EModuleType eType)
Definition Modules.h:344
void SetLoader(ModLoader fLoader)
Definition Modules.h:321
CString t_s(const CString &sEnglish, const CString &sContext="") const
void AddType(EModuleType eType)
Definition Modules.h:288
void SetDefaultType(EModuleType eType)
Definition Modules.h:322
void SetDescription(const CString &s)
Definition Modules.h:317
String class that is used inside ZNC.
Definition ZNCString.h:50
#define VERSION_EXTRA
Definition version.h:24
#define ZNC_COMPILE_OPTIONS_STRING
Definition version.h:67
◆ MODCONSTRUCTOR
#define MODCONSTRUCTOR |
( |
| CLASS | ) |
|
Value:
:
CModule(pDLL, pUser, pNetwork, sModName, sModPath, eType)
void * ModHandle
Definition Modules.h:256
Definition IRCNetwork.h:40
EModuleType
Definition Modules.h:260
The base class for your own ZNC modules.
Definition Modules.h:420
Instead of writing a constructor, you should call this macro.
It accepts all the necessary arguments and passes them on to CModule's constructor. You should assume that there are no arguments to the constructor.
Usage:
}
}
#define MODCONSTRUCTOR(CLASS)
Instead of writing a constructor, you should call this macro.
Definition Modules.h:127
- Parameters
-
CLASS | The name of your module's class. |
◆ MODULEDEFS
#define MODULEDEFS |
( |
| CLASS, |
|
|
| DESCRIPTION ) |
Value:
#define NETWORKMODULEDEFS(CLASS, DESCRIPTION)
This works exactly like MODULEDEFS, but for network modules.
Definition Modules.h:147
At the end of your source file, you must call this macro in global context.
It defines some static functions which ZNC needs to load this module. By default the module will be a network module.
- Parameters
-
CLASS | The name of your module's class. |
DESCRIPTION | A short description of your module. |
◆ NETWORKMODULEDEFS
#define NETWORKMODULEDEFS |
( |
| CLASS, |
|
|
| DESCRIPTION ) |
Value:
@ NetworkModule
Definition Modules.h:260
This works exactly like MODULEDEFS, but for network modules.
◆ USERMODULEDEFS
#define USERMODULEDEFS |
( |
| CLASS, |
|
|
| DESCRIPTION ) |
Value:
@ UserModule
Definition Modules.h:260
This works exactly like MODULEDEFS, but for user modules.
◆ ZNC_EXPORT_LIB_EXPORT
#define ZNC_EXPORT_LIB_EXPORT |
◆ FPTimer_t
◆ ModHandle
◆ TModInfo()
◆ TModLoad()