00001 #ifndef DOMUserDataHandler_HEADER_GUARD_
00002 #define DOMUserDataHandler_HEADER_GUARD_
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 #include <xercesc/util/XercesDefs.hpp>
00025 #include <xercesc/dom/DOMNode.hpp>
00026 
00027 XERCES_CPP_NAMESPACE_BEGIN
00028 
00041 class  DOMUserDataHandler {
00042 protected:
00043     
00044     
00045     
00048     DOMUserDataHandler() {};
00050 
00051 private:
00052     
00053     
00054     
00057     DOMUserDataHandler(const DOMUserDataHandler &);
00058     DOMUserDataHandler & operator = (const DOMUserDataHandler &);
00060 
00061 public:
00062     
00063     
00064     
00071     virtual ~DOMUserDataHandler() {};
00073 
00074     
00075     
00076     
00098     enum DOMOperationType {
00099         NODE_CLONED               = 1,
00100         NODE_IMPORTED             = 2,
00101         NODE_DELETED              = 3,
00102         NODE_RENAMED              = 4
00103     };
00105 
00106 
00107     
00108     
00109     
00126     virtual void handle(DOMOperationType operation,
00127                         const XMLCh* const key,
00128                         void* data,
00129                         const DOMNode* src,
00130                         const DOMNode* dst) = 0;
00131 
00133 
00134 };
00135 
00136 XERCES_CPP_NAMESPACE_END
00137 
00138 #endif
00139