cosmetic, rename functions
[scilab.git] / scilab / modules / types / sci_gateway / cpp / sci_inspectorGetFunctionList.cpp
1 /*
2 *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 *  Copyright (C) 2011 - DIGITEO - Antoine ELIAS
4 *
5 *  This file must be used under the terms of the CeCILL.
6 *  This source file is licensed as described in the file COPYING, which
7 *  you should have received as part of this distribution.  The terms
8 *  are also available at
9 *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10 *
11 */
12
13 #include "types_gw.hxx"
14 #include "function.hxx"
15 #include "string.hxx"
16 #include "inspector.hxx"
17 #include "context.hxx"
18
19 extern "C"
20 {
21 #include "Scierror.h"
22 #include "localization.h"
23 }
24
25 using namespace types;
26
27 Function::ReturnValue sci_inspectorGetFunctionList(typed_list &in, int _iRetCount, typed_list &out)
28 {
29     if (in.size() != 0)
30     {
31         Scierror(999, _("%s: Wrong number of input arguments: %d expected.\n"), "inspectorGetFunctionList", 0);
32         return Function::Error;
33     }
34
35     symbol::Context* pC = symbol::Context::getInstance();
36
37     std::list<symbol::Symbol> FuncName = pC->getFunctionList(L"");
38
39     String* pOut = new String(FuncName.size(), 4);
40
41     std::list<symbol::Symbol>::iterator it = FuncName.begin();
42     for (int i = 0; it != FuncName.end() ; it++, i++)
43     {
44         Callable* pCall = pC->get(*it)->getAs<Callable>();
45         //Function name
46         pOut->set(i, 0, pCall->getName().c_str());
47         pOut->set(i, 1, pCall->getModule().c_str());
48         pOut->set(i, 2, pCall->getTypeStr().c_str());
49
50         if (pCall->isMacroFile())
51         {
52             pOut->set(i, 3, pCall->getAs<MacroFile>()->getMacro() == NULL ? L"false" : L"true");
53         }
54         else
55         {
56             pOut->set(i, 3, L"");
57         }
58     }
59
60     out.push_back(pOut);
61     return Function::OK;
62 }