ZNC trunk
Loading...
Searching...
No Matches
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)
#define USERMODULECALL(macFUNC, macUSER, 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)
CTemporaryModsField< CUser, &CModules::GetUser, &CModules::SetUser > CTemporaryModsUser
Definition Modules.h:1834
CTemporaryModsField< CIRCNetwork, &CModules::GetNetwork, &CModules::SetNetwork > CTemporaryModsNetwork
Definition Modules.h:1832
CTemporaryModsField< CClient, &CModules::GetClient, &CModules::SetClient > CTemporaryModsClient
Definition Modules.h:1830
Definition Modules.h:1544
CModules & GetModules()
Definition znc.h:143
static CZNC & Get()

◆ _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 )
Value:
_GLOBALMODULECALL(macFUNC, nullptr, nullptr, nullptr, macEXITER)
#define _GLOBALMODULECALL(macFUNC, macUSER, macNETWORK, macCLIENT, macEXITER)
Definition main.h:56

◆ 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 )
Value:
_USERMODULECALL(macFUNC, macUSER, nullptr, macCLIENT, macEXITER)
#define _USERMODULECALL(macFUNC, macUSER, macNETWORK, macCLIENT, macEXITER)
Definition main.h:67

Variable Documentation

◆ ZNC_NO_NEED_TO_DO_ANYTHING_ON_MODULE_CALL_EXITER

bool ZNC_NO_NEED_TO_DO_ANYTHING_ON_MODULE_CALL_EXITER
extern