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

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


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

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

В качестве события используется либо отложенное либо прямое событие (см. классы Cntm::DeferEvent и Cntm::DirectEvent). Выполняет теже функции, что и обычная связь (см. класс Cntm::EventLink), но может хранить сразу несколько связей. Операция Attach() добавляет новую связь к группе, при этом старые связи сохраняются. Операция Detach() влияет на всю группу, она уничтожает все связи, присутствующие на данный момент в группе.

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

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

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

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

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

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


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

 EventLinksGroup ()
 Конструктор по умолчанию.
template<typename SignatureT, typename ClassT>
 EventLinksGroup (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>
 EventLinksGroup (DeferEvent< SignatureT > &Event, ClassT *Object, typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer Method, const SynchroSpace::Ptr &Space=SynchroSpace::Ptr())
 Конструктор инициализации связи.
template<typename SignatureT, typename ClassT>
 EventLinksGroup (DirectEvent< SignatureT > &Event, RefPtr< ClassT > Object, typename SignatureInfo< SignatureT >::template Method< ClassT >::Pointer Method)
 Конструктор инициализации связи.
template<typename SignatureT, typename ClassT>
 EventLinksGroup (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 ()
 Разрушить все связи, хранящиеся в группе.

Классы

class  HandlerStorage
 Класс эл-та однонаправленного списка, используемый для хранения связи.

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

Cntm::EventLinksGroup::EventLinksGroup (  )  [inline]

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

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

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

template<typename SignatureT, typename ClassT>
Cntm::EventLinksGroup::EventLinksGroup ( 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.

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

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

template<typename SignatureT, typename ClassT>
Cntm::EventLinksGroup::EventLinksGroup ( 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Методы

template<typename SignatureT, typename ClassT>
void Cntm::EventLinksGroup::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.

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

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

template<typename SignatureT, typename ClassT>
void Cntm::EventLinksGroup::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.

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

template<typename SignatureT, typename ClassT>
void Cntm::EventLinksGroup::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 - указатель на метод обработчика. Сигнатура метода должна полностью совпадать с сигнатурой события, в противном случае будет выдана ошибка компиляции.

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

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

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

Добавление новой связи к группе.

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

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

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

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

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

Разрушить все связи, хранящиеся в группе.

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

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


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