mirror of
https://github.com/znc/znc.git
synced 2026-05-06 05:22:26 +02:00
Make modperl support AddServerDependentCapability
This commit is contained in:
@@ -374,6 +374,41 @@ CPerlSocket::~CPerlSocket() {
|
||||
}
|
||||
}
|
||||
|
||||
CPerlCapability::~CPerlCapability() {
|
||||
SvREFCNT_dec(m_serverCb);
|
||||
SvREFCNT_dec(m_clientCb);
|
||||
}
|
||||
|
||||
void CPerlCapability::OnServerChangedSupport(CIRCNetwork* pNetwork, bool bState) {
|
||||
PSTART;
|
||||
PUSH_PTR(CIRCNetwork*, pNetwork);
|
||||
mXPUSHi(bState);
|
||||
PUTBACK;
|
||||
ret = call_sv(m_serverCb, G_EVAL | G_ARRAY);
|
||||
SPAGAIN;
|
||||
SP -= ret;
|
||||
ax = (SP - PL_stack_base) + 1;
|
||||
if (SvTRUE(ERRSV)) {
|
||||
DEBUG("Perl hook OnServerChangedSupport died with: " + PString(ERRSV));
|
||||
}
|
||||
PEND;
|
||||
}
|
||||
|
||||
void CPerlCapability::OnClientChangedSupport(CClient* pClient, bool bState) {
|
||||
PSTART;
|
||||
PUSH_PTR(CClient*, pClient);
|
||||
mXPUSHi(bState);
|
||||
PUTBACK;
|
||||
ret = call_sv(m_clientCb, G_EVAL | G_ARRAY);
|
||||
SPAGAIN;
|
||||
SP -= ret;
|
||||
ax = (SP - PL_stack_base) + 1;
|
||||
if (SvTRUE(ERRSV)) {
|
||||
DEBUG("Perl hook OnServerChangedSupport died with: " + PString(ERRSV));
|
||||
}
|
||||
PEND;
|
||||
}
|
||||
|
||||
template <>
|
||||
void TModInfo<CModPerl>(CModInfo& Info) {
|
||||
Info.SetWikiPage("modperl");
|
||||
|
||||
Reference in New Issue
Block a user