#include <CTclInterpreterShell.h>
Inheritance diagram for CTclInterpreterShell:
Public Methods | |
CTclInterpreterShell () | |
CTclInterpreterShell (CInterpreterCore &rCore) | |
~CTclInterpreterShell () | |
virtual void | RegisterExtensions () |
virtual CInterpreterStartup * | getInterpreter () |
Protected Methods | |
virtual CInterpreterCore * | ConstructCore () |
Private Methods | |
CTclInterpreterShell (const CTclInterpreterShell &rhs) | |
CTclInterpreterShell & | operator= (const CTclInterpreterShell &rhs) |
int | operator== (const CTclInterpreterShell &rhs) const |
int | operator!= (const CTclInterpreterShell &rhs) const |
Private Attributes | |
CInterpreterCore * | m_pCore |
Pointer to core object. | |
bool | m_bMyCore |
True if I had to allocate a core. |
|
Default constructor Constructs an interpreter shell when the core is not initially know or alternatively is not yet constructable. Action is as follows:
Definition at line 312 of file CTclInterpreterShell.cpp. |
|
Parameterized constructor: Construtor to use if an interpreter core can be instantiated/constructed prior to the construction of an intperpreter shell (currently this may not be possible). Action is as follows:
Definition at line 332 of file CTclInterpreterShell.cpp. |
|
Destructor: Get rid of the interpreter core if it has been allocated by us: Definition at line 341 of file CTclInterpreterShell.cpp. References m_pCore. |
|
Copy constructor Does a shallow copy into this of a reference object. Note that copy construction is not reccomended as it complicates storage management. In no case does the m_bMyCore flag get set true in order to prevent deletion of the core used by the rhs.
Definition at line 360 of file CTclInterpreterShell.cpp. |
|
Create an interpreter core This virtual, overridable function allows the shell to create an interpreter core extension package if none has been defined by the time RegisterExtensions() has been called. The default implementation creates and returns a pointer to a CInterpreterCore object. If a user wants to initialize additional extensions, they may extend CInterpreterCore and override this member function to instantiate their substitute interpreter core.
Definition at line 455 of file CTclInterpreterShell.cpp. References getInterpreter(). Referenced by RegisterExtensions(). |
|
Implements CInterpreterShell. Definition at line 332 of file CTclInterpreterShell.h. Referenced by ConstructCore(). |
|
Definition at line 323 of file CTclInterpreterShell.h. References operator==(). |
|
Assignment Does a shallow copy into this from rhs. If m_bMyCore is true, the current core is deleted prior to doing the copy. In no case does the m_bMyCore wind up as true. Note that assignment is not reccomended, as it complicates storage management.
Definition at line 379 of file CTclInterpreterShell.cpp. |
|
Equality comparison Compares *this with rhs to determine equality. Equality is defined over CTclIntpreterShell such that if the core pointers are identical, the objects are equal. m_bMyCore is irrelevent since copy construction and assignment produce equivalent objects with m_bMyCore unconditionally false.
Definition at line 404 of file CTclInterpreterShell.cpp. References m_pCore. Referenced by operator!=(). |
|
Register core extensions. If no core has been set, the virtual function ConstructCore is called to create an appropriate interpreter core, and m_bMyCore <- true. Once it is established that there is a valid core, its RegisterExtensions member is called to register the core command extensions on our interpreter.
Reimplemented from CInterpreterShell. Definition at line 423 of file CTclInterpreterShell.cpp. References ConstructCore(), CInterpreterShell::Initialize(), m_bMyCore, m_pCore, and CInterpreterCore::RegisterExtensions(). |
|
True if I had to allocate a core.
Definition at line 311 of file CTclInterpreterShell.h. Referenced by operator=(), and RegisterExtensions(). |
|
Pointer to core object.
Definition at line 310 of file CTclInterpreterShell.h. Referenced by operator=(), operator==(), RegisterExtensions(), and ~CTclInterpreterShell(). |