From b4681291728381e8255c5a76089a5820705db544 Mon Sep 17 00:00:00 2001 From: prozacx Date: Mon, 2 May 2005 22:36:08 +0000 Subject: [PATCH] Added in code for GetAvailableMods() git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@234 726aef4b-f618-498e-8847-2d620e286838 --- Modules.cpp | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/Modules.cpp b/Modules.cpp index e3e130c7..5044d082 100644 --- a/Modules.cpp +++ b/Modules.cpp @@ -1,5 +1,6 @@ #include "main.h" #include "Modules.h" +#include "znc.h" #include "Utils.h" #include "User.h" #include "Nick.h" @@ -625,8 +626,21 @@ bool CModules::ReloadModule(const string& sModule, const string& sArgs, CUser* p return true; } -void CModules::GetAvailableMods(set& ssMods) { +void CModules::GetAvailableMods(set& ssMods, CZNC* pZNC) { ssMods.clear(); - //ssMods.insert(CModInfo("foo", "/usr/share/znc/foo", true)); - //ssMods.insert(CModInfo("bar", "/home/user/.znc/modules/bar", false)); + + unsigned int a = 0; + CDir Dir; + + Dir.FillByWildcard(pZNC->GetModPath(), "*.so"); + for (a = 0; a < Dir.size(); a++) { + CFile& File = *Dir[a]; + ssMods.insert(CModInfo(File.GetShortName(), File.GetLongName(), false)); + } + + Dir.FillByWildcard(_MODDIR_, "*.so"); + for (a = 0; a < Dir.size(); a++) { + CFile& File = *Dir[a]; + ssMods.insert(CModInfo(File.GetShortName(), File.GetLongName(), true)); + } }