[OPUS]

Suspend_event - An internal event generated when a PSTAT_SUSPEND_COMMAND is placed in the application's PSTAT COMMAND field.


Availability:

This class is available for the OPUS Blackboard API. The initial OPUS 2.0 release is described here

Constructors:
Suspend_event( )
~Suspend_event( )

Methods:
clone( ) returns a copy of this object and sets the event trigger name and triggering entries
add_callback( ) assigns a callback function for this event type
process( ) a no-op
pstat_mesg( ) gets the Proc_stat object with which the process' PSTAT status field can be updated to indicate this event has occurred

Description

An internally handled PSTAT event that is generated when the application's PSTAT contains a Proc_cmd set to the value PSTAT_SUSPEND_COMMAND. When a suspend event is generated, the Opus_env object catches the exception and completes processing.

Derived from

Event

See Also:


Suspend_event::Suspend_event - The Suspend_event constructor.

Synopsis


Suspend_event::Suspend_event(
                             Blackboard* bbrd) // I - pointer to PSTAT 
                                               //     Blackboard

Suspend_event::Suspend_event(
                             Blackboard* bbrd,        // I - pointer to
                                                      //     PSTAT
                                                      //     Blackboard
                             const string& s,         // I - Trigger name
                             const vector<Entry*>& v) // I - triggers

Description

These methods create either a Suspend_event object to be used as a factory or in response to an actual event. In the former case, only the blackboard on which this event occurs need be specified-- the object can then be used to create clones whenever a real event occurs. In the case of a real event, the trigger name and the vector of entry objects that are responsible for the event also are specified.

Warning: no checks are made that the correct blackboard type and entry types are used as calling arguments.

Exceptions Thrown

none


Suspend_event::~Suspend_event - The Suspend_event destructor.

Synopsis


Suspend_event::~Suspend_event()

Description

This method destroys the object.

Exceptions Thrown

none


Suspend_event::clone - Create a copy of this object.

Synopsis


Event* Suspend_event::clone() const

Event* Suspend_event::clone(
                            const string& s,         // I - Trigger
                                                     // name
                            const vector<Entry*>& v) // I - triggers
                            const

Description

These methods create a new Suspend_event object off the heap using the constructor with the same signature. The caller should delete the new object when it is no longer needed.

Returns

    A pointer to the new Suspend_event object.

Exceptions Thrown

Internal_event - if the clone method containing triggering entries is used


Suspend_event::pstat_mesg - Get Proc_stat object for updating the application's PSTAT status field.

Synopsis


Proc_stat* Suspend_event::pstat_mesg() const

Description

This method creates a new Proc_stat object containing Proc_stat::SUSPENDED.

Returns

    A pointer to the Proc_stat object.

Exceptions Thrown

none


Suspend_event::add_callback - Register the callback funtion for event processing.

Synopsis


void Suspend_event::add_callback(
                                 void (*pf)(const string&, // I - callback
                                            Event*, const Opus_env&))

Description

This method takes a function pointer that will serve as a callback function for all events of this type. The callback function foo must have a signature and return type of

     void foo(const string&, Event*, const Opus_env&) 
This method is static and specifies a callback function for all File_event objects until it is replaced.

Exceptions Thrown

none


Suspend_event::process - Process the event.

Synopsis


void Suspend_event::process(
                            const Opus_env& oenv) // I - Opus_env object

Description

No processing is required for this event-- this method simply returns.

Exceptions Thrown

none


OPUS API index · STScI Home Page · Search · Topics · Index

Copyright © 1997-2000 The Association of Universities for Research in Astronomy, Inc. All Rights Reserved.


For more information, contact opushelp@stsci.edu

Last modified: 25 April 2000