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)  

SystemInterpreter Class Reference

#include <SystemInterpreter.hpp>

Static Public Member Functions

static void live (size_t)
 
static void liveGeneral (int reason)
 
static void processStartup ()
 
static void processShutdown ()
 
static void startInterpreter ()
 
static void terminateInterpreter ()
 
static void initializeInstance (InterpreterInstance *instance)
 
static void terminateInstance (InterpreterInstance *instance)
 
static void getCurrentWorkingDirectory (char *)
 
static RexxObjectpopEnvironment (RexxActivation *context)
 
static RexxObjectpushEnvironment (RexxActivation *context)
 
static void restoreEnvironment (void *CurrentEnv)
 
static RexxObjectbuildEnvlist ()
 
static RexxStringqualifyFileSystemName (RexxString *name)
 
static void getCurrentTime (RexxDateTime *Date)
 
static RexxStringgetSystemName ()
 
static RexxStringgetSystemVersion ()
 
static RexxStringgetInternalSystemName ()
 
static RexxStringgetSourceString (RexxString *callType, RexxString *programName)
 
static RexxStringgetUserid ()
 
static void releaseResultMemory (void *)
 
static void * allocateResultMemory (size_t)
 
static RexxStringgetMessageHeader (wholenumber_t code)
 
static RexxStringgetMessageText (wholenumber_t code)
 
static bool valueFunction (RexxString *name, RexxObject *newValue, RexxString *selector, RexxObject *&result)
 
static RexxStringgetDefaultAddressName ()
 
static bool invokeExternalFunction (RexxActivation *, RexxActivity *, RexxString *, RexxObject **, size_t, RexxString *, ProtectedObject &)
 
static void validateAddressName (RexxString *name)
 
static void loadImage (char **imageBuffer, size_t *imageSize)
 
static RexxBufferreadProgram (const char *file_name)
 

Static Public Attributes

static sigset_t oldmask
 
static sigset_t newmask
 

Detailed Description

Definition at line 68 of file SystemInterpreter.hpp.

Member Function Documentation

◆ allocateResultMemory()

◆ buildEnvlist()

RexxObject * SystemInterpreter::buildEnvlist ( )
static

◆ getCurrentTime()

◆ getCurrentWorkingDirectory()

void SystemInterpreter::getCurrentWorkingDirectory ( char *  buf)
static

Get the current working directory for the process.

Returns
The current working directory as a Rexx string.

Definition at line 182 of file SystemInterpreter.cpp.

Referenced by buildEnvlist(), and RexxRoutine1().

◆ getDefaultAddressName()

RexxString * SystemInterpreter::getDefaultAddressName ( )
static

Retrieve the globally default initial address.

Returns
The string name of the default address.

Definition at line 101 of file SystemCommands.cpp.

Referenced by InterpreterInstance::initialize().

◆ getInternalSystemName()

RexxString * SystemInterpreter::getInternalSystemName ( )
static

Definition at line 91 of file MiscSystem.cpp.

References getSystemName().

Referenced by RexxMemory::createImage().

◆ getMessageHeader()

RexxString * SystemInterpreter::getMessageHeader ( wholenumber_t  code)
static

Return a message header for a given error message.

Parameters
codeThe error code
Returns
The formatted message header

Definition at line 180 of file ErrorMessages.cpp.

References msgEntry::code, msgEntry::msgid, new_string(), and OREF_NULL.

Referenced by RexxActivity::display().

◆ getMessageText()

RexxString * SystemInterpreter::getMessageText ( wholenumber_t  code)
static

Retrieve the message text for a give error code.

Parameters
codeThe Rexx error code
Returns
The error message associated with that code.

Definition at line 99 of file ErrorMessages.cpp.

References CATD_ERR, msgEntry::code, msgEntry::msgid, new_string(), OREF_NULL, REXXMESSAGEFILE, and SECOND_PARAMETER.

Referenced by RexxActivity::buildMessage(), builtin_function_DATE(), builtin_function_ERRORTEXT(), RexxActivity::createExceptionObject(), RexxActivation::debugPause(), RexxActivity::display(), RexxActivity::displayDebug(), and RexxActivity::reraiseException().

◆ getSourceString()

RexxString * SystemInterpreter::getSourceString ( RexxString callType,
RexxString programName 
)
static

◆ getSystemName()

RexxString * SystemInterpreter::getSystemName ( )
static

Definition at line 96 of file MiscSystem.cpp.

References new_string().

Referenced by RexxMemory::createImage(), and getInternalSystemName().

◆ getSystemVersion()

RexxString * SystemInterpreter::getSystemVersion ( )
static

Definition at line 112 of file MiscSystem.cpp.

References new_string().

Referenced by RexxMemory::createImage().

◆ getUserid()

RexxString * SystemInterpreter::getUserid ( )
static

Definition at line 64 of file UseridFunction.cpp.

References ACCOUNT_BUFFER_SIZE, and new_string().

Referenced by builtin_function_USERID().

◆ initializeInstance()

static void SystemInterpreter::initializeInstance ( InterpreterInstance instance)
static

◆ invokeExternalFunction()

bool SystemInterpreter::invokeExternalFunction ( RexxActivation activation,
RexxActivity activity,
RexxString target,
RexxObject **  arguments,
size_t  argcount,
RexxString calltype,
ProtectedObject result 
)
static

◆ live()

void SystemInterpreter::live ( size_t  liveMark)
static

Definition at line 165 of file SystemInterpreter.cpp.

Referenced by RexxMemory::live().

◆ liveGeneral()

void SystemInterpreter::liveGeneral ( int  reason)
static

Definition at line 169 of file SystemInterpreter.cpp.

References memoryObject, and RexxMemory::savingImage().

Referenced by RexxMemory::liveGeneral().

◆ loadImage()

void SystemInterpreter::loadImage ( char **  imageBuffer,
size_t *  imageSize 
)
static

◆ popEnvironment()

RexxObject * SystemInterpreter::popEnvironment ( RexxActivation context)
static

Pop an environment for the SysEndLocal() BIF.

Parameters
contextThe current activation context.
Returns
Always returns FALSE. This is a NOP on Windows.

Definition at line 407 of file ExternalFunctions.cpp.

Referenced by builtin_function_ENDLOCAL().

◆ processShutdown()

void SystemInterpreter::processShutdown ( )
static

Definition at line 67 of file SystemInterpreter.cpp.

References Interpreter::processStartup().

Referenced by _fini().

◆ processStartup()

void SystemInterpreter::processStartup ( )
static

Definition at line 60 of file SystemInterpreter.cpp.

References Interpreter::processStartup().

Referenced by _init().

◆ pushEnvironment()

RexxObject * SystemInterpreter::pushEnvironment ( RexxActivation context)
static

Push a new environment for the SysSetLocal() BIF.

Parameters
contextThe current activation context.
Returns
Returns TRUE if the environment was successfully pushed.

Definition at line 385 of file ExternalFunctions.cpp.

Referenced by builtin_function_SETLOCAL().

◆ qualifyFileSystemName()

RexxString * SystemInterpreter::qualifyFileSystemName ( RexxString name)
static

◆ readProgram()

RexxBuffer * SystemInterpreter::readProgram ( const char *  file_name)
static

Definition at line 189 of file FileSystem.cpp.

References RexxBuffer::getData(), new_buffer(), and OREF_NULL.

Referenced by RoutineClass::fromFile(), and RexxSource::initFile().

◆ releaseResultMemory()

◆ restoreEnvironment()

void SystemInterpreter::restoreEnvironment ( void *  CurrentEnv)
static

◆ startInterpreter()

void SystemInterpreter::startInterpreter ( )
static

Definition at line 126 of file SystemInterpreter.cpp.

References signalHandler().

Referenced by Interpreter::startInterpreter().

◆ terminateInstance()

static void SystemInterpreter::terminateInstance ( InterpreterInstance instance)
static

◆ terminateInterpreter()

void SystemInterpreter::terminateInterpreter ( )
static

Definition at line 156 of file SystemInterpreter.cpp.

Referenced by Interpreter::terminateInterpreter().

◆ validateAddressName()

void SystemInterpreter::validateAddressName ( RexxString name)
static

Validate an external address name.

Parameters
NameThe name to validate

Definition at line 134 of file MiscSystem.cpp.

References Error_Environment_name_name, RexxString::getLength(), MAX_ADDRESS_NAME_LENGTH, and reportException().

Referenced by RexxInstructionAddress::execute().

◆ valueFunction()

bool SystemInterpreter::valueFunction ( RexxString name,
RexxObject newValue,
RexxString selector,
RexxObject *&  result 
)
static

Member Data Documentation

◆ newmask

sigset_t SystemInterpreter::newmask
static

Definition at line 107 of file SystemInterpreter.hpp.

◆ oldmask

sigset_t SystemInterpreter::oldmask
static

Definition at line 106 of file SystemInterpreter.hpp.


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