aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/system
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2007-01-10 01:34:47 +0000
committerGravatar Szymon Tomasz Stefanek2007-01-10 01:34:47 +0000
commitc7caa2579263eb0ec07625627e9d090f1292a0b0 (patch)
treee6744b330ed28b0a319edd172a86c605de68a99d /src/modules/system
parentctrl+w, alt+backspace shortcuts (diff)
downloadKVIrc-c7caa2579263eb0ec07625627e9d090f1292a0b0.tar.gz
KVIrc-c7caa2579263eb0ec07625627e9d090f1292a0b0.tar.bz2
KVIrc-c7caa2579263eb0ec07625627e9d090f1292a0b0.zip
More work on the themeing engine
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@150 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/system')
-rw-r--r--src/modules/system/libkvisystem.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/modules/system/libkvisystem.cpp b/src/modules/system/libkvisystem.cpp
index 979336b87..7f29e2c23 100644
--- a/src/modules/system/libkvisystem.cpp
+++ b/src/modules/system/libkvisystem.cpp
@@ -44,6 +44,8 @@
#include <dcopclient.h>
#endif
+#include "kvi_modulemanager.h"
+
/*
@doc: system.ostype
@type:
@@ -334,6 +336,39 @@ static bool system_kvs_fnc_selection(KviKvsModuleFunctionCall *c)
/*
+ @doc: system.checkModule
+ @keyterms:
+ Module checking
+ @type:
+ function
+ @title:
+ $system.checkModule
+ @short:
+ Checks if a KVIrc module is loadable
+ @syntax:
+ <boolean> $system.checkModule(<module_name:string>)
+ @description:
+ Attempts to load the specified module and returns
+ $true if succesfull and $false otherwise. This can
+ be effectively used to test if a KVIrc exension module
+ is present on the system and can be loaded by the
+ KVIrc engine.
+*/
+
+static bool system_kvs_fnc_checkModule(KviKvsModuleFunctionCall *c)
+{
+ QString szModuleName;
+
+ KVSM_PARAMETERS_BEGIN(c)
+ KVSM_PARAMETER("module_name",KVS_PT_STRING,0,szModuleName)
+ KVSM_PARAMETERS_END(c)
+
+ c->returnValue()->setBoolean(g_pModuleManager->loadModule(szModuleName.utf8().data()));
+ return true;
+}
+
+
+/*
@doc: system.hostname
@keyterms:
System information
@@ -622,6 +657,7 @@ static bool system_module_init(KviModule * m)
KVSM_REGISTER_FUNCTION(m,"dcop",system_kvs_fnc_dcop);
KVSM_REGISTER_FUNCTION(m,"clipboard",system_kvs_fnc_clipboard);
KVSM_REGISTER_FUNCTION(m,"selection",system_kvs_fnc_selection);
+ KVSM_REGISTER_FUNCTION(m,"checkModule",system_kvs_fnc_checkModule);
KVSM_REGISTER_SIMPLE_COMMAND(m,"setenv",system_kvs_cmd_setenv);
KVSM_REGISTER_SIMPLE_COMMAND(m,"setClipboard",system_kvs_cmd_setClipboard);