SAGA C++ API 1.5.3

saga::monitorable Class Reference

The monitorable interface is implemented by those SAGA objects which can be monitored, i.e. which have one or more associated metrics. More...

#include <monitorable.hpp>

Inheritance diagram for saga::monitorable:

List of all members.

Public Types

typedef unsigned int cookie_handle
 Brief description starts here.

Public Member Functions

 monitorable (saga::object rhs)
 Brief description starts here.
 monitorable (saga::impl::object *impl)
 Brief description starts here.
virtual ~monitorable (void)
 Brief description starts here.
virtual std::vector< saga::metriclist_metrics (void) const
 Brief description starts here.
virtual saga::metric get_metric (std::string name) const
 Returns a metric instance, identified by name.
virtual cookie_handle add_callback (std::string name, saga::callback cb)
 Adds a callback to the specified metric.
virtual void remove_callback (std::string name, cookie_handle cookie)
 Removes a callback from the specified metric.

Protected Member Functions

saga::impl::monitorable * get_monitorable (void)
saga::impl::monitorable const * get_monitorable (void) const

Protected Attributes

TR1::shared_ptr
< saga::impl::object > 
impl_
 @ /** These methods are not within API scope */

Detailed Description

The monitorable interface is implemented by those SAGA objects which can be monitored, i.e. which have one or more associated metrics.

The interface allows introspection of these metrics, and allows to add callbacks to these metrics which get called if these metrics change. Several methods of this interface reflect similar methods on the metric class

  • the additional string argument name identifies the metric these methods act upon.

Member Typedef Documentation

typedef unsigned int saga::monitorable::cookie_handle

Brief description starts here.


Constructor & Destructor Documentation

saga::monitorable::monitorable ( saga::object  rhs)

Brief description starts here.

saga::monitorable::monitorable ( saga::impl::object *  impl) [explicit]

Brief description starts here.

saga::monitorable::~monitorable ( void  ) [virtual]

Brief description starts here.


Member Function Documentation

saga::impl::monitorable * saga::monitorable::get_monitorable ( void  ) [protected]
saga::impl::monitorable const * saga::monitorable::get_monitorable ( void  ) const [protected]

References impl_.

std::vector< saga::metric > saga::monitorable::list_metrics ( void  ) const [virtual]

Brief description starts here.

References get_monitorable().

saga::metric saga::monitorable::get_metric ( std::string  name) const [virtual]

Returns a metric instance, identified by name.

Parameters:
nameName of the metric to be returned.
Returns:
Metric instance identified by name

References get_monitorable().

saga::monitorable::cookie_handle saga::monitorable::add_callback ( std::string  name,
saga::callback  cb 
) [virtual]

Adds a callback to the specified metric.

Parameters:
nameIdentifies the metric to which the cb is to be added
cbReference to callback class instance to be registered
Returns:
Handle for callback removal

References get_monitorable().

void saga::monitorable::remove_callback ( std::string  name,
cookie_handle  cookie 
) [virtual]

Removes a callback from the specified metric.

Parameters:
nameIdentifies the metric for which cb is to be removed
cookieIdentifies the cb to be removed.

References get_monitorable().


Member Data Documentation

TR1::shared_ptr<saga::impl::object> saga::monitorable::impl_ [protected]

@ /** These methods are not within API scope */

Referenced by get_monitorable(), and saga::steerable::get_steerable().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines