pProcessManager

Invoke Process Manager functions.

Syntax

pProcessManager ( out vlStatus,
                  in vlOperation,
                  in vlProcessId,
                  in vlWindowName )

Parameters

vlStatus

The returned status from pProcessManager.

vlOperation

The name of the function to be executed by the Process Manager.

vlProcessId

The process id of the process to be dealt with.

vlWindowName

The name of the window whose associated process is to be affected.

Comments

The pProcessManager function provides management of the Process Manager and its process list. vlStatus is returned as "ERROR" if an error occurs. Otherwise, vlStatus is returned as "OK". The process to be operated on is identified either by process id (vlProcessId is not zero) or by window name (vlProcessId is zero). The Process Manager maintains a list of processes. The window associated with the process at the top of the list becomes the current window on the next FORM INPUT done by pGetAction.

New process information (for REGISTER) and process information about existing processes is passed in and out of pProcessManager by means of the structure vProcess. Information about the current process (i.e. the process at the top of the process list) is always available in the structure vCurrProcess.

The pProcessManager function provides the following:

vlOperation

Meaning

CHECK

Checks that a process exists and return an error if it does not. If the process exists, vlStatus is set to "PROCESSIDEXISTS".

FINI

Shuts down the Process Manager.

GETBYPROCESSID

Finds the process indicated by vlProcessId. Process information is placed in vProcess.

GETBYWINDOW

Finds the process indicated by vlWindowName. Process information (including the process id) is placed in vProcess.

GETCURRENT

Finds the process at the top of the process list. Process information (including the process id) is placed in vProcess.

GETFIRST

Finds the "first" process in the process list and returns the process id. Process information (including the process id) is placed in vProcess.

GETFIRSTCHILD

Finds the "first" process which is a child of the current process.

GETLAST

Finds the "last" process in the process list and returns the process id. Process information is placed in vProcess.

GETNEXT

Can be used to loop through all entries in the process list. When all processes have been fetched, vlStatus is returned as "ENDOFLIST". Process information is placed in vProcess.

GETNEXTCHILD

Can be used to loop through all children of the current process. When all processes have been fetched, vlStatus is returned as "ENDOFLIST". Process information is placed in vProcess.

GETPARENT

Finds the process that is the parent of the current process.

GETPREVIOUS

Can be used to loop through all entries in the process list. When all processes have been fetched, vlStatus is returned as "ENDOFLIST". Process information is placed in vProcess.

INIT

Initializes the Process Manager.

LIST

Produces a report on the Process Manager's data structures and sends it to the document STDERR.

REGISTER

Adds (i.e. "registers") a new process to the process list. See pRegisterProcess.

RESUME

Moves a process to the top of the process. The associated window becomes the current window on the next pGetAction.

STOP

The opposite of REGISTER, removes a process from the process list.

SUSPEND

Moves a process to the bottom of the process.

TASKMAN

Opens the task manager window that displays current processes and enables switching from one to the other. See pTaskManager

TEST

Similar to TASKMAN but enables direct manipulation of the process list.

Uses

pPostActionQueue

pUserMessage

Used By

pDispatchAction

pRegisterProcess

pSendAction

pTaskManager