ApiContext Class Reference

#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

RexxActivityactivity
 
RexxNativeActivationcontext
 
bool releaseLock
 

Detailed Description

A stack-based API context object used for API stubs.

Definition at line 56 of file ContextApi.hpp.

Constructor & Destructor Documentation

◆ ApiContext() [1/5]

ApiContext::ApiContext ( RexxThreadContext c)
inline

Initialize an API context from a thread context.

Parameters
cThe source context.

Definition at line 64 of file ContextApi.hpp.

References activity, context, contextToActivity(), RexxNativeActivation::enableConditionTraps(), RexxActivity::enterCurrentThread(), RexxActivity::getApiContext(), releaseLock, and RexxActivity::validateThread().

◆ ApiContext() [2/5]

ApiContext::ApiContext ( RexxThreadContext c,
bool  blocking 
)
inline

Initialize an API context from a thread context. this is a nonblocking context. The extra argument allows the overloads to work

Parameters
cThe source context.

Definition at line 86 of file ContextApi.hpp.

References activity, context, contextToActivity(), RexxNativeActivation::enableConditionTraps(), RexxActivity::getApiContext(), and releaseLock.

◆ ApiContext() [3/5]

ApiContext::ApiContext ( RexxCallContext c)
inline

Initialize an API context from a call context.

Parameters
cThe source context.

Definition at line 101 of file ContextApi.hpp.

References activity, context, contextToActivation(), contextToActivity(), RexxNativeActivation::enableConditionTraps(), RexxActivity::enterCurrentThread(), releaseLock, and RexxActivity::validateThread().

◆ ApiContext() [4/5]

ApiContext::ApiContext ( RexxExitContext c)
inline

Initialize an API context from an exit context.

Parameters
cThe source context.

Definition at line 120 of file ContextApi.hpp.

References activity, context, contextToActivation(), contextToActivity(), RexxNativeActivation::enableConditionTraps(), RexxActivity::enterCurrentThread(), releaseLock, and RexxActivity::validateThread().

◆ ApiContext() [5/5]

ApiContext::ApiContext ( RexxMethodContext c)
inline

Initialize an API context from a method context.

Parameters
cThe source context.

Definition at line 139 of file ContextApi.hpp.

References activity, context, contextToActivation(), contextToActivity(), RexxNativeActivation::enableConditionTraps(), RexxActivity::enterCurrentThread(), releaseLock, and RexxActivity::validateThread().

◆ ~ApiContext()

ApiContext::~ApiContext ( )
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.

Member Function Documentation

◆ ret()

Member Data Documentation

◆ activity

◆ context

◆ releaseLock

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().


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