Класс Cntm::EventLink
[Cntm.Events]

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


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

Класс связи между событием и обработчиком.

В качестве события используется либо отложенное либо прямое событие (см. классы Cntm::DeferEvent и Cntm::DirectEvent).

Данный класс имеет конструктор по умолчанию, создающий пустую связь и конструкторы инициализации, создающие связь указанного события с указанным обработчиком. В деструкторе класса происходит разрушение связи, если она была установлена. Методы Attach() разрушают старую связь (если она была) и инициализируют новую. Метод Detach() разрушает текущую связь. Данный класс не имеет конструктора и оператора копирования.

Данный класс является общим для отложенных и прямых событий, и не является шаблоном, т.е. не зависит от сигнатуры события.

Более подробное описание использование класса приведено в описании классов событий (см. классы Cntm::DeferEvent и Cntm::DirectEvent).

Данный класс обеспечивает многопоточность.

Автор:
Овсеевич Р.

См. определение в файле EventLink.h строка 39


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

 EventLink ()
 Конструктор по умолчанию.
template<typename SignatureT, typename ClassT>
 EventLink (DeferEvent< SignatureT > &Event, RefPtr< ClassT > Object, typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer Method, const SynchroSpace::Ptr &Space=SynchroSpace::Ptr())
 Конструктор инициализации связи.
template<typename SignatureT, typename ClassT>
 EventLink (DeferEvent< SignatureT > &Event, ClassT *Object, typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer Method, const SynchroSpace::Ptr &Space=SynchroSpace::Ptr())
 Конструктор инициализации связи.
template<typename SignatureT, typename ClassT>
 EventLink (DirectEvent< SignatureT > &Event, RefPtr< ClassT > Object, typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer Method)
 Конструктор инициализации связи.
template<typename SignatureT, typename ClassT>
 EventLink (DirectEvent< SignatureT > &Event, ClassT *Object, typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer Method)
 Конструктор инициализации связи.
template<typename SignatureT, typename ClassT>
void Attach (DeferEvent< SignatureT > &Event, RefPtr< ClassT > Object, typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer Method, const SynchroSpace::Ptr &Space=SynchroSpace::Ptr())
 Установка нового значения в объект связи, при этом старая связь разрушается.
template<typename SignatureT, typename ClassT>
void Attach (DeferEvent< SignatureT > &Event, ClassT *Object, typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer Method, const SynchroSpace::Ptr &Space=SynchroSpace::Ptr())
 Установка нового значения в объект связи, при этом старая связь разрушается.
template<typename SignatureT, typename ClassT>
void Attach (DirectEvent< SignatureT > &Event, RefPtr< ClassT > Object, typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer Method)
 Установка нового значения в объект связи, при этом старая связь разрушается.
template<typename SignatureT, typename ClassT>
void Attach (DirectEvent< SignatureT > &Event, ClassT *Object, typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer Method)
 Установка нового значения в объект связи, при этом старая связь разрушается.
void Detach ()
 Разрушить текущую связь.

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

Cntm::EventLink::EventLink (  )  [inline]

Конструктор по умолчанию.

Создает пустую связь.

См. определение в файле EventLink.h строка 46

template<typename SignatureT, typename ClassT>
Cntm::EventLink::EventLink ( DeferEvent< SignatureT > &  Event,
RefPtr< ClassT >  Object,
typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer  Method,
const SynchroSpace::Ptr Space = SynchroSpace::Ptr() 
) [inline]

Конструктор инициализации связи.

В качестве параметров указывается объект отложенного события, ссылочный указатель на объект обработчика, указатель на метод обработчика, ссылочный указатель на синхропространство (опционально).

Исключения: Cntm::NullArgException - если указатель на объект обработчика равен NULL; Cntm::IllegalStateException - если не удалось определить синхропространство в котором будет вызван обработчик (явно не задано и не создано главное синхропространство).

Аргументы:
Event - ссылка на объект отложенного события, т.е. должен передаваться объект события, с которым происходит связывание.
Object - ссылочный указатель на объект, который будет обрабатывать событие. Если указатель равен NULL, то генерируется исключение Cntm::NullArgException.
Method - указатель на метод обработчика. Сигнатура метода должна полностью совпадать с сигнатурой события, в противном случае будет выдана ошибка компиляции.
Space (опциональный) - синхропространство, в котором будет выполняться обработчик. Если оно явно не указано, то определяется следующим образом. Если объект обработчика является синхрообъектом (см. класс Cntm::SynchroObject), то синхропространство берется из свойства Space() этого объекта. В противном случае используется главное синхропространство (см. Cntm::SynchroSpace::Main()). Если главного синхропространства нет (Cntm::SynchroSpace::Main() возвращает NULL), то генерируется исключение Cntm::IllegalStateException.

См. определение в файле EventLink.h строка 60

template<typename SignatureT, typename ClassT>
Cntm::EventLink::EventLink ( DeferEvent< SignatureT > &  Event,
ClassT *  Object,
typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer  Method,
const SynchroSpace::Ptr Space = SynchroSpace::Ptr() 
) [inline]

Конструктор инициализации связи.

В качестве параметров указывается объект отложенного события, обычный указатель на объект обработчика, указатель на метод обработчика, ссылочный указатель на синхропространство (опционально).

Исключения: Cntm::NullArgException - если указатель на объект обработчика равен NULL; Cntm::IllegalStateException - если не удалось определить синхропространство в котором будет вызван обработчик (явно не задано и не создано главное синхропространство).

Аргументы:
Event - ссылка на объект отложенного события, т.е. должен передаваться объект события, с которым происходит связывание.
Object - обычный указатель на объект, который будет обрабатывать событие. Если указатель равен NULL, то генерируется исключение Cntm::NullArgException.
Method - указатель на метод обработчика. Сигнатура метода должна полностью совпадать с сигнатурой события, в противном случае будет выдана ошибка компиляции.
Space (опциональный) - синхропространство, в котором будет выполняться обработчик. Если оно явно не указано, то определяется следующим образом. Если объект обработчика является синхрообъектом (см. класс Cntm::SynchroObject), то синхропространство берется из свойства Space() этого объекта. В противном случае используется главное синхропространство (см. Cntm::SynchroSpace::Main()). Если главного синхропространства нет (Cntm::SynchroSpace::Main() возвращает NULL), то генерируется исключение Cntm::IllegalStateException.

См. определение в файле EventLink.h строка 79

template<typename SignatureT, typename ClassT>
Cntm::EventLink::EventLink ( DirectEvent< SignatureT > &  Event,
RefPtr< ClassT >  Object,
typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer  Method 
) [inline]

Конструктор инициализации связи.

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

Исключение Cntm::NullArgException - если указатель на объект обработчика равен NULL.

Аргументы:
Event - ссылка на объект прямого события, т.е. должен передаваться объект события, с которым происходит связывание.
Object - ссылочный указатель на объект, который будет обрабатывать событие. Если указатель равен NULL, то генерируется исключение Cntm::NullArgException.
Method - указатель на метод обработчика. Сигнатура метода должна полностью совпадать с сигнатурой события, в противном случае будет выдана ошибка компиляции.

См. определение в файле EventLink.h строка 95

template<typename SignatureT, typename ClassT>
Cntm::EventLink::EventLink ( DirectEvent< SignatureT > &  Event,
ClassT *  Object,
typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer  Method 
) [inline]

Конструктор инициализации связи.

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

Исключения: Cntm::NullArgException - если указатель на объект обработчика равен NULL;

Аргументы:
Event - ссылка на объект прямого события, т.е. должен передаваться объект события, с которым происходит связывание.
Object - обычный указатель на объект, который будет обрабатывать событие. Если указатель равен NULL, то генерируется исключение Cntm::NullArgException.
Method - указатель на метод обработчика. Сигнатура метода должна полностью совпадать с сигнатурой события, в противном случае будет выдана ошибка компиляции.

См. определение в файле EventLink.h строка 111


Методы

template<typename SignatureT, typename ClassT>
void Cntm::EventLink::Attach ( DeferEvent< SignatureT > &  Event,
RefPtr< ClassT >  Object,
typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer  Method,
const SynchroSpace::Ptr Space = SynchroSpace::Ptr() 
) [inline]

Установка нового значения в объект связи, при этом старая связь разрушается.

В качестве параметров указывается объект отложенного события, ссылочный указатель на объект обработчика, указатель на метод обработчика, ссылочный указатель на синхропространство (опционально).

Исключения: Cntm::NullArgException - если указатель на объект обработчика равен NULL; Cntm::IllegalStateException - если не удалось определить синхропространство в котором будет вызван обработчик (явно не задано и не создано главное синхропространство).

Аргументы:
Event - ссылка на объект отложенного события, т.е. должен передаваться объект события, с которым происходит связывание.
Object - ссылочный указатель на объект, который будет обрабатывать событие. Если указатель равен NULL, то генерируется исключение Cntm::NullArgException.
Method - указатель на метод обработчика. Сигнатура метода должна полностью совпадать с сигнатурой события, в противном случае будет выдана ошибка компиляции.
Space (опциональный) - синхропространство, в котором будет выполняться обработчик. Если оно явно не указано, то определяется следующим образом. Если объект обработчика является синхрообъектом (см. класс Cntm::SynchroObject), то синхропространство берется из свойства Space() этого объекта. В противном случае используется главное синхропространство (см. Cntm::SynchroSpace::Main()). Если главного синхропространства нет (Cntm::SynchroSpace::Main() возвращает NULL), то генерируется исключение Cntm::IllegalStateException.

См. определение в файле EventLink.h строка 129

Перекрестные ссылки Cntm::RefPtr< T >::Pointer().

template<typename SignatureT, typename ClassT>
void Cntm::EventLink::Attach ( DeferEvent< SignatureT > &  Event,
ClassT *  Object,
typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer  Method,
const SynchroSpace::Ptr Space = SynchroSpace::Ptr() 
) [inline]

Установка нового значения в объект связи, при этом старая связь разрушается.

В качестве параметров указывается объект отложенного события, обычный указатель на объект обработчика, указатель на метод обработчика, ссылочный указатель на синхропространство (опционально).

Исключения: Cntm::NullArgException - если указатель на объект обработчика равен NULL; Cntm::IllegalStateException - если не удалось определить синхропространство в котором будет вызван обработчик (явно не задано и не создано главное синхропространство).

Аргументы:
Event - ссылка на объект отложенного события, т.е. должен передаваться объект события, с которым происходит связывание.
Object - обычный указатель на объект, который будет обрабатывать событие. Если указатель равен NULL, то генерируется исключение Cntm::NullArgException.
Method - указатель на метод обработчика. Сигнатура метода должна полностью совпадать с сигнатурой события, в противном случае будет выдана ошибка компиляции.
Space (опциональный) - синхропространство, в котором будет выполняться обработчик. Если оно явно не указано, то определяется следующим образом. Если объект обработчика является синхрообъектом (см. класс Cntm::SynchroObject), то синхропространство берется из свойства Space() этого объекта. В противном случае используется главное синхропространство (см. Cntm::SynchroSpace::Main()). Если главного синхропространства нет (Cntm::SynchroSpace::Main() возвращает NULL), то генерируется исключение Cntm::IllegalStateException.

См. определение в файле EventLink.h строка 150

template<typename SignatureT, typename ClassT>
void Cntm::EventLink::Attach ( DirectEvent< SignatureT > &  Event,
RefPtr< ClassT >  Object,
typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer  Method 
) [inline]

Установка нового значения в объект связи, при этом старая связь разрушается.

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

Исключения: Cntm::NullArgException - если указатель на объект обработчика равен NULL;

Аргументы:
Event - ссылка на объект прямого события, т.е. должен передаваться объект события, с которым происходит связывание.
Object - ссылочный указатель на объект, который будет обрабатывать событие. Если указатель равен NULL, то генерируется исключение Cntm::NullArgException.
Method - указатель на метод обработчика. Сигнатура метода должна полностью совпадать с сигнатурой события, в противном случае будет выдана ошибка компиляции.

См. определение в файле EventLink.h строка 169

Перекрестные ссылки Cntm::RefPtr< T >::Pointer().

template<typename SignatureT, typename ClassT>
void Cntm::EventLink::Attach ( DirectEvent< SignatureT > &  Event,
ClassT *  Object,
typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer  Method 
) [inline]

Установка нового значения в объект связи, при этом старая связь разрушается.

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

Исключения: Cntm::NullArgException - если указатель на объект обработчика равен NULL;

Аргументы:
Event - ссылка на объект прямого события, т.е. должен передаваться объект события, с которым происходит связывание.
Object - обычный указатель на объект, который будет обрабатывать событие. Если указатель равен NULL, то генерируется исключение Cntm::NullArgException.
Method - указатель на метод обработчика. Сигнатура метода должна полностью совпадать с сигнатурой события, в противном случае будет выдана ошибка компиляции.

См. определение в файле EventLink.h строка 187

void Cntm::EventLink::Detach (  )  [inline]

Разрушить текущую связь.

После вызова объект содержит пустую связь.

См. определение в файле EventLink.h строка 198


Объявления и описания членов класса находятся в файле:
SourceForge.net Logo
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой  doxygen 1.5.3