#include "context.hxx"
#include "configvariable.hxx"
+
extern "C"
{
#include "loadOnUseClassPath.h"
+#include "Scierror.h"
+
//XML API
#include <libxml/xpath.h>
#include <libxml/xmlreader.h>
return 1;
}
+static types::Function::ReturnValue sci_dummy_xcos_in_NWNI(types::typed_list &/*in*/, int /*_iRetCount*/, types::typed_list &/*out*/)
+{
+ Scierror(999, _("Scilab '%s' module disabled in -nogui or -nwni mode.\n"), "xcos");
+ return types::Function::Error;
+};
+
bool XcosModule::loadedDep = false;
int XcosModule::LoadDeps(const std::wstring& _functionName)
{
int XcosModule::Load()
{
- std::wstring wstModuleName = L"xcos";
+ const std::wstring wstModuleName = L"xcos";
+ const wchar_t* wstLibName = wstModuleName.c_str();
#ifdef _MSC_VER
- wchar_t* pwstLibName = buildModuleDynLibraryNameW(wstModuleName.c_str(), DYNLIB_NAME_FORMAT_2);
+ wchar_t* pwstLibName = buildModuleDynLibraryNameW(wstLibName, DYNLIB_NAME_FORMAT_2);
#else
- wchar_t* pwstLibName = buildModuleDynLibraryNameW(wstModuleName.c_str(), DYNLIB_NAME_FORMAT_3);
+ wchar_t* pwstLibName = buildModuleDynLibraryNameW(wstLibName, DYNLIB_NAME_FORMAT_3);
#endif
vectGateway vect = loadGatewaysName(wstModuleName);
- for (int i = 0 ; i < (int)vect.size() ; i++)
+
+ if (getScilabMode() != SCILAB_NWNI)
+ {
+ for (int i = 0 ; i < (int)vect.size() ; i++)
+ {
+ symbol::Context::getInstance()->addFunction(types::Function::createFunction(vect[i].wstFunction, vect[i].wstName, pwstLibName, vect[i].iType, &XcosModule::LoadDeps, wstModuleName));
+ }
+ }
+ else
{
- symbol::Context::getInstance()->addFunction(types::Function::createFunction(vect[i].wstFunction, vect[i].wstName, pwstLibName, vect[i].iType, &XcosModule::LoadDeps, wstModuleName));
+ for (int i = 0 ; i < (int)vect.size() ; i++)
+ {
+ symbol::Context::getInstance()->addFunction(types::Function::createFunction(vect[i].wstFunction, &sci_dummy_xcos_in_NWNI, wstModuleName));
+ }
+
}
FREE(pwstLibName);