32 #ifndef _QORE_MODULEMANAGER_H 34 #define _QORE_MODULEMANAGER_H 36 #include <qore/QoreThreadLock.h> 37 #include <qore/QoreString.h> 48 #define QORE_MODULE_API_MAJOR 0 49 #define QORE_MODULE_API_MINOR 19 51 #define QORE_MODULE_COMPAT_API_MAJOR 0 52 #define QORE_MODULE_COMPAT_API_MINOR 19 83 enum mod_op_e { MOD_OP_NONE, MOD_OP_EQ, MOD_OP_GT,
84 MOD_OP_GE, MOD_OP_LT, MOD_OP_LE };
100 DLLLOCAL ModuleManager& operator=(
const ModuleManager&);
107 DLLEXPORT
static void addModuleDir(
const char *dir);
113 DLLEXPORT
static void addAutoModuleDir(
const char *dir);
119 DLLEXPORT
static void addModuleDirList(
const char *strlist);
125 DLLEXPORT
static void addAutoModuleDirList(
const char *strlist);
142 DLLEXPORT
static int runTimeLoadModule(
const char *name,
ExceptionSink *xsink);
165 DLLEXPORT
void registerUserModuleFromSource(
const char* name,
const char* src,
QoreProgram *pgm,
ExceptionSink* xsink);
168 DLLEXPORT
static void addStandardModulePaths();
171 DLLLOCAL ModuleManager();
177 static inline bool is_module_api_supported(
int major,
int minor) {
184 #endif // _QORE_MODULEMANAGER_H void(* qore_module_delete_t)()
signature of the module destructor function
Definition: ModuleManager.h:78
DLLEXPORT const qore_mod_api_compat_s * qore_mod_api_list
list of module APIs this library supports
This is the hash or associative list container type in Qore, dynamically allocated only...
Definition: QoreHashNode.h:49
contains constants, classes, and subnamespaces in QoreProgram objects
Definition: QoreNamespace.h:58
void(* qore_module_ns_init_t)(QoreNamespace *root_ns, QoreNamespace *qore_ns)
signature of the module namespace change/delta function
Definition: ModuleManager.h:75
void(* qore_module_parse_cmd_t)(const QoreString &cmd, ExceptionSink *xsink)
signature of the module parse command function
Definition: ModuleManager.h:81
Qore's string type supported by the QoreEncoding class.
Definition: QoreString.h:82
Qore's string value type, reference counted, dynamically-allocated only.
Definition: QoreStringNode.h:50
manages the loading of Qore modules from feature or path names. Also manages adding module changes in...
Definition: ModuleManager.h:94
This is the list container type in Qore, dynamically allocated only, reference counted.
Definition: QoreListNode.h:52
supports parsing and executing Qore-language code, reference counted, dynamically-allocated only ...
Definition: QoreProgram.h:103
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:43
element of qore_mod_api_list;
Definition: ModuleManager.h:55
DLLEXPORT ModuleManager MM
the global ModuleManager object
DLLEXPORT const unsigned qore_mod_api_list_len
number of elements in qore_mod_api_list;