ZNC trunk
Loading...
Searching...
No Matches
Macros | Variables
main.h File Reference
#include <znc/zncconfig.h>
#include <znc/version.h>
+ Include dependency graph for main.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define NOTHING   &ZNC_NO_NEED_TO_DO_ANYTHING_ON_MODULE_CALL_EXITER
 
#define ALLMODULECALL(macFUNC, macEXITER)
 
#define _GLOBALMODULECALL(macFUNC, macUSER, macNETWORK, macCLIENT, macEXITER)
 
#define _USERMODULECALL(macFUNC, macUSER, macNETWORK, macCLIENT, macEXITER)
 
#define NETWORKMODULECALL(macFUNC, macUSER, macNETWORK, macCLIENT, macEXITER)
 
#define GLOBALMODULECALL(macFUNC, macEXITER)    _GLOBALMODULECALL(macFUNC, nullptr, nullptr, nullptr, macEXITER)
 
#define USERMODULECALL(macFUNC, macUSER, macCLIENT, macEXITER)    _USERMODULECALL(macFUNC, macUSER, nullptr, macCLIENT, macEXITER)
 

Variables

bool ZNC_NO_NEED_TO_DO_ANYTHING_ON_MODULE_CALL_EXITER
 

Macro Definition Documentation

◆ _GLOBALMODULECALL

#define _GLOBALMODULECALL (   macFUNC,
  macUSER,
  macNETWORK,
  macCLIENT,
  macEXITER 
)
Value:
do { \
CModules& GMods = CZNC::Get().GetModules(); \
CTemporaryModsUser TempUser(GMods, macUSER); \
CTemporaryModsNetwork TempNetwork(GMods, macNETWORK); \
CTemporaryModsClient TempClient(GMods, macCLIENT); \
if (GMods.macFUNC) { \
*macEXITER = true; \
} \
} while (false)
Definition Modules.h:1543
CModules & GetModules()
Definition znc.h:143
static CZNC & Get()
Definition Modules.h:1814

◆ _USERMODULECALL

#define _USERMODULECALL (   macFUNC,
  macUSER,
  macNETWORK,
  macCLIENT,
  macEXITER 
)
Value:
do { \
bool bGlobalExited = false; \
_GLOBALMODULECALL(macFUNC, macUSER, macNETWORK, macCLIENT, \
&bGlobalExited); \
if (bGlobalExited) { \
*macEXITER = true; \
break; \
} \
if (macUSER != nullptr) { \
CModules& UMods = macUSER->GetModules(); \
CTemporaryModsNetwork TempNetwork(UMods, macNETWORK); \
CTemporaryModsClient TempClient(UMods, macCLIENT); \
if (UMods.macFUNC) { \
*macEXITER = true; \
} \
} \
} while (false)

◆ ALLMODULECALL

#define ALLMODULECALL (   macFUNC,
  macEXITER 
)
Value:
do { \
CModules& GMods = CZNC::Get().GetModules(); \
bool bAllExit = false; \
if (GMods.macFUNC) { \
bAllExit = true; \
} else { \
const map<CString, CUser*>& mUsers = CZNC::Get().GetUserMap(); \
map<CString, CUser*>::const_iterator it; \
for (it = mUsers.begin(); it != mUsers.end(); ++it) { \
CModules& UMods = it->second->GetModules(); \
if (UMods.macFUNC) { \
bAllExit = true; \
break; \
} \
const vector<CIRCNetwork*>& mNets = it->second->GetNetworks(); \
vector<CIRCNetwork*>::const_iterator it2; \
for (it2 = mNets.begin(); it2 != mNets.end(); ++it2) { \
CModules& NMods = (*it2)->GetModules(); \
if (NMods.macFUNC) { \
bAllExit = true; \
break; \
} \
} \
if (bAllExit) break; \
} \
} \
if (bAllExit) *macEXITER = true; \
} while (false)
const std::map< CString, CUser * > & GetUserMap() const
Definition znc.h:202

◆ GLOBALMODULECALL

#define GLOBALMODULECALL (   macFUNC,
  macEXITER 
)     _GLOBALMODULECALL(macFUNC, nullptr, nullptr, nullptr, macEXITER)

◆ NETWORKMODULECALL

#define NETWORKMODULECALL (   macFUNC,
  macUSER,
  macNETWORK,
  macCLIENT,
  macEXITER 
)
Value:
do { \
bool bUserExited = false; \
_USERMODULECALL(macFUNC, macUSER, macNETWORK, macCLIENT, \
&bUserExited); \
if (bUserExited) { \
*macEXITER = true; \
break; \
} \
if (macNETWORK != nullptr) { \
CModules& NMods = macNETWORK->GetModules(); \
CTemporaryModsClient TempClient(NMods, macCLIENT); \
if (NMods.macFUNC) { \
*macEXITER = true; \
} \
} \
} while (false)

◆ NOTHING

◆ USERMODULECALL

#define USERMODULECALL (   macFUNC,
  macUSER,
  macCLIENT,
  macEXITER 
)     _USERMODULECALL(macFUNC, macUSER, nullptr, macCLIENT, macEXITER)

Variable Documentation

◆ ZNC_NO_NEED_TO_DO_ANYTHING_ON_MODULE_CALL_EXITER

bool ZNC_NO_NEED_TO_DO_ANYTHING_ON_MODULE_CALL_EXITER
extern