CommandHandler Class Reference

#include <CommandHandler.hpp>

Inheritance 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, 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 ()
 
void setInRexxPackage ()
 
bool isInRexxPackage ()
 
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 RexxTextmakeText ()
 
virtual void copyIntoTail (RexxCompoundTail *buffer)
 
virtual RexxStringprimitiveMakeString ()
 
virtual RexxTextprimitiveMakeText ()
 
virtual RexxArraymakeArray ()
 
virtual RexxStringstringValue ()
 
virtual RexxTexttextValue ()
 
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 *)
 
virtual RexxObjectdynamicTarget (RexxObject **arguments, size_t count, size_t named_count)
 
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: