Logo ROOT   6.12/07
Reference Guide
TGWin32InterpreterProxy.cxx
Go to the documentation of this file.
1 // @(#)root/meta:$Id: TGWin32InterpreterProxy.cxx 38517 2011-03-18 20:20:16Z pcanal $
2 // Author: Valeriy Onuchin 15/11/2003
3 
4 
5 /*************************************************************************
6  * Copyright (C) 1995-2001, Rene Brun and Fons Rademakers. *
7  * All rights reserved. *
8  * *
9  * For the licensing terms see $ROOTSYS/LICENSE. *
10  * For the list of contributors see $ROOTSYS/README/CREDITS. *
11  *************************************************************************/
12 
13 
14 #include "TGWin32ProxyDefs.h"
16 #include "TROOT.h"
17 #include "TGWin32.h"
18 
19 #if ROOT_VERSION_CODE < ROOT_VERSION(6,00,00)
20 
21 ////////////////////////////////////////////////////////////////////////////////
22 /// returns TCint object
23 
24 TInterpreter *TGWin32InterpreterProxy::RealObject()
25 {
26  return gROOT->GetInterpreter();
27 }
28 
29 RETURN_PROXY_OBJECT(Interpreter)
30 VOID_METHOD_ARG1(Interpreter,AddIncludePath,const char*,path,1)
31 RETURN_METHOD_ARG1(Interpreter,Int_t,AutoLoad,const char *,classname)
32 VOID_METHOD_ARG0(Interpreter,ClearFileBusy,1)
33 VOID_METHOD_ARG0(Interpreter,ClearStack,1)
34 RETURN_METHOD_ARG1(Interpreter,Bool_t,Declare,const char*, code)
35 VOID_METHOD_ARG0(Interpreter,EndOfLineAction,1)
36 VOID_METHOD_ARG0(Interpreter,EnableAutoLoading,1)
37 VOID_METHOD_ARG0(Interpreter,Initialize,0)
38 // Does not support references:
39 //VOID_METHOD_ARG3(Interpreter,InspectMembers,TMemberInspector&, insp, void*, obj, const TClass*,cl,1)
40 void _NAME4_(p2,Interpreter,InspectMembers,insp)(void *in)
41 {
42  struct tmp {
43  TMemberInspector *par1; void *par2; const TClass *par3;
44  };
45  tmp *p = (tmp*)in;
46  _NAME3_(TGWin32,Interpreter,Proxy)::RealObject()->InspectMembers(*p->par1,p->par2,p->par3);
47 }
48 
49 void TGWin32InterpreterProxy::InspectMembers(TMemberInspector& insp, void* obj, const TClass* cl)
50 {
51  DEBUG_PROFILE_PROXY_START(InspectMembers)
52  struct tmp {
53  TMemberInspector *par1; void *par2; const TClass *par3;
54  tmp(TMemberInspector *par1,void *par2,const TClass *par3):par1(par1),par2(par2),par3(par3) {}
55  };
56  fParam = new tmp(&insp,obj,cl);
57  fCallBack = &_NAME4_(p2,Interpreter,InspectMembers,insp);
58  Bool_t batch = ForwardCallBack(1);
59  // insp = ((tmp*)fParam)->par1;
60  obj = ((tmp*)fParam)->par2;
61  cl = ((tmp*)fParam)->par3;
62  if (!batch) delete fParam;
63  DEBUG_PROFILE_PROXY_STOP(InspectMembers)
64 }
65 
66 RETURN_METHOD_ARG3(Interpreter,TClass*,GenerateTClass,const char *,classname,Bool_t,emulation,Bool_t,silent);
67 RETURN_METHOD_ARG2(Interpreter,TClass*,GenerateTClass,ClassInfo_t *,classinfo,Bool_t,silent);
68 RETURN_METHOD_ARG3(Interpreter,Int_t,GenerateDictionary,const char*,classes,const char*,headers,const char*,options);
69 RETURN_METHOD_ARG0(Interpreter,char*,GetPrompt)
70 RETURN_METHOD_ARG0(Interpreter,const char*,GetSharedLibs)
71 RETURN_METHOD_ARG0(Interpreter,const char*,GetIncludePath)
72 RETURN_METHOD_ARG2(Interpreter,Int_t,Load,const char*,filenam,Bool_t,system)
73 RETURN_METHOD_ARG1(Interpreter,Int_t,LoadLibraryMap,const char*,rootmapfile)
74 RETURN_METHOD_ARG0(Interpreter,Int_t,RescanLibraryMap)
75 RETURN_METHOD_ARG0(Interpreter,Int_t,ReloadAllSharedLibraryMaps)
76 RETURN_METHOD_ARG0(Interpreter,Int_t,UnloadAllSharedLibraryMaps)
77 RETURN_METHOD_ARG1(Interpreter,Int_t,UnloadLibraryMap,const char*,library)
78 VOID_METHOD_ARG2(Interpreter,LoadMacro,const char*,filename,TInterpreter::EErrorCode*,error,1)
79 RETURN_METHOD_ARG2(Interpreter,Long_t,ProcessLine,const char*,line,TInterpreter::EErrorCode*,error)
80 RETURN_METHOD_ARG2(Interpreter,Long_t,ProcessLineSynch,const char*,line,TInterpreter::EErrorCode*,error)
81 VOID_METHOD_ARG0(Interpreter,PrintIntro,1)
82 typedef const char* (*GetlineFunc_t)(const char* prompt);
83 typedef void (*HistaddFunc_t)(const char* line);
84 RETURN_METHOD_ARG2(Interpreter,Int_t,SetClassSharedLibs,const char*,cls,const char*,libs);
85 VOID_METHOD_ARG2(Interpreter,SetGetline,GetlineFunc_t, getlineFunc,\
86  HistaddFunc_t, histaddFunc, 1)
87 VOID_METHOD_ARG0(Interpreter,Reset,1)
88 VOID_METHOD_ARG0(Interpreter,ResetAll,1)
89 VOID_METHOD_ARG0(Interpreter,ResetGlobals,1)
90 VOID_METHOD_ARG1(Interpreter,ResetGlobalVar,void*,obj,1)
91 VOID_METHOD_ARG0(Interpreter,RewindDictionary,1)
92 RETURN_METHOD_ARG1(Interpreter,Int_t,DeleteGlobal,void*,obj)
93 RETURN_METHOD_ARG1(Interpreter,Int_t,DeleteVariable,const char*,name)
94 VOID_METHOD_ARG0(Interpreter,SaveContext,1)
95 VOID_METHOD_ARG0(Interpreter,SaveGlobalsContext,1)
96 VOID_METHOD_ARG0_LOCK(Interpreter,UpdateListOfGlobals)
97 VOID_METHOD_ARG0_LOCK(Interpreter,UpdateListOfGlobalFunctions)
98 VOID_METHOD_ARG0_LOCK(Interpreter,UpdateListOfTypes)
99 VOID_METHOD_ARG2_LOCK(Interpreter,SetClassInfo,TClass*,cl,Bool_t,reload)
100 RETURN_METHOD_ARG3(Interpreter, TInterpreter::ECheckClassInfo, CheckClassInfo, const char *, name, Bool_t, autoload,
101  Bool_t, isClassOrNamespaceOnly)
102 RETURN_METHOD_ARG1(Interpreter,Bool_t,CheckClassTemplate,const char*,name)
103 RETURN_METHOD_ARG2(Interpreter,Long_t,Calc,const char*,line,TInterpreter::EErrorCode*,error)
104 VOID_METHOD_ARG1_LOCK(Interpreter,CreateListOfBaseClasses,TClass*,cl)
105 VOID_METHOD_ARG1_LOCK(Interpreter,CreateListOfDataMembers,TClass*,cl)
106 VOID_METHOD_ARG1_LOCK(Interpreter,CreateListOfMethods,TClass*,cl)
107 VOID_METHOD_ARG1_LOCK(Interpreter,CreateListOfMethodArgs,TFunction*,m)
108 VOID_METHOD_ARG1_LOCK(Interpreter,UpdateListOfMethods,TClass*,cl)
109 RETURN_METHOD_ARG3(Interpreter,TString,GetMangledName,TClass*,cl,const char*,method,const char*,params)
110 RETURN_METHOD_ARG3(Interpreter,TString,GetMangledNameWithPrototype,TClass*,cl,const char*,method,const char*,proto)
111 RETURN_METHOD_ARG3(Interpreter,void*,GetInterfaceMethod,TClass*,cl,const char*,method,const char*,params)
112 RETURN_METHOD_ARG3(Interpreter,void*,GetInterfaceMethodWithPrototype,TClass*,cl,const char*,method,const char*,proto)
113 RETURN_METHOD_ARG1(Interpreter,const char*,GetClassSharedLibs,const char*,s)
114 RETURN_METHOD_ARG1(Interpreter,const char*,GetSharedLibDeps,const char*,s)
115 RETURN_METHOD_ARG2(Interpreter,const char*,GetInterpreterTypeName,const char*,s,Bool_t,full)
116 VOID_METHOD_ARG3(Interpreter,Execute,const char*,function,const char*,params,int*,error,1)
117 VOID_METHOD_ARG5(Interpreter,Execute,TObject*,obj,TClass*,cl,const char*,method,const char*,params,int*,error,1)
118 VOID_METHOD_ARG5(Interpreter,Execute,TObject*,object,TClass*,cl,TMethod*,method,TObjArray*,params,int*,error,1)
119 RETURN_METHOD_ARG2(Interpreter,Long_t,ExecuteMacro,const char*,filename,TInterpreter::EErrorCode*,error)
120 RETURN_METHOD_ARG1(Interpreter,Bool_t,SetErrorMessages,Bool_t,enable)
121 VOID_METHOD_ARG1(Interpreter,SetProcessLineLock,Bool_t,lock,1)
122 RETURN_METHOD_ARG1(Interpreter,const char*,TypeName,const char*,s)
123 // TInterpreter::ECheckClassInfo TGWin32InterpreterProxy::CheckClassInfo(const char* name) { return
124 // RealObject()->CheckClassInfo(name); }
125 
126 #endif
#define RETURN_METHOD_ARG3(klass, type, method, type1, par1, type2, par2, type3, par3)
#define VOID_METHOD_ARG2(klass, method, type1, par1, type2, par2, sync)
This class defines an abstract interface to a generic command line interpreter.
Definition: TInterpreter.h:60
An array of TObjects.
Definition: TObjArray.h:37
void Proxy()
Definition: Proxy.C:4
auto * m
Definition: textangle.C:8
#define RETURN_PROXY_OBJECT(klass)
TLine * line
#define _NAME3_(name1, name2, name3)
Definition: RConfig.h:444
#define RETURN_METHOD_ARG0(klass, type, method)
#define gROOT
Definition: TROOT.h:402
Basic string class.
Definition: TString.h:125
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
Abstract base class for accessing the data-members of a class.
This class is the basic interface to the Win32 graphics system.
Definition: TGWin32.h:67
#define VOID_METHOD_ARG1_LOCK(klass, method, type1, par1)
#define VOID_METHOD_ARG0(klass, method, sync)
#define _NAME4_(name1, name2, name3, name4)
#define DEBUG_PROFILE_PROXY_STOP(method)
static double p2(double t, double a, double b, double c)
void function(const Char_t *name_, T fun, const Char_t *docstring=0)
Definition: RExports.h:146
#define VOID_METHOD_ARG2_LOCK(klass, method, type1, par1, type2, par2)
void Initialize(Bool_t useTMVAStyle=kTRUE)
Definition: tmvaglob.cxx:176
#define VOID_METHOD_ARG0_LOCK(klass, method)
#define RETURN_METHOD_ARG1(klass, type, method, type1, par1)
#define VOID_METHOD_ARG1(klass, method, type1, par1, sync)
The ROOT global object gROOT contains a list of all defined classes.
Definition: TClass.h:75
void Reset(Detail::TBranchProxy *x)
long Long_t
Definition: RtypesCore.h:50
RETURN_METHOD_ARG2(VirtualX, Bool_t, IsDNDAware, Window_t, win, Atom_t *, typelist)
static constexpr double s
Mother of all ROOT objects.
Definition: TObject.h:37
Global functions class (global functions are obtained from CINT).
Definition: TFunction.h:28
VOID_METHOD_ARG3(VirtualX, SetTypeList, Window_t, win, Atom_t, prop, Atom_t *, typelist, 1)
Each ROOT class (see TClass) has a linked list of methods.
Definition: TMethod.h:38
const char * proto
Definition: civetweb.c:11652
#define VOID_METHOD_ARG5(klass, method, type1, par1, type2, par2, type3, par3, type4, par4, type5, par5, sync)
#define DEBUG_PROFILE_PROXY_START(method)
char name[80]
Definition: TGX11.cxx:109