3 void (*CheckConsistency)(void);
4 void (*CheckMemory)(void);
5 DesignerBase (*GetActiveDesigner)(void);
6 Platform (*GetRuntimePlatform)(void);
7 void (*InitializeDataTypes)(Module module);
8 void (*InitializeDataTypes1)(Module module);
9 bool (*LocateModule)(const char *name, const char *fileName);
10 void (*Print)(Class * class_object, void * object, ...);
11 int (*PrintBuf)(char *buffer, int maxLen, Class * class_object, const void * object, ...);
12 void (*PrintLn)(Class * class_object, const void * object, ...);
13 int (*PrintLnBuf)(char *buffer, int maxLen, Class * class_object, const void * object, ...);
14 char *(*PrintLnString)(Class * class_object, const void * object, ...);
15 int (*PrintStdArgsToBuffer)(char *buffer, int maxLen, Class * class_object, const void * object, va_list args);
16 char *(*PrintString)(Class * class_object, const void * object, ...);
17 void (*SetActiveDesigner)(DesignerBase designer);
18 // int64 (*_strtoi64)(const char *string, const char **endString, int base);
19 // uint64 (*_strtoui64)(const char *string, const char **endString, int base);
20 uint (*log2i)(uint number);
21 void (*memswap)(byte *a, byte *b, uint size);
22 uint (*pow2i)(uint number);
23 void (*queryMemInfo)(char *string);
24 void (*ChangeCh)(char *string, char ch1, char ch2);
25 void (*ChangeChars)(char *string, const char *chars, char alt);
26 char *(*ChangeExtension)(const char *string, const char *ext, char *output);
27 char *(*CopyString)(const char *string);
28 double (*FloatFromString)(const char *string);
29 int64 (*GetCurrentThreadID)(void);
30 char *(*GetExtension)(const char *string, char *output);
31 uint (*GetHexValue)(char **buffer);
32 char *(*GetLastDirectory)(const char *string, char *output);
33 bool (*GetString)(char **buffer, char *string, int max);
34 int (*GetValue)(char **buffer);
35 int (*ISO8859_1toUTF8)(const char *source, char *dest, int max);
36 bool (*IsPathInsideOf)(const char *path, const char *of);
37 char *(*MakePathRelative)(const char *path, const char *to, char *destination);
38 char *(*PathCat)(char *string, const char *addedPath);
39 char *(*PathCatSlash)(char *string, const char *addedPath);
40 void (*PrintBigSize)(char *string, double size, int prec);
41 void (*PrintSize)(char *string, uint size, int prec);
42 char *(*RSearchString)(const char *buffer, const char *subStr, int maxLen, bool matchCase, bool matchWord);
43 void (*RepeatCh)(char *string, int count, char ch);
44 char *(*SearchString)(const char *buffer, int start, const char *subStr, bool matchCase, bool matchWord);
45 bool (*SplitArchivePath)(const char *fileName, char *archiveName, const char **archiveFile);
46 char *(*SplitDirectory)(const char *string, char *part, char *rest);
47 bool (*StripExtension)(char *string);
48 char *(*StripLastDirectory)(const char *string, char *output);
49 char *(*StripQuotes)(const char *string, char *output);
50 int (*Tokenize)(char *string, int maxTokens, char *tokens[], BackSlashEscaping esc);
51 int (*TokenizeWith)(char *string, int maxTokens, char *tokens[], const char *tokenizers, bool escapeBackSlashes);
52 char *(*TrimLSpaces)(const char *string, char *output);
53 char *(*TrimRSpaces)(const char *string, char *output);
54 char *(*UTF16toUTF8)(const uint16 *source);
55 int (*UTF16toUTF8Buffer)(const uint16 *source, char *dest, int max);
56 int (*UTF32toUTF8Len)(const unichar *source, int count, char *dest, int max);
57 unichar (*UTF8GetChar)(const char *string, int *numBytes);
58 bool (*UTF8Validate)(const char *source);
59 uint16 *(*UTF8toUTF16)(const char *source, int *wordCount);
60 int (*UTF8toUTF16Buffer)(const char *source, uint16 *dest, int max);
61 void (*strcatf)(char *string, const char *format, ...);
63 Class * class_Application;
78 Class * class_Instance;
80 Method * method_class_onDisplay;
81 Method * method_class_onCompare;
82 Method * method_class_onCopy;
83 Method * method_class_onFree;
84 Method * method_class_onGetString;
85 Method * method_class_onGetDataFromString;
86 Method * method_class_onEdit;
87 Method * method_class_onSerialize;
88 Method * method_class_onUnserialize;
89 Method * method_class_onSaveEdit;
95 int onGetString_vTblID;
96 int onGetDataFromString_vTblID;
98 int onSerialize_vTblID;
99 int onUnserialize_vTblID;
100 int onSaveEdit_vTblID;
102 Class * class_Module;
104 int Application_main_vTblID;
106 Method * method_Application_main;
108 GlobalFunction * function_PrintLn;
110 Application eC_init(bool guiApp, int argc, char * argv[])
112 Application app = eC_initApp(guiApp, argc, argv);
115 Module module = Module_load(app, "ecereCOM", publicAccess);
119 // Set up all the class_*, property, method, function pointers ...
120 class_class = eC_findClass(app, "class");
123 method_class_onDisplay = Class_findMethod(class_class, "OnDisplay", app);
124 if(method_class_onDisplay)
125 onDisplay_vTblID = method_class_onDisplay->vid;
126 method_class_onCompare = Class_findMethod(class_class, "OnCompare", app);
127 if(method_class_onCompare)
128 onCompare_vTblID = method_class_onCompare->vid;
129 method_class_onCopy = Class_findMethod(class_class, "OnCopy", app);
130 if(method_class_onCopy)
131 onCopy_vTblID = method_class_onCopy->vid;
132 method_class_onFree = Class_findMethod(class_class, "OnFree", app);
133 if(method_class_onFree)
134 onFree_vTblID = method_class_onFree->vid;
135 method_class_onGetString = Class_findMethod(class_class, "OnGetString", app);
136 if(method_class_onGetString)
137 onGetString_vTblID = method_class_onGetString->vid;
138 method_class_onGetDataFromString = Class_findMethod(class_class, "OnGetDataFromString", app);
139 if(method_class_onGetDataFromString)
140 onGetDataFromString_vTblID = method_class_onGetDataFromString->vid;
141 method_class_onEdit = Class_findMethod(class_class, "OnEdit", app);
142 if(method_class_onEdit)
143 onEdit_vTblID = method_class_onEdit->vid;
144 method_class_onSerialize = Class_findMethod(class_class, "OnSerialize", app);
145 if(method_class_onSerialize)
146 onSerialize_vTblID = method_class_onSerialize->vid;
147 method_class_onUnserialize = Class_findMethod(class_class, "OnUnserialize", app);
148 if(method_class_onUnserialize)
149 onUnserialize_vTblID = method_class_onUnserialize->vid;
150 method_class_onSaveEdit = Class_findMethod(class_class, "OnSaveEdit", app);
151 if(method_class_onSaveEdit)
152 onSaveEdit_vTblID = method_class_onSaveEdit->vid;
155 class_String = eC_findClass(app, "String");
156 class_int = eC_findClass(app, "int");
157 class_double = eC_findClass(app, "double");
158 class_float = eC_findClass(app, "float");
159 class_char = eC_findClass(app, "char");
160 class_int64 = eC_findClass(app, "int64");
161 class_short = eC_findClass(app, "short");
162 class_uint16 = eC_findClass(app, "uint16");
163 class_uint = eC_findClass(app, "uint");
164 class_uint64 = eC_findClass(app, "uint64");
165 class_byte = eC_findClass(app, "byte");
167 class_Instance = eC_findClass(app, "Instance");
169 class_Module = eC_findClass(app, "Module");
171 class_Application = eC_findClass(app, "Application");
172 if(class_Application)
174 method_Application_main = Class_findMethod(class_Application, "Main", app);
175 if(method_Application_main)
176 Application_main_vTblID = method_Application_main->vid;
179 function_PrintLn = eC_findFunction(app, "PrintLn");
181 PrintLn = (void *)function_PrintLn->function;