[OPUS]

Reinit_event - An event object generated when PSTAT_REINIT_COMMAND is placed in the application's PSTAT Proc_cmd field.


Availability:

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

Constructors:
Reinit_event( )
~Reinit_event( )

Methods:
clone( ) create copy of object
add_callback( ) assign Event callback
process( ) process this Event
pstat_mesg( ) get PSTAT status

Description

This type of object is created for events on the PSTAT blackboard when Proc_cmd::PSTAT_REINIT_COMMAND is placed in the COMMAND field, presumeably by the PMG. The client must register a callback function (using the static method add_callback) for this event type in order to process it (by default, the process method calls Opus_env::close_event with Opus_env::IGNORE_EVENT). A callback function foo must have a signature and return type of void foo(const string&, Event*, const Opus_env&). This function will be passed the trigger name as the first argument, a pointer to this event object as the second argument, and a reference to the process' Opus_env object as the third argument.

Derived from

Event

See Also:


Reinit_event::Reinit_event - The Reinit_event constructor.

Synopsis


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

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

Description

These methods create either a Reinit_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


Reinit_event::~Reinit_event - The Reinit_event destructor.

Synopsis


Reinit_event::~Reinit_event()

Description

This method destroys the object

Exceptions Thrown

none


Reinit_event::clone - Create a copy of the Reinit_event object.

Synopsis


Event* Reinit_event::clone() const

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

Description

These methods creates a new Reinit_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 Reinit_event object initialized by this object.

Exceptions Thrown

none


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

Synopsis


Proc_stat* Reinit_event::pstat_mesg() const

Description

This method creates a Proc_stat object containing Proc_stat::REINITED. The caller should delete the Proc_stat object when it is no longer needed.

Returns

    A pointer to the new Proc_stat object.

Exceptions Thrown

none


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

Synopsis


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


Reinit_event::process - Process this event.

Synopsis


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

Description

This method calls the callback function if it has been set with the set_callback method. Otherwise, Opus_env::close_event is called with Opus_env::IGNORE_EVENT. The callback function will be passed the trigger name as the first argument, a pointer to this event object as the second argument, and a reference to the process' Opus_env object as the third argument.

Exceptions Thrown

[any exceptions thrown by the callback function]
Bad_val<Event*> - if the Event argument is NULL; Bad_val.arg contains the calling argument
Bad_val<string> - if the status is not found; Bad_val.arg contains the calling argument
Exec<vector<Event::iterator>> - if a failure occurs for any entry; Exec.arg contains a vector of iterators that point to the failed items


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