#ifndef ROOT_TCint
#define ROOT_TCint
#ifndef ROOT_TInterpreter
#include "TInterpreter.h"
#endif
#ifndef __CINT__
#include "G__ci.h"
#include "Api.h"
#else
struct G__dictposition;
#endif
#ifndef WIN32
# define TWin32SendClass char
#endif
namespace Cint {
class G__ClassInfo;
}
using namespace Cint;
class TMethod;
class TObjArray;
class TEnv;
class TVirtualMutex;
R__EXTERN TVirtualMutex *gCINTMutex;
class TCint : public TInterpreter {
private:
Int_t fMore;
Int_t fExitCode;
char fPrompt[64];
G__dictposition fDictPos;
G__dictposition fDictPosGlobals;
TString fSharedLibs;
TString fIncludePath;
TEnv *fMapfile;
TObjArray *fRootMapFiles;
Bool_t fLockProcessLine;
static void *fgSetOfSpecials;
TCint() : fMore(-1), fExitCode(0), fDictPos(), fDictPosGlobals(),
fSharedLibs(), fIncludePath(), fMapfile(0), fRootMapFiles(0),
fLockProcessLine(kFALSE) { }
TCint(const TCint&);
TCint &operator=(const TCint&);
void Execute(TMethod *, TObjArray *, int * = 0) { }
protected:
public:
TCint(const char *name, const char *title);
virtual ~TCint();
void AddIncludePath(const char *path);
Int_t AutoLoad(const char *classname);
void ClearFileBusy();
void ClearStack();
void EnableAutoLoading();
void EndOfLineAction();
Int_t GetExitCode() const { return fExitCode; }
TEnv *GetMapfile() const { return fMapfile; }
Int_t GetMore() const { return fMore; }
char *GetPrompt() { return fPrompt; }
const char *GetSharedLibs();
const char *GetClassSharedLibs(const char *cls);
const char *GetSharedLibDeps(const char *lib);
const char *GetIncludePath();
TObjArray *GetRootMapFiles() const { return fRootMapFiles; }
Int_t InitializeDictionaries();
Bool_t IsLoaded(const char *filename) const;
Int_t Load(const char *filenam, Bool_t system = kFALSE);
void LoadMacro(const char *filename, EErrorCode *error = 0);
Int_t LoadLibraryMap(const char *rootmapfile = 0);
Int_t UnloadLibraryMap(const char *library);
Long_t ProcessLine(const char *line, EErrorCode *error = 0);
Long_t ProcessLineAsynch(const char *line, EErrorCode *error = 0);
Long_t ProcessLineSynch(const char *line, EErrorCode *error = 0);
void PrintIntro();
void Reset();
void ResetAll();
void ResetGlobals();
void RewindDictionary();
Int_t DeleteGlobal(void *obj);
void SaveContext();
void SaveGlobalsContext();
void UpdateListOfGlobals();
void UpdateListOfGlobalFunctions();
void UpdateListOfTypes();
void SetClassInfo(TClass *cl, Bool_t reload = kFALSE);
Bool_t CheckClassInfo(const char *name);
Long_t Calc(const char *line, EErrorCode *error = 0);
void CreateListOfBaseClasses(TClass *cl);
void CreateListOfDataMembers(TClass *cl);
void CreateListOfMethods(TClass *cl);
void CreateListOfMethodArgs(TFunction *m);
TString GetMangledName(TClass *cl, const char *method, const char *params);
TString GetMangledNameWithPrototype(TClass *cl, const char *method, const char *proto);
void *GetInterfaceMethod(TClass *cl, const char *method, const char *params);
void *GetInterfaceMethodWithPrototype(TClass *cl, const char *method, const char *proto);
const char *GetInterpreterTypeName(const char*name, Bool_t full = kFALSE);
void Execute(const char *function, const char *params, int *error = 0);
void Execute(TObject *obj, TClass *cl, const char *method, const char *params, int *error = 0);
void Execute(TObject *obj, TClass *cl, TMethod *method, TObjArray *params, int *error = 0);
Long_t ExecuteMacro(const char *filename, EErrorCode *error = 0);
void RecursiveRemove(TObject *obj);
Bool_t IsErrorMessagesEnabled() const;
Bool_t SetErrorMessages(Bool_t enable = kTRUE);
Bool_t IsProcessLineLocked() const { return fLockProcessLine; }
void SetProcessLineLock(Bool_t lock = kTRUE) { fLockProcessLine = lock; }
const char *TypeName(const char *typeDesc);
static void *FindSpecialObject(const char *name, G__ClassInfo *type, void **prevObj, void **assocPtr);
static int AutoLoadCallback(const char *cls, const char *lib);
static void UpdateClassInfo(char *name, Long_t tagnum);
static void UpdateClassInfoWork(const char *name, Long_t tagnum);
static void UpdateAllCanvases();
static const char *GetTopLevelMacroName();
static const char *GetCurrentMacroName();
ClassDef(TCint,0)
};
#endif
Last update: Thu Jan 17 08:47:16 2008
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.