Шаблон класса gemont_1::scalar_data_source_t< T >

Класс для работы со скалярными источниками данных. Подробнее...

#include <pub.hpp>

Граф наследования:gemont_1::scalar_data_source_t< T >:

gemont_1::abstract_data_source_t gemont_1::scalar_data_source_as_trait_t< T > gemont_1::agent_state_data_source_t

Полный список членов класса

Открытые члены

 scalar_data_source_t (const std::string &name, const std::string &data_class, const T &initial)
 scalar_data_source_t (const std::string &name, const std::string &data_class, const T &initial, void(*starter)(abstract_data_source_t &))
const T & current () const
 Получить текущее значение источника данных.
void set (const T &v)
 Установить новое значение источника данных.
Реализация унаследованных методов.
virtual void start ()
 Начать работу источника данных.
virtual void stop ()
 Завершить работу источника данных.

Закрытые типы

typedef msg_type_detector_t< T >
::msg_type 
msg_type_t
 Тип сообщения, которое должно отсылаться при изменении источника данных.

Закрытые члены

 scalar_data_source_t (const scalar_data_source_t< T > &)
scalar_data_source_t< T > & operator= (const scalar_data_source_t< T > &)

Закрытые данные

bool m_is_registered
 Признак того, что источник данных зарегистрирован.
m_current
 Текущее значение источника данных.


Подробное описание

template<class T>
class gemont_1::scalar_data_source_t< T >

Класс для работы со скалярными источниками данных.

Начиная с:
v.1.0.9
В версии 1.0.9 поддерживаются типы данных unsigned int и std::string.

Источник данных этого типа можно запустить в конструкторе, если использовать конструктор с четырьмя аргументами:

typedef gemont_1::scalar_data_source_t< unsigned int > uint_source_t;
uint_source_t * my = new uint_source_t(
  "my_uint_data_1", "uint_data_t", 0,
  &gemont_1::auto_start );

Если источник был запущен, но не был остановлен, то останов осуществляется автоматически в деструкторе.

Примеры:

sysconf/main.cpp.


Конструктор(ы)

template<class T >
gemont_1::scalar_data_source_t< T >::scalar_data_source_t ( const std::string &  name,
const std::string &  data_class,
const T &  initial 
) [inline]

Конструктор, который создает источник данных в остановленом состоянии. Для запуска источника данных необходимо вызвать метод start().

Аргументы:
name  Имя источника данных.
data_class  Имя класса данных.
initial  Начальное значение.

template<class T >
gemont_1::scalar_data_source_t< T >::scalar_data_source_t ( const std::string &  name,
const std::string &  data_class,
const T &  initial,
void(*)(abstract_data_source_t &)  starter 
) [inline]

Конструктор, который может запустить источник данных автоматически. Для этого необходимо четвертым параметром передать указатель на функцию gemont_1::auto_start.

Аргументы:
name  Имя источника данных.
data_class  Имя класса данных.
initial  Начальное значение.
starter  Указатель на функцию стартера.


Методы

template<class T >
virtual void gemont_1::scalar_data_source_t< T >::start (  )  [inline, virtual]

Начать работу источника данных.

После того, как источник данных стартовал, все изменения значения источника данных будут отсылаться во внешний мир.

Замещает gemont_1::abstract_data_source_t.

Перекрестные ссылки gemont_1::abstract_data_source_t::data_class(), gemont_1::scalar_data_source_t< T >::m_current, gemont_1::scalar_data_source_t< T >::m_is_registered, gemont_1::make_global_agent(), gemont_1::abstract_data_source_t::name() и gemont_1::msg_reg_data_source::send().

template<class T >
virtual void gemont_1::scalar_data_source_t< T >::stop (  )  [inline, virtual]

Завершить работу источника данных.

Изменения, внесенные в источник данных после останова, во внешний мир не рассылаются.

Замещает gemont_1::abstract_data_source_t.

Перекрестные ссылки gemont_1::scalar_data_source_t< T >::m_is_registered, gemont_1::abstract_data_source_t::name() и gemont_1::msg_dereg_data_source::send().


Объявления и описания членов класса находятся в файле:

Документация по Generic MONitoring Tools v.1.4.0. Последние изменения: Mon Oct 20 16:21:28 2008. Создано системой  doxygen1.5.7.1 Intervale SourceForge.net Logo