00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef G__API_H
00018 #define G__API_H
00019
00020
00021
00022
00023
00024 #define G__API
00025 #include "G__ci.h"
00026 #ifdef __MAKECINT__
00027 #pragma link off all classes;
00028 #pragma link off all functions;
00029 #pragma link off all globals;
00030 #pragma link off all typedefs;
00031 #endif
00032
00033 #define G__INFO_BUFLEN 50
00034
00035 #define G__INFO_TITLELEN G__ONELINE
00036
00037 #ifndef G__PROPERTY_H
00038 #include "Property.h"
00039 #endif
00040 #ifndef G__CLASSINFO_H
00041 #include "Class.h"
00042 #endif
00043 #ifndef G__BaseClassInfo_H
00044 #include "BaseCls.h"
00045 #endif
00046 #ifndef G__TYPEINFOX_H
00047 #include "Type.h"
00048 #endif
00049 #ifndef G__METHODINFO_H
00050 #include "Method.h"
00051 #endif
00052 #ifndef G__METHODARGINFO_H
00053 #include "MethodAr.h"
00054 #endif
00055 #ifndef G__DATAMEMBER_H
00056 #include "DataMbr.h"
00057 #endif
00058 #ifndef G__CALLFUNC_H
00059 #include "CallFunc.h"
00060 #endif
00061 #ifndef G__TYPEDEFINFO_H
00062 #include "Typedf.h"
00063 #endif
00064 #ifndef G__TOKENINFO_H
00065 #include "Token.h"
00066 #endif
00067
00068 #include <vector>
00069 #include <string>
00070
00071 #ifndef __CINT__
00072 struct G__includepath;
00073 #endif
00074
00075 extern "C" {
00076 #ifndef __CINT__
00077 G__EXPORT
00078 #endif
00079 int G__Lsizeof(const char *typenamein);
00080 }
00081
00082 struct G__ConstStringList;
00083 struct G__Preprocessfilekey;
00084 struct G__Deffuncmacro;
00085 struct G__Definedtemplateclass;
00086 struct G__Definetemplatefunc;
00087
00088
00089
00090
00091 struct G__dictposition {
00092
00093 struct G__var_array *var;
00094 int ig15;
00095
00096 int tagnum;
00097
00098 struct G__ConstStringList *conststringpos;
00099
00100 int typenum;
00101
00102 struct G__ifunc_table *ifunc;
00103 int ifn;
00104
00105 struct G__includepath *ipath;
00106
00107 int allsl;
00108
00109 struct G__Preprocessfilekey *preprocessfilekey;
00110
00111 int nfile;
00112
00113 struct G__Deffuncmacro *deffuncmacro;
00114
00115 struct G__Definedtemplateclass *definedtemplateclass;
00116
00117 struct G__Definetemplatefunc *definedtemplatefunc;
00118
00119 int nactives;
00120 };
00121
00122 namespace Cint {
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140 typedef void *(*G__pMethodSpecialObject)(char *item,G__ClassInfo *typeinfo
00141 ,void** pptr,void** ppdict);
00142 #ifndef __CINT__
00143 G__EXPORT
00144 #endif
00145 void G__InitGetSpecialObject(G__pMethodSpecialObject pmethod);
00146
00147
00148
00149
00150 typedef void (*G__pMethodSpecialValue)(char *item,G__TypeInfo *typeinfo
00151 ,long *pl,double *pd,void** pptr
00152 ,void** ppdict);
00153 #ifndef __CINT__
00154 G__EXPORT
00155 #endif
00156 void G__InitGetSpecialValue(G__pMethodSpecialValue pmethod);
00157
00158
00159 #ifndef __CINT__
00160 G__EXPORT
00161 #endif
00162 int G__SetGlobalcomp(char *funcname,char *param,int globalcomp);
00163 int G__SetForceStub(char *funcname,char *param);
00164
00165 #ifndef __CINT__
00166 G__EXPORT
00167 #endif
00168 int G__ForceBytecodecompilation(char *funcname,char *param);
00169
00170
00171
00172
00173
00174 typedef void (*G__pMethodUpdateClassInfo)(char *item,long tagnum);
00175
00176 #ifndef __CINT__
00177 G__EXPORT
00178 #endif
00179 void G__InitUpdateClassInfo(G__pMethodUpdateClassInfo pmethod);
00180
00181 #ifndef __CINT__
00182 G__EXPORT
00183 #endif
00184 void* G__new_interpreted_object(int size);
00185
00186 #ifndef __CINT__
00187 G__EXPORT
00188 #endif
00189 void G__delete_interpreted_object(void* p);
00190
00191
00192
00193
00194 typedef int (*G__pGenerateDictionary)(const std::string &className,const std::vector<std::string> &headers, const std::vector<std::string> &fwdDecls, const std::vector<std::string> &unknown);
00195
00196 #ifndef __CINT__
00197 G__EXPORT
00198 #endif
00199 void G__InitGenerateDictionary( G__pGenerateDictionary gdict );
00200
00201 #ifndef __CINT__
00202 G__EXPORT
00203 #endif
00204 G__pGenerateDictionary G__GetGenerateDictionary();
00205
00206
00207
00208
00209
00210 class
00211 #ifndef __CINT__
00212 G__EXPORT
00213 #endif
00214 G__SourceFileInfo {
00215 public:
00216 G__SourceFileInfo(): filen(0) { Init(); }
00217 G__SourceFileInfo(int filenin): filen(filenin) { }
00218 G__SourceFileInfo(const char* fname): filen(0) { Init(fname); }
00219 ~G__SourceFileInfo() { }
00220 void Init() {
00221 filen = -1;
00222 }
00223 void Init(const char* fname);
00224 const char *Name();
00225 const char *Prepname();
00226 FILE* fp();
00227 int MaxLine();
00228 G__SourceFileInfo& IncludedFrom();
00229 long Property();
00230 int IsValid();
00231 int Next();
00232
00233 static int SerialNumber();
00234 private:
00235 int filen;
00236 };
00237
00238
00239
00240
00241 class
00242 #ifndef __CINT__
00243 G__EXPORT
00244 #endif
00245 G__IncludePathInfo {
00246 public:
00247 G__IncludePathInfo(): p(NULL) { Init(); }
00248 #ifndef __CINT__
00249 G__IncludePathInfo(const G__IncludePathInfo& ipf): p(ipf.p) {}
00250 #endif
00251 ~G__IncludePathInfo() { }
00252 void Init() { p=(struct G__includepath*)NULL; }
00253 const char *Name();
00254 long Property();
00255 int IsValid();
00256 int Next();
00257 private:
00258 G__IncludePathInfo& operator=(const G__IncludePathInfo&);
00259 #ifndef __CINT__
00260 struct G__includepath *p;
00261 #endif
00262 };
00263
00264 #ifdef G__EXCEPTIONWRAPPER
00265
00266
00267
00268 int G__ExceptionWrapper(G__InterfaceMethod funcp
00269 ,G__value* result7
00270 ,char* funcname
00271 ,struct G__param *libp
00272 ,int hash);
00273 #endif
00274
00275 unsigned long G__long_random(unsigned long limit);
00276
00277
00278
00279
00280
00281
00282 typedef char* (*G__pGetline_t)(const char* prompt);
00283 typedef void (*G__pHistadd_t)(char* line);
00284
00285 #ifndef __CINT__
00286 G__EXPORT
00287 #endif
00288 G__pGetline_t G__GetGetlineFunc();
00289
00290 #ifndef __CINT__
00291 G__EXPORT
00292 #endif
00293 G__pHistadd_t G__GetHistaddFunc();
00294
00295 #ifndef __CINT__
00296 G__EXPORT
00297 #endif
00298 void G__SetGetlineFunc(G__pGetline_t glfcn, G__pHistadd_t hafcn);
00299
00300 }
00301
00302 using namespace Cint;
00303
00304 #ifdef __MAKECINT__
00305 #pragma link off class $G__value;
00306 #pragma link off class $G__COMPLETIONLIST;
00307 #pragma link off class $G__linked_taginfo;
00308 #pragma link off class G__includepath;
00309 #pragma link C++ namespace Cint;
00310 #pragma link C++ nestedclasses;
00311 #pragma link off namespace Cint::Internal;
00312 #endif
00313
00314 #endif