Merge remote-tracking branch 'origin/master' into windows
[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  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13 *
14 */
15
16 #ifndef __DYNAMIC_MODULES_HXX_
17 #define __DYNAMIC_MODULES_HXX_
18 #include <string>
19 #include <vector>
20 #include "function.hxx"
21
22 struct GatewayStr
23 {
24     GatewayStr()
25     {
26         stName = "";
27         stFunction = "";
28         iType = types::Function::EntryPointOldC;
29     }
30
31     std::string stName;
32     std::string stFunction;
33     types::Function::FunctionType iType;
34 };
35
36 typedef std::vector<GatewayStr> vectGateway;
37
38 class GenericModule
39 {
40 protected :
41 public :
42     GenericModule() {};
43     ~GenericModule() {};
44     static int Unload()
45     {
46         return 1;
47     }
48 };
49
50 class ScinotesModule : public GenericModule
51 {
52     static bool loadedDep;
53     static int LoadDeps(const std::string& _functionName);
54 public :
55     static int Load();
56 };
57
58 class FunctionsModule : public GenericModule
59 {
60 public :
61     static int Load();
62 };
63
64 class StatisticsModule : public GenericModule
65 {
66 public :
67     static int Load();
68 };
69
70 class SignalProcessingModule : public GenericModule
71 {
72 public :
73     static int Load();
74 };
75
76 class HelptoolsModule : public GenericModule
77 {
78     static bool loadedDep;
79     static int LoadDeps(const std::string& _functionName);
80 public :
81     static int Load();
82 };
83
84 class MatioModule : public GenericModule
85 {
86 public :
87     static int Load();
88 };
89
90 class Hdf5Module : public GenericModule
91 {
92 public :
93     static int Load();
94 };
95
96 class ActionBindingModule : public GenericModule
97 {
98 public :
99     static int Load();
100 };
101
102 class SpreadsheetModule : public GenericModule
103 {
104 public :
105     static int Load();
106 };
107
108 class RandlibModule : public GenericModule
109 {
110 public :
111     static int Load();
112 };
113
114 class InterpolationModule : public GenericModule
115 {
116 public :
117     static int Load();
118 };
119
120 class SoundModule : public GenericModule
121 {
122 public :
123     static int Load();
124 };
125
126 class UmfpackModule : public GenericModule
127 {
128 public :
129     static int Load();
130 };
131
132 class OptimizationModule : public GenericModule
133 {
134 public :
135     static int Load();
136 };
137
138 class SpecialFunctionsModule : public GenericModule
139 {
140 public :
141     static int Load();
142 };
143
144 class GraphicExportModule : public GenericModule
145 {
146 public :
147     static int Load();
148 };
149
150 class ArnoldiModule : public GenericModule
151 {
152 public :
153     static int Load();
154 };
155
156 class CallScilabModule : public GenericModule
157 {
158 public :
159     static int Load();
160 };
161
162 class CompletionModule : public GenericModule
163 {
164 public :
165     static int Load();
166 };
167
168 class XmlModule : public GenericModule
169 {
170 public :
171     static int Load();
172 };
173
174 class ScicosModule : public GenericModule
175 {
176 public :
177     static int Load();
178 };
179
180 class XcosModule : public GenericModule
181 {
182     static bool loadedDep;
183     static int LoadDeps(const std::string& _functionName);
184 public :
185     static int Load();
186 };
187
188 class MPIModule : public GenericModule
189 {
190 public :
191     static int Load();
192 };
193
194 class ExternalObjectsModule : public GenericModule
195 {
196 public :
197     static int Load();
198 };
199
200 class ExternalObjectsJavaModule : public GenericModule
201 {
202 public :
203     static int Load();
204 };
205
206 class SlintModule : public GenericModule
207 {
208 public :
209     static int Load();
210 };
211
212 #endif /* !__DYNAMIC_MODULES_HXX_ */