FRIBParallelanalysis
1.0
FrameworkforMPIParalleldataanalysisatFRIB
|
#include <TCLCompatibilityProcessor.h>
Public Member Functions | |
CTCLCompatibilityProcessor (CTCLProcessor &actualCommand) | |
virtual | ~CTCLCompatibilityProcessor () |
virtual int | operator() (CTCLInterpreter &interp, std::vector< CTCLObject > &objv) |
virtual void | onUnregister () |
![]() | |
CTCLObjectProcessor (CTCLInterpreter &interp, std::string name, bool registerMe=true) | |
virtual | ~CTCLObjectProcessor () |
void | Register () |
Tcl_Command | RegisterAs (std::string name) |
void | unregister () |
void | unregisterAs (Tcl_Command token) |
std::string | getName () const |
Tcl_CmdInfo | getInfo () const |
![]() | |
CTCLInterpreterObject (CTCLInterpreter *pInterp) | |
CTCLInterpreterObject (const CTCLInterpreterObject &aCTCLInterpreterObject) | |
CTCLInterpreterObject & | operator= (const CTCLInterpreterObject &aCTCLInterpreterObject) |
int | operator== (const CTCLInterpreterObject &aCTCLInterpreterObject) const |
CTCLInterpreter * | getInterpreter () const |
CTCLInterpreter * | Bind (CTCLInterpreter &rBinding) |
CTCLInterpreter * | Bind (CTCLInterpreter *pBinding) |
Additional Inherited Members | |
![]() | |
void | bindAll (CTCLInterpreter &interp, std::vector< CTCLObject > &objv) |
void | requireAtLeast (std::vector< CTCLObject > &objv, unsigned n, const char *msg=0) const |
void | requireAtMost (std::vector< CTCLObject > &objv, unsigned n, const char *msg=0) const |
void | requireExactly (std::vector< CTCLObject > &objv, unsigned n, const char *msg=0) const |
![]() | |
CTCLInterpreter * | AssertIfNotBound () |
This is an adapter pattern class between object based commands and the classic argc/argv command interface. See the CTCLProcessor class for more information. The idea is that a CTCLProcessor will contain one of these which will marshall the object interface parameters to the argc/argv interface, create at CTCLResult object and then dispatch to the CTCLProcessor so that old commands written using the argc/argv interface can continue to work even if Tcl 9.0 deprecates or even eliminates this interface.
CTCLCompatibilityProcessor::CTCLCompatibilityProcessor | ( | CTCLProcessor & | actualCommand | ) |
Construct the object. The assumption is that the CTCL processor is constructed 'enough' that we can pull out the command name, and the interpreter from it.
actualCommand | : CTCLProcessor Object that implements an old style argc/argv command. |
|
virtual |
Destruction is all taken care of by the base class destructor.
|
virtual |
Adapt to actual commands command deletion handler.
Reimplemented from CTCLObjectProcessor.
|
virtual |
Called to execute the command. Here's where the serious adaptor work comes in to play. We need to turn the objects passed in to us into an argc/argv pair, and create a CTCLResult to give the command we're adapting for.
interp | : CTCLInterpreter& Interpreter that's running this command |
objv | : vector<CTCLOBject>& Reference to the vector of command line objects. |
from | m_ActualCommand->operator() |
Implements CTCLObjectProcessor.