ooRexx  4.2.0-source
About: ooRexx (Open Object Rexx) is a free implementation of Object Rexx. Object Rexx is an enhancement of the classic Rexx interpreter; a full-featured programming language with a human-oriented syntax.
  Fossies Dox: ooRexx-4.2.0-source.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

CommandHandler Class Reference

#include <CommandHandler.hpp>

Inheritance diagram for CommandHandler:
[legend]
Collaboration diagram for CommandHandler:
[legend]

Public Member Functions

void * operator new (size_t size, void *ptr)
 
void * operator new (size_t size)
 
void operator delete (void *)
 
void operator delete (void *, void *)
 
 CommandHandler (RESTORETYPE restoreType)
 
 CommandHandler (REXXPFN e)
 
 CommandHandler (const char *n)
 
void call (RexxActivity *activity, RexxActivation *activation, RexxString *address, RexxString *command, ProtectedObject &rc, ProtectedObject &condition)
 
void resolve (const char *name)
 
bool isResolved ()
 
- Public Member Functions inherited from RexxInternalObject
void * operator new (size_t, RexxClass *)
 
void * operator new (size_t, RexxClass *, RexxObject **, size_t)
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *)
 
void operator delete (void *p, void *ptr)
 
 RexxInternalObject ()
 
 RexxInternalObject (RESTORETYPE restoreType)
 
virtual ~RexxInternalObject ()
 
 operator RexxObject * ()
 
size_t getObjectSize ()
 
void setObjectSize (size_t s)
 
size_t getObjectDataSize ()
 
void * getObjectDataSpace ()
 
void clearObject ()
 
void clearObject (size_t l)
 
void setVirtualFunctions (void *t)
 
void setInitHeader (size_t s, size_t markword)
 
void setInitHeader (size_t markword)
 
void setObjectLive (size_t markword)
 
void setHasReferences ()
 
void setHasNoReferences ()
 
bool hasReferences ()
 
bool hasNoReferences ()
 
void setPrimitive ()
 
void setNonPrimitive ()
 
bool isPrimitive ()
 
bool isNonPrimitive ()
 
bool isObjectMarked (size_t markword)
 
void setObjectMark (size_t markword)
 
void clearObjectMark ()
 
bool isObjectLive (size_t mark)
 
bool isObjectDead (size_t mark)
 
bool isOldSpace ()
 
bool isNewSpace ()
 
void setNewSpace ()
 
void setOldSpace ()
 
void makeProxiedObject ()
 
bool isProxyObject ()
 
bool isSubClassOrEnhanced ()
 
bool isBaseClass ()
 
size_t getObjectTypeNumber ()
 
RexxBehaviourgetObjectType ()
 
bool isObjectType (RexxBehaviour *b)
 
bool isObjectType (size_t t)
 
bool isSameType (RexxInternalObject *o)
 
void setBehaviour (RexxBehaviour *b)
 
virtual RexxObjectmakeProxy (RexxEnvelope *)
 
virtual RexxObjectcopy ()
 
virtual RexxObjectevaluate (RexxActivation *, RexxExpressionStack *)
 
virtual RexxObjectgetValue (RexxActivation *)
 
virtual RexxObjectgetValue (RexxVariableDictionary *)
 
virtual RexxObjectgetRealValue (RexxActivation *)
 
virtual RexxObjectgetRealValue (RexxVariableDictionary *)
 
virtual void uninit ()
 
virtual HashCode hash ()
 
virtual HashCode getHashValue ()
 
HashCode identityHash ()
 
virtual bool truthValue (int)
 
virtual bool logicalValue (logical_t &)
 
virtual RexxStringmakeString ()
 
virtual void copyIntoTail (RexxCompoundTail *buffer)
 
virtual RexxStringprimitiveMakeString ()
 
virtual RexxArraymakeArray ()
 
virtual RexxStringstringValue ()
 
virtual RexxIntegerintegerValue (size_t)
 
virtual bool numberValue (wholenumber_t &result, size_t precision)
 
virtual bool numberValue (wholenumber_t &result)
 
virtual bool unsignedNumberValue (stringsize_t &result, size_t precision)
 
virtual bool unsignedNumberValue (stringsize_t &result)
 
virtual bool doubleValue (double &result)
 
virtual RexxNumberStringnumberString ()
 
virtual bool isEqual (RexxObject *)
 
virtual bool isInstanceOf (RexxClass *)
 
virtual RexxMethodinstanceMethod (RexxString *)
 
virtual RexxSupplierinstanceMethods (RexxClass *)
 
void hasUninit ()
 
void removedUninit ()
 
void printObject ()
 
RexxObjectclone ()
 
- Public Member Functions inherited from RexxVirtualBase
virtual void live (size_t)
 
virtual void liveGeneral (int reason)
 
virtual void flatten (RexxEnvelope *)
 
virtual RexxObjectunflatten (RexxEnvelope *)
 

Protected Types

enum  HandlerType { UNRESOLVED, REGISTERED_NAME, DIRECT }
 

Protected Attributes

REXXPFN entryPoint
 
HandlerType type
 

Additional Inherited Members

- Static Public Member Functions inherited from RexxInternalObject
static size_t getObjectHeaderSize ()
 
- Public Attributes inherited from RexxInternalObject
ObjectHeader header
 
RexxBehaviourbehaviour
 
- Protected Member Functions inherited from RexxVirtualBase
virtual ~RexxVirtualBase ()
 
virtual void baseVirtual ()
 

Detailed Description

Definition at line 52 of file CommandHandler.hpp.

Member Enumeration Documentation

◆ HandlerType

Enumerator
UNRESOLVED 
REGISTERED_NAME 
DIRECT 

Definition at line 70 of file CommandHandler.hpp.

Constructor & Destructor Documentation

◆ CommandHandler() [1/3]

CommandHandler::CommandHandler ( RESTORETYPE  restoreType)
inline

Definition at line 60 of file CommandHandler.hpp.

◆ CommandHandler() [2/3]

CommandHandler::CommandHandler ( REXXPFN  e)
inline

Definition at line 61 of file CommandHandler.hpp.

References DIRECT, and type.

◆ CommandHandler() [3/3]

CommandHandler::CommandHandler ( const char *  n)
inline

Definition at line 62 of file CommandHandler.hpp.

References resolve(), type, and UNRESOLVED.

Member Function Documentation

◆ call()

void CommandHandler::call ( RexxActivity activity,
RexxActivation activation,
RexxString address,
RexxString command,
ProtectedObject result,
ProtectedObject condition 
)

Call a command handler

Parameters
activityThe current activity.
activationThe top-most activation.
addressThe address name.
commandThe command string.
resultThe returned RC value.
conditionA potential returned condition object.

Definition at line 98 of file CommandHandler.cpp.

References CommandHandlerDispatcher::complete(), entryPoint, REGISTERED_NAME, RexxActivity::run(), and type.

Referenced by RexxActivation::command().

◆ isResolved()

bool CommandHandler::isResolved ( )
inline

◆ operator delete() [1/2]

void CommandHandler::operator delete ( void *  )
inline

Definition at line 57 of file CommandHandler.hpp.

◆ operator delete() [2/2]

void CommandHandler::operator delete ( void *  ,
void *   
)
inline

Definition at line 58 of file CommandHandler.hpp.

◆ operator new() [1/2]

void * CommandHandler::operator new ( size_t  size)

Create a new command handler instance

Parameters
sizeThe size of the handler
Returns
The allocated object.

Definition at line 62 of file CommandHandler.cpp.

References new_object(), and T_CommandHandler.

◆ operator new() [2/2]

void* CommandHandler::operator new ( size_t  size,
void *  ptr 
)
inline

Definition at line 55 of file CommandHandler.hpp.

◆ resolve()

void CommandHandler::resolve ( const char *  handlerName)

Resolve a classic-style exit handler to the actual target entry point address and invocation style.

Parameters
nameThe registered exit name.

Definition at line 74 of file CommandHandler.cpp.

References entryPoint, REGISTERED_NAME, RexxResolveSubcom(), and type.

Referenced by CommandHandler().

Member Data Documentation

◆ entryPoint

REXXPFN CommandHandler::entryPoint
protected

Definition at line 77 of file CommandHandler.hpp.

Referenced by call(), and resolve().

◆ type

HandlerType CommandHandler::type
protected

Definition at line 78 of file CommandHandler.hpp.

Referenced by call(), CommandHandler(), isResolved(), and resolve().


The documentation for this class was generated from the following files: