0aa96d9ac54f18d676ecc80407cdf2eb34d5f285
[scilab.git] / scilab / modules / functions_manager / includes / dynamic_modules.hxx
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 #ifndef __DYNAMIC_MODULES_HXX_
14 #define __DYNAMIC_MODULES_HXX_
15 #include <string>
16 #include <vector>
17 #include "function.hxx"
18
19 struct GatewayStr
20 {
21     GatewayStr()
22     {
23         wstName = L"";
24         wstFunction = L"";
25         iType = types::Function::EntryPointC;
26     }
27
28     std::wstring wstName;
29     std::wstring wstFunction;
30     types::Function::FunctionType iType;
31 };
32
33 typedef std::vector<GatewayStr> vectGateway;
34
35 class GenericModule
36 {
37 protected :
38 public :
39     GenericModule() {};
40     ~GenericModule() {};
41     static int Unload()
42     {
43         return 1;
44     }
45 };
46
47 class ScinotesModule : public GenericModule
48 {
49     static bool loadedDep;
50     static void LoadDeps(std::wstring _functionName);
51 public :
52     static int Load();
53 };
54
55 class FunctionsModule : public GenericModule
56 {
57 public :
58     static int Load();
59 };
60
61 class StatisticsModule : public GenericModule
62 {
63 public :
64     static int Load();
65 };
66
67 class SignalProcessingModule : public GenericModule
68 {
69 public :
70     static int Load();
71 };
72
73 class HelptoolsModule : public GenericModule
74 {
75     static bool loadedDep;
76     static void LoadDeps(std::wstring _functionName);
77 public :
78     static int Load();
79 };
80
81 class MatioModule : public GenericModule
82 {
83 public :
84     static int Load();
85 };
86
87 class Hdf5Module : public GenericModule
88 {
89 public :
90     static int Load();
91 };
92
93 class ActionBindingModule : public GenericModule
94 {
95 public :
96     static int Load();
97 };
98
99 class SpreadsheetModule : public GenericModule
100 {
101 public :
102     static int Load();
103 };
104
105 class RandlibModule : public GenericModule
106 {
107 public :
108     static int Load();
109 };
110
111 class InterpolationModule : public GenericModule
112 {
113 public :
114     static int Load();
115 };
116
117 class SoundModule : public GenericModule
118 {
119 public :
120     static int Load();
121 };
122
123 class UmfpackModule : public GenericModule
124 {
125 public :
126     static int Load();
127 };
128
129 class OptimizationModule : public GenericModule
130 {
131 public :
132     static int Load();
133 };
134
135 class SpecialFunctionsModule : public GenericModule
136 {
137 public :
138     static int Load();
139 };
140
141 class GraphicExportModule : public GenericModule
142 {
143 public :
144     static int Load();
145 };
146
147 class ArnoldiModule : public GenericModule
148 {
149 public :
150     static int Load();
151 };
152
153 class CallScilabModule : public GenericModule
154 {
155 public :
156     static int Load();
157 };
158
159 class CompletionModule : public GenericModule
160 {
161 public :
162     static int Load();
163 };
164
165 class XmlModule : public GenericModule
166 {
167 public :
168     static int Load();
169 };
170
171 class ScicosModule : public GenericModule
172 {
173 public :
174     static int Load();
175 };
176
177 class XcosModule : public GenericModule
178 {
179     static bool loadedDep;
180     static void LoadDeps(std::wstring _functionName);
181 public :
182     static int Load();
183 };
184
185 class MPIModule : public GenericModule
186 {
187 public :
188     static int Load();
189 };
190
191 class ExternalObjectsModule : public GenericModule
192 {
193 public :
194     static int Load();
195 };
196
197 class ExternalObjectsJavaModule : public GenericModule
198 {
199 public :
200     static int Load();
201 };
202
203 #endif /* !__DYNAMIC_MODULES_HXX_ */