From c7caa2579263eb0ec07625627e9d090f1292a0b0 Mon Sep 17 00:00:00 2001 From: Szymon Tomasz Stefanek Date: Wed, 10 Jan 2007 01:34:47 +0000 Subject: More work on the themeing engine git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@150 17fca916-40b9-46aa-a4ea-0a15b648b75c --- src/modules/system/libkvisystem.cpp | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/modules/system') 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 #endif +#include "kvi_modulemanager.h" + /* @doc: system.ostype @type: @@ -333,6 +335,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: + $system.checkModule() + @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: @@ -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); -- cgit v1.3.1-10-gc9f91