#include <pubsub.hpp>
Открытые члены | |
| Subscriber () | |
| Создает объект. | |
| virtual | ~Subscriber () |
| Проходит по списку издателей и отписывается от каждого из них. | |
| virtual bool | regularMsg (const Publisher< M > &pub, const M &msg) |
| Данная функция может быть переопределена пользователем для обработки сообщений издателя, посылаемых им из send(). | |
| virtual void | subscribedMsg (const Publisher< M > &pub) |
| Данная функция может быть переопределена пользователем для получения сообщений о подписке. | |
| virtual void | unsubscribedMsg (const Publisher< M > &pub) |
| Данная функция может быть переопределена пользователем для получения сообщений о прекращении подписки. | |
Закрытые типы | |
| typedef std::list< Publisher< M > * > | list_type |
| определение типа для краткости | |
Закрытые члены | |
| Subscriber (const Subscriber &) | |
| запрещаем копирование. | |
| Subscriber & | operator= (const Subscriber &) |
| запрещаем присваивание. | |
Закрытые данные | |
| list_type | pubs |
| список издателей, на сообщения которых подписан данный подписчик | |
Друзья | |
| class | Publisher< M > |
Пользователь должен создать производный класс и переопределить виртуальные функции, соответствующие тем сообщениям, которые он хочет получать. Класс Subscriber автоматически ведет список всех издателей, на сообщения которых он подписан, для корректной отписки в деструкторе.
См. определение в файле pubsub.hpp строка 136
|
|||||
|
определение типа для краткости
См. определение в файле pubsub.hpp строка 140 |
|
||||||||||
|
запрещаем копирование.
|
|
|||||||||
|
Создает объект.
См. определение в файле pubsub.hpp строка 153
00153 {}
|
|
|||||||||
|
Проходит по списку издателей и отписывается от каждого из них. Переопределенная пользователем Функция unsubscribedMsg() при этом не вызывается. См. определение в файле pubsub.hpp строка 255 Перекрестные ссылки Subscriber< M >::pubs.
|
|
||||||||||
|
запрещаем присваивание.
|
|
||||||||||||||||
|
Данная функция может быть переопределена пользователем для обработки сообщений издателя, посылаемых им из send(). Если она вернет false, то подписчик будет сразу же отписан (с вызовом unsubscribedMsg()). Объект-издатель передается по константной ссылке pub для предотвращения его изменения в процессе передачи сообщения подписчикам, т.к. это может привести к ошибкам. Все исключения, возбуженные regularMsg(), будут проигнорированы. Переопределяется в Finder, Finder, Logger, Logger, Logger и Sub. См. определение в файле pubsub.hpp строка 264 Используется в Publisher< M >::send().
00265 {
00266 return 1;
00267 }
|
|
||||||||||
|
Данная функция может быть переопределена пользователем для получения сообщений о подписке. Объект-издатель передается по константной ссылке pub для предотвращения его изменения в процессе передачи сообщения подписчикам, т.к. это может привести к ошибкам. Все исключения, возбуженные subscribedMsg(), будут проигнорированы. Переопределяется в Sub. См. определение в файле pubsub.hpp строка 270 Используется в Publisher< M >::subscribe().
00271 {
00272 }
|
|
||||||||||
|
Данная функция может быть переопределена пользователем для получения сообщений о прекращении подписки. Объект-издатель передается по константной ссылке pub для предотвращения его изменения в процессе передачи сообщения подписчикам, т.к. это может привести к ошибкам. Все исключения, возбуженные unsubscribedMsg(), будут проигнорированы. Переопределяется в Sub. См. определение в файле pubsub.hpp строка 275 Используется в Publisher< M >::unsubscribe() и Publisher< M >::~Publisher().
00276 {
00277 }
|
|
|||||
|
список издателей, на сообщения которых подписан данный подписчик
См. определение в файле pubsub.hpp строка 142 Используется в Publisher< M >::subscribe(), Publisher< M >::unsubscribe(), Publisher< M >::~Publisher() и Subscriber< M >::~Subscriber(). |
1.3