00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00028 #include "main.h"
00029
00030
00031
00032
00033
00034
00035 #if defined _WIN32 || defined __WIN32__
00036 cbmachine ww;
00037 #endif
00038 mmachine mm;
00039
00040
00041
00042
00043 int ObjCurlDestroy (mmachine m, int handsys, int mobj)
00044 {
00045 CURL * c;
00046
00047 MMechostr(MSKDEBUG, "ObjCurlDestroy: entering ...\n");
00048
00049 c = (CURL *) MMfetch (m, MTOP (mobj), OBJCURL_HANDLE);
00050 if (c == NULL)
00051 {
00052 MMechostr(MSKDEBUG, "ObjCurlDestroy : object already destroyed\n");
00053 return 0;
00054 }
00055
00056
00057 MMstore (m, MTOP (mobj), OBJCURL_HANDLE, (int) NULL);
00058 MMechostr(MSKDEBUG, "ObjCurlDestroy: object has been destroyed\n");
00059
00060 return 0;
00061 }
00062
00063
00064
00074 char* example_name[EXAMPLE_PKG_NB] =
00075 {
00076
00077 "ObjCurl",
00078
00079
00080 "example_getFile",
00081 "example_newUrl"
00082 };
00083
00097 int (*example_fun[EXAMPLE_PKG_NB]) (mmachine m) =
00098 {
00099 NULL,
00100
00101 sc_getFile,
00102 sc_newGetUrl
00103 };
00104
00112 int example_narg[EXAMPLE_PKG_NB] =
00113 {
00114 TYPTYPE,
00115
00116 2,
00117 5
00118 };
00119
00125 char* example_type[EXAMPLE_PKG_NB] =
00126 {
00127 NULL,
00128
00129 "fun [S W] I",
00130 "fun [Chn S S fun [ObjCurl u0 S I S S] u1 u0] ObjCurl"
00131 };
00132
00133
00180 int SCOLinitEXAMPLEclass (mmachine m)
00181 {
00182 int k = 0;
00183
00184 MMechostr (MSKDEBUG, "SCOLinitEXAMPLEclass library : loading\n");
00185
00186 ObjCurl = OBJregister (CURL_RFL_NB, 1, ObjCurlDestroy, "ObjCurlType");
00187 OBJgetUserEvent();
00188
00189 k = PKhardpak (m, "EXAMPLEengine", EXAMPLE_PKG_NB, example_name, example_fun, example_narg, example_type);
00190 return k;
00191 }
00192
00193
00194
00195
00196
00219 #if defined _WIN32 || defined __WIN32__
00220 __declspec (dllexport) int SCOLloadEXAMPLE (mmachine m, cbmachine w)
00221 {
00222 int k = 0;
00223
00224
00225
00226 ww = w;
00227 mm = m;
00228
00229 MMechostr (0, "EXAMPLE library : loading\n");
00230
00231 if ((k = SCOLinitEXAMPLEclass (m))) return k;
00232
00233 MMechostr (0, "\nEXAMPLE library loaded !\n");
00234 return k;
00235 }
00236
00237
00238 #elif defined linux || defined __linux
00239 int SCOLloadEXAMPLE (mmachine m)
00240 {
00241 int k = 0;
00242
00243
00244
00245 mm = m;
00246
00247 MMechostr (0, "EXAMPLE library : loading\n");
00248
00249 if ((k = SCOLinitEXAMPLEclass (m))) return k;
00250
00251 MMechostr (0, "\nEXAMPLE library loaded !\n");
00252 return k;
00253 }
00254
00255
00256 #else
00257 #error no platform supported
00258 #endif
00259
00260
00261
00272 #if defined linux || defined __linux
00273 int SCOLfreeEXAMPLE ()
00274
00275 #elif defined _WIN32 || defined __WIN32__
00276 __declspec (dllexport) int SCOLfreeEXAMPLE ()
00277
00278 #else
00279 #error no platform supported
00280 #endif
00281
00282 {
00283 MMechostr(MSKDEBUG, "\nEXAMPLE library release !\n");
00284 return 0;
00285 }