[OPUS]

Suspended_event - An internally handled event object generated when the process is suspended (contains Proc_stat::SUSPENDED in its STATUS field).


Availability:

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

Constructors:
Suspended_event( )
~Suspended_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( ) returns a null pointer

Description

An internally handled PSTAT event that is generated when the application's PSTAT contains a STATUS field set to Proc_stat::SUSPENDED. When a Suspended_event is generated, the Opus_env object catches the exception and completes processing of this event type.

Derived from

Event

See Also:


Suspended_event::Suspended_event - The Suspended_event constructor.

Synopsis


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

Suspended_event::Suspended_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 Suspended_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


Suspended_event::~Suspended_event - The Suspended_event destructor.

Synopsis


Suspended_event::~Suspended_event()

Description

This method destroys the object.

Exceptions Thrown

none


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

Synopsis


Event* Suspended_event::clone() const

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

Description

These methods create a new Suspended_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 Suspended_event object.

Exceptions Thrown

Internal_event - if the clone method containing triggering entries is used


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

Synopsis


Proc_stat* Suspended_event::pstat_mesg() const

Description

No update is needed to the PSTAT for this event type, so a null pointer is returned.

Returns

    0

Exceptions Thrown

none


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

Synopsis


void Suspended_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


Suspended_event::process - Process the event.

Synopsis


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

Description

No processing of this Event type is required-- this method simply returns without performing anything.

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