Logo ROOT   6.16/01
Reference Guide
TGWin32InterpreterProxy.h
Go to the documentation of this file.
1// $Id: TGWin32InterpreterProxy.h,v 1.15 2007/03/08 15:52:17 rdm Exp $
2// Author: Valeriy Onuchin 15/11/03
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12
13#ifndef ROOT_TGWin32InterpreterProxy
14#define ROOT_TGWin32InterpreterProxy
15
16/** \class TGWin32InterpreterProxy
17\ingroup win32
18
19This class defines thread-safe interface to a command line interpreter.
20*/
21
22#include "TInterpreter.h"
23
24#if ROOT_VERSION_CODE < ROOT_VERSION(6,00,00)
25
26#include "TGWin32ProxyBase.h"
27
28
30
31protected:
32 void Execute(TMethod *method, TObjArray *params, int *error = 0) {}
33
34public:
35
36 TGWin32InterpreterProxy() { fMaxResponseTime = 1000000; fIsVirtualX = kFALSE; }
37 TGWin32InterpreterProxy(const char *name, const char *title = "Generic Interpreter") {}
38 virtual ~TGWin32InterpreterProxy() {}
39
40 void AddIncludePath(const char *path);
41 Int_t AutoLoad(const char *classname);
42 void ClearFileBusy();
43 void ClearStack();
44 Bool_t Declare(const char* code);
45 void EnableAutoLoading();
46 void EndOfLineAction();
47 void Initialize();
48 void InspectMembers(TMemberInspector&, void* obj, const TClass* cl);
49 Int_t Load(const char *filenam, Bool_t system = kFALSE);
50 void LoadMacro(const char *filename, EErrorCode *error = 0);
51 Int_t LoadLibraryMap(const char *rootmapfile = 0);
52 Int_t RescanLibraryMap();
53 Int_t ReloadAllSharedLibraryMaps();
54 Int_t UnloadAllSharedLibraryMaps();
55 Int_t UnloadLibraryMap(const char *library);
56 Long_t ProcessLine(const char *line, EErrorCode *error = 0);
57 Long_t ProcessLineSynch(const char *line, EErrorCode *error = 0);
58 void PrintIntro();
59 Int_t SetClassSharedLibs(const char *cls, const char *libs);
60 void SetGetline(const char*(*getlineFunc)(const char* prompt),
61 void (*histaddFunc)(const char* line));
62 void Reset();
63 void ResetAll();
64 void ResetGlobals();
65 void ResetGlobalVar(void *obj);
66 void RewindDictionary();
67 Int_t DeleteGlobal(void *obj);
68 Int_t DeleteVariable(const char *name);
69 void SaveContext();
70 void SaveGlobalsContext();
71 void UpdateListOfGlobals();
72 void UpdateListOfGlobalFunctions();
73 void UpdateListOfTypes();
74 void SetClassInfo(TClass *cl, Bool_t reload = kFALSE);
75
77 CheckClassInfo(const char *name, Bool_t autoload, Bool_t isClassOrNamespaceOnly = kFALSE);
78 Bool_t CheckClassTemplate(const char *name);
79
80 Long_t Calc(const char *line, EErrorCode* error = 0);
81 void CreateListOfBaseClasses(TClass *cl);
82 void CreateListOfDataMembers(TClass *cl);
83 void CreateListOfMethods(TClass *cl);
84 void UpdateListOfMethods(TClass *cl);
85 void CreateListOfMethodArgs(TFunction *m);
86 TString GetMangledName(TClass *cl, const char *method, const char *params);
87 TString GetMangledNameWithPrototype(TClass *cl, const char *method, const char *proto);
88 Long_t ExecuteMacro(const char *filename, EErrorCode *error = 0);
89 Bool_t IsErrorMessagesEnabled() const { return RealObject()->IsErrorMessagesEnabled(); }
90 Bool_t SetErrorMessages(Bool_t enable = kTRUE);
91 Bool_t IsProcessLineLocked() const { return RealObject()->IsProcessLineLocked(); }
92 void SetProcessLineLock(Bool_t lock = kTRUE);
93 Int_t GetExitCode() const { return RealObject()->GetExitCode(); }
94 TClass *GenerateTClass(const char *classname, Bool_t emulation, Bool_t silent = kFALSE);
95 TClass *GenerateTClass(ClassInfo_t *classinfo, Bool_t silent = kFALSE);
96 Int_t GenerateDictionary(const char *classes, const char *includes = 0, const char *options = 0);
97 Int_t GetMore() const { return RealObject()->GetMore(); }
98 Bool_t IsLoaded(const char *filename) const { return RealObject()->IsLoaded(filename); }
99 char *GetPrompt();
100 void *GetInterfaceMethod(TClass *cl, const char *method, const char *params);
101 void *GetInterfaceMethodWithPrototype(TClass *cl, const char *method, const char *proto);
102 void GetInterpreterTypeName(const char*,std::string &output,Bool_t=kFALSE);
103 void Execute(const char *function, const char *params, int *error = 0);
104 void Execute(TObject *obj, TClass *cl, const char *method, const char *params, int *error = 0);
105 void Execute(TObject *obj, TClass *cl, TMethod *method, TObjArray *params, int *error = 0);
106 const char *GetSharedLibs();
107 const char *GetClassSharedLibs(const char *cls);
108 const char *GetSharedLibDeps(const char *lib);
109 const char *GetIncludePath();
110 TObjArray *GetRootMapFiles() const { return RealObject()->GetRootMapFiles(); }
111 const char *TypeName(const char *s);
112
113 static TInterpreter *RealObject();
114 static TInterpreter *ProxyObject();
115};
116
117#endif
118
119#endif
int Int_t
Definition: RtypesCore.h:41
const Bool_t kFALSE
Definition: RtypesCore.h:88
long Long_t
Definition: RtypesCore.h:50
bool Bool_t
Definition: RtypesCore.h:59
const Bool_t kTRUE
Definition: RtypesCore.h:87
const char * proto
Definition: civetweb.c:16604
The ROOT global object gROOT contains a list of all defined classes.
Definition: TClass.h:75
Global functions class (global functions are obtained from CINT).
Definition: TFunction.h:28
This class defines thread-safe interface to a command line interpreter.
Proxy classes provide thread-safe interface to global objects.
This class defines an abstract interface to a generic command line interpreter.
Definition: TInterpreter.h:60
Abstract base class for accessing the data-members of a class.
Each ROOT class (see TClass) has a linked list of methods.
Definition: TMethod.h:38
An array of TObjects.
Definition: TObjArray.h:37
Mother of all ROOT objects.
Definition: TObject.h:37
Basic string class.
Definition: TString.h:131
TLine * line
void function(const Char_t *name_, T fun, const Char_t *docstring=0)
Definition: RExports.h:151
static constexpr double s
void Initialize(Bool_t useTMVAStyle=kTRUE)
Definition: tmvaglob.cxx:176
auto * m
Definition: textangle.C:8