#include <cpdf.h>
Public Member Functions | |
| PageTreeNodeObserver (CPdf *_pdf) | |
| virtual | ~PageTreeNodeObserver () throw () |
| virtual void | notify (boost::shared_ptr< IProperty > newValue, boost::shared_ptr< const observer::IChangeContext< IProperty > > context) const throw () |
| virtual observer::IObserver < IProperty >::priority_t | getPriority () const throw () |
Private Attributes | |
| CPdf * | |
Observer for page tree node synchronization.
This observer is responsible for intermediate page tree node change handling. From all changes in node's dictionary just Kids array property is monitored. If this property is replaced, added or removed or if it is reference property and reference its value is changed, notify method will handle change.
Note that this observer handles whole Kids property change. Kids array content is not handled here (this is done in PageTreeKidsObserver).
| pdfobjects::CPdf::PageTreeNodeObserver::PageTreeNodeObserver | ( | CPdf * | _pdf | ) | [inline] |
| virtual pdfobjects::CPdf::PageTreeNodeObserver::~PageTreeNodeObserver | ( | ) | throw () [inline, virtual] |
Empty destructor.
| virtual observer::IObserver<IProperty>::priority_t pdfobjects::CPdf::PageTreeNodeObserver::getPriority | ( | ) | const throw () [inline, virtual] |
Reurns observer priority.
Implements observer::IObserver< IProperty >.
| void pdfobjects::CPdf::PageTreeNodeObserver::notify | ( | boost::shared_ptr< IProperty > | newValue, | |
| boost::shared_ptr< const observer::IChangeContext< IProperty > > | context | |||
| ) | const throw () [virtual] |
Observer handler.
| newValue | New value of changed property. | |
| context | Context of the change. |
This observer handles change in page tree node.
Handling depends on given context type:
In any case:
References observer::BasicChangeContextType, observer::ComplexChangeContextType, debug::DBG_CRIT, debug::DBG_DBG, debug::DBG_ERR, debug::DBG_WARN, pdfobjects::CNullFactory::getInstance(), observer::IObserver< IProperty >::isActive(), pdfobjects::isArray(), pdfobjects::isDict(), pdfobjects::isNull(), pdfobjects::isRef(), kernelPrintDbg, REGISTER_SHAREDPTR_OBSERVER, and UNREGISTER_SHAREDPTR_OBSERVER.
CPdf* pdfobjects::CPdf::PageTreeNodeObserver::pdf [private] |
Pdf instance. This instance is used as page tree holder, so watch dog uses it to handle changes.