В качестве события используется либо отложенное либо прямое событие (см. классы 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] |
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().
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
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().
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
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().
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
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().
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().
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой 1.5.3 |