40 #ifndef TCLInterpreter_H //Reuired for current class 41 #define TCLInterpreter_H 44 #include "TCLString.h" 47 #ifndef TCLPLUSTYPES_H 48 #include <libtclplusdatatypes.h> 61 Tcl_Interp* m_pInterpreter;
67 m_pInterpreter(Tcl_CreateInterp()) { }
69 Tcl_DeleteInterp(m_pInterpreter);
74 m_pInterpreter (am_pInterpreter) { }
90 (m_pInterpreter == aCTCLInterpreter.m_pInterpreter)
97 Tcl_Interp* getInterpreter()
99 return m_pInterpreter;
103 void setInterpreter (Tcl_Interp* am_pInterpreter)
105 m_pInterpreter = am_pInterpreter;
113 std::string Eval (
const char* pScript) ;
115 return Eval((
const char*)rScript);
117 std::string Eval(
const std::string& rScript) {
118 return Eval(rScript.c_str());
123 std::string EvalFile (
const char* pFilename) ;
124 std::string EvalFile(
const CTCLString& rFilename) {
125 return EvalFile((
const char*)(rFilename));
127 std::string EvalFile(
const std::string& rFilename) {
128 return EvalFile(rFilename.c_str());
132 std::string GlobalEval (
const char* pScript) ;
133 std::string GlobalEval (
const CTCLString& rScript) {
134 return GlobalEval((
const char*)rScript);
136 std::string GlobalEval(
const std::string& rScript) {
137 return GlobalEval(rScript.c_str());
142 std::string RecordAndEval (
const char* pScript, TCLPLUS::Bool_t fEval=TCLPLUS::kfFALSE);
143 std::string RecordAndEval(
const CTCLString& rScript,
144 TCLPLUS::Bool_t fEval=TCLPLUS::kfFALSE) {
145 return RecordAndEval((
const char*)(rScript), fEval);
147 std::string RecordAndEval(
const std::string& rScript,
148 TCLPLUS::Bool_t fEval = TCLPLUS::kfFALSE) {
149 return RecordAndEval(rScript.c_str(), fEval);
154 std::string ExprString (
const char* pExpression) ;
155 std::string ExprString(
const CTCLString& rExpr) {
156 return ExprString((
const char*)(rExpr));
158 std::string ExprString(
const std::string& rExpr) {
159 return ExprString(rExpr.c_str());
163 TCLPLUS::Long_t ExprLong (
const char* pExpression) ;
164 TCLPLUS::Long_t ExprLong (std::string& rExpression) {
165 return ExprLong(rExpression.c_str());
167 TCLPLUS::Long_t ExprLong (
const CTCLString& rExpr) {
168 return ExprLong((
const char*)(rExpr));
172 TCLPLUS::DFloat_t ExprDouble (
const char* pExpression) ;
173 TCLPLUS::DFloat_t ExprDouble (
const CTCLString& rExpression) {
174 return ExprDouble ((
const char*)(rExpression));
176 TCLPLUS::DFloat_t ExprDouble(
const std::string& rExpression) {
177 return ExprDouble(rExpression.c_str());
181 TCLPLUS::Bool_t ExprBoolean (
const char* pExpression) ;
182 TCLPLUS::Bool_t ExprBoolean (
const CTCLString& rExpression) {
183 return ExprBoolean((
const char*)(rExpression));
185 TCLPLUS::Bool_t ExprBoolean(
const std::string& rExpression) {
186 return ExprBoolean(rExpression.c_str());
190 std::string TildeSubst (
const char* pFilename)
const ;
191 std::string TildeSubst (
const CTCLString& rName)
const {
192 return TildeSubst((
const char*)(rName));
194 std::string TildeSubst (
const std::string& rName)
const {
195 return TildeSubst(rName.c_str());
198 std::string PosixError ()
const ;
199 static std::string ErrnoId () ;
200 static std::string SignalId (TCLPLUS::UInt_t nSignal) ;
201 static std::string SignalMsg (TCLPLUS::UInt_t nSignal) ;
202 void DetachProcess (
const std::vector<TCLPLUS::UInt_t>& rPids)
const ;
203 void DetachProcess(TCLPLUS::UInt_t nPids, TCLPLUS::Int_t* pPids)
const {
204 Tcl_DetachPids(nPids, (Tcl_Pid*)pPids);
206 void ReapDetachedProcesses ()
const {
207 Tcl_ReapDetachedProcs();
209 void AddCommand (
const char* pCommandName,
210 Tcl_CmdProc* pCommandProcessor,
212 Tcl_CmdDeleteProc* pDeleteProcessor=
213 reinterpret_cast<Tcl_CmdDeleteProc*>(reinterpret_cast<size_t>(TCLPLUS::kpNULL)))
const ;
214 void AddCommand(
const std::string& rCommandName,
215 Tcl_CmdProc* pCommandProcessor,
217 Tcl_CmdDeleteProc* pDeleteProcessor =
218 reinterpret_cast<Tcl_CmdDeleteProc*>(reinterpret_cast<size_t>(TCLPLUS::kpNULL)))
const {
219 AddCommand(rCommandName.c_str(), pCommandProcessor, pData,
222 void AddCommand(
const CTCLString& rCommandName,
223 Tcl_CmdProc* pCommandProcessor,
225 Tcl_CmdDeleteProc* pDeleteProcessor =
226 reinterpret_cast<Tcl_CmdDeleteProc*>(reinterpret_cast<size_t>(TCLPLUS::kpNULL)))
const {
227 AddCommand((
const char*)(rCommandName), pCommandProcessor,
228 pData, pDeleteProcessor);
230 void UnregisterCommand (
const char* pCommandName)
const ;
231 void UnregisterCommand (
const std::string& rCommandName)
const {
232 UnregisterCommand(rCommandName.c_str());
234 void UnregisterCommand (
const CTCLString& rCommandName)
const {
235 UnregisterCommand((
const char*)(rCommandName));
237 std::string GetResultString ()
const ;
242 const std::string& rName,
243 TCLPLUS::Int_t* pMode=(TCLPLUS::Int_t*)TCLPLUS::kpNULL
251 Tcl_Interp* operator-> ()
252 {
return m_pInterpreter; }
256 operator Tcl_Interp* () {
257 return m_pInterpreter;
261 void setResult(
const char* resultString);
262 void setResult(std::string resultString);
Tcl_Channel GetChannel(const std::string &rName, TCLPLUS::Int_t *pMode=(TCLPLUS::Int_t *) TCLPLUS::kpNULL)
Definition: TCLInterpreter.cpp:599
Definition: TCLString.h:28
Definition: TCLInterpreter.h:59
std::vector< std::string > GetChannelNames(const std::string &rPattern)
Definition: TCLInterpreter.cpp:617
void setResult(const char *resultString)
Definition: TCLInterpreter.cpp:647
Definition: TCLObject.h:50