Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

CInterpreterShell Class Reference

#include <CInterpreterShell.h>

Inheritance diagram for CInterpreterShell:

CTclInterpeterShell CTclInterpreterShell CTkInterpreterShell List of all members.

Public Methods

 CInterpreterShell ()
 CInterpreterShell (CInterpreterCore &rExtensions)
 CInterpreterShell (const CInterpreterShell &rhs)
 Copy constructor.

virtual ~CInterpreterShell ()
 Destructor.

CInterpreterShell & operator= (const CInterpreterShell &rhs)
int operator== (const CInterpreterShell &rhs) const
int operator!= (const CInterpreterShell &rhs) const
CInterpreterCoregetInterpreterCore ()
void Initialize (CInterpreterCore &rCore)
virtual void RegisterExtensions ()
virtual CInterpreterStartup * getInterpreter ()=0

Protected Methods

void setInterpreterCore (CInterpreterCore *const am_pExtensions)

Private Attributes

CInterpreterCorem_pExtensions

Constructor & Destructor Documentation

CInterpreterShell::CInterpreterShell  
 

Default constructor for CInterpreterShell

Creates an interpreter shell with a null core extension object. The core extension object must be set via a subsequent call to Initialize

Definition at line 306 of file CInterpreterShell.cpp.

CInterpreterShell::CInterpreterShell CInterpreterCore   rExtensions
 

Constructor for CInterpreterShell

Creates an interpreter shell given the core extensions object.

Parameters:
rExtensions  - CInterpreterCore& [in] The set of core extensions. used to initialize m_pExtensions.

Definition at line 318 of file CInterpreterShell.cpp.

CInterpreterShell::CInterpreterShell const CInterpreterShell &    rhs
 

Copy constructor.

Copy construction.

This is invoked when e.g. an object is passed by value to a function. The copy constructor makes a clone of the rhs object. The copy is a shallow copy; no attempt will be made to interpret the structure of CInterpreterShell or the core extensions object attached to it. No attempts will be made to do storage tracking either.

Parameters:
rhs  - const CInterpreterShell& [in] - The reference copy cloned by this function.

Definition at line 336 of file CInterpreterShell.cpp.

virtual CInterpreterShell::~CInterpreterShell   [inline, virtual]
 

Destructor.

Definition at line 314 of file CInterpreterShell.h.


Member Function Documentation

virtual CInterpreterStartup* CInterpreterShell::getInterpreter   [pure virtual]
 

Implemented in CTclInterpreterShell, and CTkInterpreterShell.

Referenced by initevt().

CInterpreterCore* CInterpreterShell::getInterpreterCore   [inline]
 

Definition at line 325 of file CInterpreterShell.h.

Referenced by CTCLListener::CTCLListener(), CExperiment::GetRunNumber(), CReadoutMain::getScalerPeriod(), CReadoutMain::getTitle(), CExperiment::ReadEvent(), CExperiment::Start(), CExperiment::TriggerRunVariableBuffer(), and CExperiment::TriggerStateVariableBuffer().

void CInterpreterShell::Initialize CInterpreterCore   rCore
 

Initialize a class in 2phase construction mode.

Allows the client to provide an interpreter object to be used by objects of type CInterpeterShell following the initial construction. This provides support for an alternate 2phase construction, in cases where the interpreter core extension package is not knowable at construction time.

Parameters:
rCore  - CInterpreterCore& [in] reference to the interpreter core extension object.

Definition at line 402 of file CInterpreterShell.cpp.

References m_pExtensions.

Referenced by CTkInterpreterShell::RegisterExtensions(), and CTclInterpreterShell::RegisterExtensions().

int CInterpreterShell::operator!= const CInterpreterShell &    rhs const [inline]
 

Definition at line 318 of file CInterpreterShell.h.

References operator==().

CInterpreterShell & CInterpreterShell::operator= const CInterpreterShell &    aCInterpreterShell
 

Assignment operator.

This member function supports assignment of an object of this class to an object of the same class. The assignment done here is a shallow copy of the pointers. No attempt is made to interpret the structure of a CInterpreterShell, or the core extensions. No attempts are made to do storage tracking iether.

Parameters:
aCInterpreterShell  - const CInterpreterShell& [in] - the right hand side of the assignment operation.
Returns:
CInterpreterShell& - a referenc to *this in order to support assignment chaining.

Definition at line 359 of file CInterpreterShell.cpp.

References m_pExtensions.

Referenced by CTclInterpeterShell::operator=().

int CInterpreterShell::operator== const CInterpreterShell &    rhs const
 

Equality comparison.

Compares this with a right hand side CInterpreterShell object for equality.

Parameters:
rhs  - const CInterpreterShell& [in] reference to the right hand side of the comparison.
Returns:
int - 0 if unequal, -1 if equal.

Definition at line 381 of file CInterpreterShell.cpp.

References m_pExtensions.

Referenced by operator!=().

void CInterpreterShell::RegisterExtensions   [virtual]
 

Registers the extensions defined by the m_pExtensions object.

Delegates to the core extensionso object which in turn will extend the interpreter by adding the standard set of run control commands. Note that it is possible to extend the application as a whole by sublcassing CInterpreterCore and constructing this object with the extended interpreter core. The extended interpreter core would then implement RegisterExtensions adding its own extensions and registering the base class set.

Reimplemented in CTclInterpreterShell, and CTkInterpreterShell.

Definition at line 420 of file CInterpreterShell.cpp.

References m_pExtensions, and CInterpreterCore::RegisterExtensions().

void CInterpreterShell::setInterpreterCore CInterpreterCore *const    am_pExtensions [inline, protected]
 

Definition at line 333 of file CInterpreterShell.h.


Member Data Documentation

CInterpreterCore* CInterpreterShell::m_pExtensions [private]
 

Definition at line 306 of file CInterpreterShell.h.

Referenced by Initialize(), operator=(), operator==(), and RegisterExtensions().


The documentation for this class was generated from the following files:
Generated on Fri Nov 8 13:37:15 2002 for Event Readout system. by doxygen1.2.16