Support OnGetAvailableMods in python. #98

Currently this needs patched SWIG.
Upstream version crashes ZNC.
Hopefully they'll apply my patches upstream soon...
As for now, working modpython tarball is available at
http://people.znc.in/~darthgandalf/znc/modpython/
This commit is contained in:
Alexey Sokolov
2012-07-27 01:02:04 +07:00
parent 85252f2f5b
commit 5e711011c5
3 changed files with 4 additions and 8 deletions
+1
View File
@@ -71,3 +71,4 @@ void OnClientCapRequest(CClient* pClient, const CString& sCap, bool bState)
EModRet OnModuleLoading(const CString& sModName, const CString& sArgs, CModInfo::EModuleType eType, bool& bSuccess, CString& sRetMsg)
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)
+2 -8
View File
@@ -47,14 +47,7 @@ using std::allocator;
%include <typemaps.i>
%include <stl.i>
%include <std_list.i>
namespace std {
template<class K> class set {
public:
set();
set(const set<K>&);
};
}
%include <std_set.i>
%include "modpython/cstring.i"
%template(_stringlist) std::list<CString>;
@@ -71,6 +64,7 @@ namespace std {
%template(VIRCNetworks) std::vector<CIRCNetwork*>;
%template(VChannels) std::vector<CChan*>;
%template(MNicks) std::map<CString, CNick>;
%template(SModInfo) std::set<CModInfo>;
%typemap(in) CString& {
String* p;
+1
View File
@@ -122,6 +122,7 @@ public:
virtual EModRet OnModuleUnloading(CModule* pModule, bool& bSuccess, CString& sRetMsg);
virtual EModRet OnGetModInfo(CModInfo& ModInfo, const CString& sModule,
bool& bSuccess, CString& sRetMsg);
virtual void OnGetAvailableMods(std::set<CModInfo>& ssMods, CModInfo::EModuleType eType);
};
static inline CPyModule* AsPyModule(CModule* p) {