#include <vector>#include <algorithm>#include <boost/shared_ptr.hpp>#include <iostream>#include "os/compiler.h"#include "utils/debug.h"| #define PRINT_DEBUG_INFO | ( | obj, | |||
| observer, | |||||
| prefix | ) | do {} while(0) |
| #define REGISTER_PTR_OBSERVER | ( | obj, | |||
| observer | ) |
do { \ PRINT_DEBUG_INFO((obj), (observer), "registerObserver");\ obj->registerObserver(observer);\ }while(0)
Wrapper for observer registration.
| obj | Observer handler (simple pointer to ObserverHandler). | |
| observer | Observer to be registered (simple pointer to IObserver). |
Note that this way of observer registration is preffered because of possible debug information.
Don't use expression parameters with side effects (e.g. ++i etc.), because they may be executed more than once (if debuging is used).
| #define REGISTER_SHAREDPTR_OBSERVER | ( | obj, | |||
| observer | ) |
do { \ PRINT_DEBUG_INFO((obj).get(), (observer).get(), "registerObserver");\ obj->registerObserver(observer);\ }while(0)
Wrapper for observer registration.
| obj | Observer handler (ObserverHandler wrapped by shared_ptr). | |
| observer | Observer to be registered (IObserver wrapped by shared_ptr). |
Note that this way of observer registration is preffered because of possible debug information.
Don't use expression parameters with side effects (e.g. ++i etc.), because they may be executed more than once (if debuging is used).
Referenced by pdfobjects::CPageAnnots::add(), gui::TreeItemPage::initObserver(), pdfobjects::CPdf::initRevisionSpecific(), pdfobjects::CPdf::PageTreeKidsObserver::notify(), pdfobjects::CPdf::PageTreeNodeObserver::notify(), pdfobjects::CPdf::PageTreeRootObserver::notify(), pdfobjects::CPageAnnots::PropWatchDog::notify(), pdfobjects::CPageAnnots::ArrayWatchDog::notify(), pdfobjects::CPageContents::reg_observer(), pdfobjects::CContentStream::registerCStreamObservers(), and pdfobjects::CPdf::registerPageTreeObservers().
| #define UNREGISTER_PTR_OBSERVER | ( | obj, | |||
| observer | ) |
do { \ PRINT_DEBUG_INFO((obj), (observer), "unregisterObserver");\ obj->unregisterObserver(observer);\ }while(0)
Wrapper for observer unregistration.
| obj | Observer handler (simple pointer to ObserverHandler). | |
| observer | Observer to be unregistered (simple pointer to IObserver). |
Note that this way of observer unregistration is preffered because of possible debug information.
Don't use expression parameters with side effects (e.g. ++i etc.), because they may be executed more than once (if debuging is used).
| #define UNREGISTER_SHAREDPTR_OBSERVER | ( | obj, | |||
| observer | ) |
do { \ PRINT_DEBUG_INFO((obj).get(), (observer).get(), "unregisterObserver");\ obj->unregisterObserver(observer);\ }while(0)
Wrapper for observer unregistration.
| obj | Observer handler (ObserverHandler wrapped by shared_ptr). | |
| observer | Observer to be registered (IObserver wrapped by shared_ptr). |
Note that this way of observer unregistration is preffered because of possible debug information.
Don't use expression parameters with side effects (e.g. ++i etc.), because they may be executed more than once (if debuging is used).
Referenced by pdfobjects::CPdf::PageTreeKidsObserver::notify(), pdfobjects::CPdf::PageTreeNodeObserver::notify(), pdfobjects::CPdf::PageTreeRootObserver::notify(), pdfobjects::CPageAnnots::PropWatchDog::notify(), pdfobjects::CPageAnnots::ArrayWatchDog::notify(), gui::TreeItemPage::uninitObserver(), pdfobjects::CPageContents::unreg_observer(), pdfobjects::CPageAnnots::unreg_observers(), pdfobjects::CContentStream::unregisterCStreamObservers(), pdfobjects::CPdf::unregisterPageObservers(), pdfobjects::CPdf::unregisterPageTreeObservers(), and pdfobjects::SimpleGenericOperator::~SimpleGenericOperator().