summaryrefslogtreecommitdiff
path: root/src/modl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/modl.h')
-rwxr-xr-xsrc/modl.h30
1 files changed, 20 insertions, 10 deletions
diff --git a/src/modl.h b/src/modl.h
index b496120..73abd58 100755
--- a/src/modl.h
+++ b/src/modl.h
@@ -1,29 +1,39 @@
-// class modl declaration.
+#include "incl.h"
#ifndef MODL_H
#define MODL_H
-#include "incl.h"
-#include "hmap.h"
+#include "maps/shashmap.h"
using namespace std;
-
-class modl
+class modl : public shashmap<dynmod*>
{
private:
- hmap<dynmod*,string>* map_mods;
- pthread_mutex_t mut_map_mods;
-
static void dlclose_( dynmod* mod );
- dynmod* cache_module ( string s_name );
+ dynmod* cache_module ( string s_name, bool b_print_sys_msg );
+ void preload_modules( string s_path );
+
+#ifdef NCURSES
+
+ void print_cached( int i_mods );
+#endif
public:
modl();
~modl();
- dynmod* get_module ( string s_name );
+ dynmod* get_module( string s_name );
+ dynmod* get_module( string s_name, string s_user );
+
+ vector<string>* get_mod_vector()
+ {
+ vector<string>* p_ret = get_key_vector();
+ return p_ret;
+ }
+ void unload_modules();
+ void reload_modules();
};
#endif