Modpython: support OnLoginAttempt.

So python part of #98 is completed.
This commit is contained in:
Alexey Sokolov
2012-07-28 11:31:36 +07:00
parent f988630ac8
commit ff755b8812
4 changed files with 7 additions and 1 deletions

View File

@@ -275,6 +275,9 @@ while (<$in>) {
say $out "Py_BuildValue(\"l\", (long int)$a->{var});";
}
}
when (/^CSmartPtr/) {
say $out "SWIG_NewInstanceObj(new $a->{type}($a->{var}), SWIG_TypeQuery(\"$a->{type}*\"), SWIG_POINTER_OWN);";
}
when (/\*$/) {
(my $t = $a->{type}) =~ s/^const//;
say $out "SWIG_NewInstanceObj(const_cast<$t>($a->{var}), SWIG_TypeQuery(\"$t\"), 0);";
@@ -283,7 +286,7 @@ while (<$in>) {
(my $b = $a->{base}) =~ s/^const//;
say $out "SWIG_NewInstanceObj(const_cast<$b*>(&$a->{var}), SWIG_TypeQuery(\"$b*\"), 0);";
}
when (/(?:^|::)E/) {
when (/(?:^|::)E/) { # Enumerations
say $out "Py_BuildValue(\"i\", (int)$a->{var});";
}
default {

View File

@@ -73,3 +73,4 @@ EModRet OnModuleUnloading(CModule* pModule, bool& bSuccess, CString& sRetMsg)
EModRet OnGetModInfo(CModInfo& ModInfo, const CString& sModule, bool& bSuccess, CString& sRetMsg)
void OnGetAvailableMods(std::set<CModInfo>& ssMods, CModInfo::EModuleType eType)
void OnClientCapLs(CClient* pClient, SCString& ssCaps)
EModRet OnLoginAttempt(CSmartPtr<CAuthBase> Auth)

View File

@@ -106,6 +106,7 @@ class MCString : public std::map<CString, CString> {};
#include "../include/znc/ZNCString.h"
%include "../include/znc/defines.h"
%include "../include/znc/Utils.h"
%template(PAuthBase) CSmartPtr<CAuthBase>;
%include "../include/znc/Config.h"
%include "../include/znc/Csocket.h"
%template(ZNCSocketManager) TSocketManager<CZNCSock>;

View File

@@ -124,6 +124,7 @@ public:
bool& bSuccess, CString& sRetMsg);
virtual void OnGetAvailableMods(std::set<CModInfo>& ssMods, CModInfo::EModuleType eType);
virtual void OnClientCapLs(CClient* pClient, SCString& ssCaps);
virtual EModRet OnLoginAttempt(CSmartPtr<CAuthBase> Auth);
};
static inline CPyModule* AsPyModule(CModule* p) {