#include <ContextApi.hpp>
Public Member Functions | |
ApiContext (RexxThreadContext *c) | |
ApiContext (RexxThreadContext *c, bool blocking) | |
ApiContext (RexxCallContext *c) | |
ApiContext (RexxExitContext *c) | |
ApiContext (RexxMethodContext *c) | |
~ApiContext () | |
RexxObjectPtr | ret (RexxObject *o) |
Public Attributes | |
RexxActivity * | activity |
RexxNativeActivation * | context |
bool | releaseLock |
A stack-based API context object used for API stubs.
Definition at line 56 of file ContextApi.hpp.
|
inline |
Initialize an API context from a thread context.
c | The source context. |
Definition at line 64 of file ContextApi.hpp.
References activity, context, contextToActivity(), RexxNativeActivation::enableConditionTraps(), RexxActivity::enterCurrentThread(), RexxActivity::getApiContext(), releaseLock, and RexxActivity::validateThread().
|
inline |
Initialize an API context from a thread context. this is a nonblocking context. The extra argument allows the overloads to work
c | The source context. |
Definition at line 86 of file ContextApi.hpp.
References activity, context, contextToActivity(), RexxNativeActivation::enableConditionTraps(), RexxActivity::getApiContext(), and releaseLock.
|
inline |
Initialize an API context from a call context.
c | The source context. |
Definition at line 101 of file ContextApi.hpp.
References activity, context, contextToActivation(), contextToActivity(), RexxNativeActivation::enableConditionTraps(), RexxActivity::enterCurrentThread(), releaseLock, and RexxActivity::validateThread().
|
inline |
Initialize an API context from an exit context.
c | The source context. |
Definition at line 120 of file ContextApi.hpp.
References activity, context, contextToActivation(), contextToActivity(), RexxNativeActivation::enableConditionTraps(), RexxActivity::enterCurrentThread(), releaseLock, and RexxActivity::validateThread().
|
inline |
Initialize an API context from a method context.
c | The source context. |
Definition at line 139 of file ContextApi.hpp.
References activity, context, contextToActivation(), contextToActivity(), RexxNativeActivation::enableConditionTraps(), RexxActivity::enterCurrentThread(), releaseLock, and RexxActivity::validateThread().
|
inline |
Destructor for an API context. Releases the interpreter access lock on exit.
Definition at line 157 of file ContextApi.hpp.
References activity, context, RexxNativeActivation::disableConditionTraps(), RexxActivity::exitCurrentThread(), and releaseLock.
|
inline |
Definition at line 168 of file ContextApi.hpp.
References context, and RexxNativeActivation::createLocalReference().
Referenced by ArrayAt(), ArrayOfFive(), ArrayOfFour(), ArrayOfOne(), ArrayOfThree(), ArrayOfTwo(), CallProgram(), CallRoutine(), DirectoryAt(), DirectoryRemove(), DoubleToObject(), DoubleToObjectWithPrecision(), FindCallContextClass(), FindClass(), FindClassFromPackage(), FindContextClass(), ForwardMessage(), GetAllContextVariables(), GetAllExitContextVariables(), GetAllStemElements(), GetCallerContext(), GetConditionInfo(), GetExitCallerContext(), GetMethodPackage(), GetPackageClasses(), GetPackageMethods(), GetPackagePublicClasses(), GetPackagePublicRoutines(), GetPackageRoutines(), GetRoutinePackage(), GetStemArrayElement(), GetStemElement(), GetStemValue(), Int32ToObject(), Int64ToObject(), IntptrToObject(), LoadPackage(), LoadPackageFromData(), NewArray(), NewBuffer(), NewBufferString(), NewDirectory(), NewMethod(), NewMutableBuffer(), NewPointer(), NewRoutine(), NewStem(), NewString(), NewStringFromAsciiz(), NewSupplier(), ObjectToString(), ObjectToStringValue(), SendMessage0(), SendMessage1(), SendMessage2(), SendMessageArray(), StringLower(), StringSizeToObject(), StringUpper(), SupplierIndex(), SupplierItem(), UintptrToObject(), UnsignedInt32ToObject(), UnsignedInt64ToObject(), ValuesToObject(), ValueToObject(), and WholeNumberToObject().
RexxActivity* ApiContext::activity |
The activity used for the API callback.
Definition at line 177 of file ContextApi.hpp.
Referenced by ApiContext(), CallProgram(), CallRoutine(), DetachThread(), DisplayCondition(), ForwardMessage(), GetLocalEnvironment(), HaltThread(), LoadPackage(), LoadPackageFromData(), RaiseCondition(), ReleaseGlobalReference(), RequestGlobalReference(), SetThreadTrace(), and ~ApiContext().
RexxNativeActivation* ApiContext::context |
The top-level API context.
Definition at line 181 of file ContextApi.hpp.
Referenced by ApiContext(), CheckCondition(), ClearCondition(), DisplayCondition(), DropContextVariable(), DropExitContextVariable(), DropObjectVariable(), FindCallContextClass(), FindClass(), FindContextClass(), ForwardMessage(), GetAllContextVariables(), GetAllExitContextVariables(), GetCallArgument(), GetCallArguments(), GetCallerContext(), GetConditionInfo(), GetContextDigits(), GetContextForm(), GetContextFuzz(), GetContextVariable(), GetCSelf(), GetCurrentMethod(), GetCurrentRoutine(), GetExitCallerContext(), GetExitContextVariable(), GetMessageName(), GetMethodArgument(), GetMethodArguments(), GetObjectVariable(), GetRoutineName(), GetScope(), GetSelf(), GetSuper(), InvalidRoutine(), IsOfType(), ObjectToValue(), RaiseCondition(), ReleaseLocalReference(), ResolveStemVariable(), ret(), SetContextVariable(), SetExitContextVariable(), SetGuardOff(), SetGuardOn(), SetObjectVariable(), ValuesToObject(), ValueToObject(), and ~ApiContext().
bool ApiContext::releaseLock |
Indicates whether we need to release the lock on return.
Definition at line 186 of file ContextApi.hpp.
Referenced by ApiContext(), and ~ApiContext().