Some more fun with tabs

git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1966 726aef4b-f618-498e-8847-2d620e286838
This commit is contained in:
psychon
2010-05-02 08:36:57 +00:00
parent 6b3f8929c7
commit 99f1efc843
37 changed files with 275 additions and 277 deletions

View File

@@ -18,62 +18,62 @@
# warning "your crap box doesnt define RTLD_LOCAL !?"
#endif
#define _MODUNLOADCHK(func, type) \
for (unsigned int a = 0; a < size(); a++) { \
try { \
type* pMod = (type *) (*this)[a]; \
CClient* pOldClient = pMod->GetClient(); \
pMod->SetClient(m_pClient); \
if (m_pUser) { \
CUser* pOldUser = pMod->GetUser(); \
pMod->SetUser(m_pUser); \
pMod->func; \
pMod->SetUser(pOldUser); \
} else { \
pMod->func; \
} \
pMod->SetClient(pOldClient); \
} catch (CModule::EModException e) { \
if (e == CModule::UNLOAD) { \
UnloadModule((*this)[a]->GetModName()); \
} \
} \
#define _MODUNLOADCHK(func, type) \
for (unsigned int a = 0; a < size(); a++) { \
try { \
type* pMod = (type *) (*this)[a]; \
CClient* pOldClient = pMod->GetClient(); \
pMod->SetClient(m_pClient); \
if (m_pUser) { \
CUser* pOldUser = pMod->GetUser(); \
pMod->SetUser(m_pUser); \
pMod->func; \
pMod->SetUser(pOldUser); \
} else { \
pMod->func; \
} \
pMod->SetClient(pOldClient); \
} catch (CModule::EModException e) { \
if (e == CModule::UNLOAD) { \
UnloadModule((*this)[a]->GetModName()); \
} \
} \
}
#define MODUNLOADCHK(func) _MODUNLOADCHK(func, CModule)
#define GLOBALMODCALL(func) _MODUNLOADCHK(func, CGlobalModule)
#define _MODHALTCHK(func, type) \
bool bHaltCore = false; \
for (unsigned int a = 0; a < size(); a++) { \
try { \
type* pMod = (type*) (*this)[a]; \
CModule::EModRet e = CModule::CONTINUE; \
CClient* pOldClient = pMod->GetClient(); \
pMod->SetClient(m_pClient); \
if (m_pUser) { \
CUser* pOldUser = pMod->GetUser(); \
pMod->SetUser(m_pUser); \
e = pMod->func; \
pMod->SetUser(pOldUser); \
} else { \
e = pMod->func; \
} \
pMod->SetClient(pOldClient); \
if (e == CModule::HALTMODS) { \
break; \
} else if (e == CModule::HALTCORE) { \
bHaltCore = true; \
} else if (e == CModule::HALT) { \
bHaltCore = true; \
break; \
} \
} catch (CModule::EModException e) { \
if (e == CModule::UNLOAD) { \
UnloadModule((*this)[a]->GetModName()); \
} \
} \
} \
#define _MODHALTCHK(func, type) \
bool bHaltCore = false; \
for (unsigned int a = 0; a < size(); a++) { \
try { \
type* pMod = (type*) (*this)[a]; \
CModule::EModRet e = CModule::CONTINUE; \
CClient* pOldClient = pMod->GetClient(); \
pMod->SetClient(m_pClient); \
if (m_pUser) { \
CUser* pOldUser = pMod->GetUser(); \
pMod->SetUser(m_pUser); \
e = pMod->func; \
pMod->SetUser(pOldUser); \
} else { \
e = pMod->func; \
} \
pMod->SetClient(pOldClient); \
if (e == CModule::HALTMODS) { \
break; \
} else if (e == CModule::HALTCORE) { \
bHaltCore = true; \
} else if (e == CModule::HALT) { \
bHaltCore = true; \
break; \
} \
} catch (CModule::EModException e) { \
if (e == CModule::UNLOAD) { \
UnloadModule((*this)[a]->GetModName()); \
} \
} \
} \
return bHaltCore;
#define MODHALTCHK(func) _MODHALTCHK(func, CModule)
@@ -751,7 +751,7 @@ bool CModules::UnloadModule(const CString& sModule) {
}
bool CModules::UnloadModule(const CString& sModule, CString& sRetMsg) {
CString sMod = sModule; // Make a copy incase the reference passed in is from CModule::GetModName()
CString sMod = sModule; // Make a copy incase the reference passed in is from CModule::GetModName()
CModule* pModule = FindModule(sMod);
sRetMsg = "";
@@ -804,7 +804,7 @@ bool CModules::UnloadModule(const CString& sModule, CString& sRetMsg) {
}
bool CModules::ReloadModule(const CString& sModule, const CString& sArgs, CUser* pUser, CString& sRetMsg) {
CString sMod = sModule; // Make a copy incase the reference passed in is from CModule::GetModName()
CString sMod = sModule; // Make a copy incase the reference passed in is from CModule::GetModName()
sRetMsg = "";
if (!UnloadModule(sMod, sRetMsg)) {
return false;