SourceForge.net Logo

DOMUserDataHandler.hpp

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  * 
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  * 
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 /*
00019  * $Id: DOMUserDataHandler.hpp 527149 2007-04-10 14:56:39Z amassari $
00020  */
00021 
00022 #if !defined(XERCESC_INCLUDE_GUARD_DOMUSERDATAHANDLER_HPP)
00023 #define XERCESC_INCLUDE_GUARD_DOMUSERDATAHANDLER_HPP
00024 
00025 #include <xercesc/util/XercesDefs.hpp>
00026 #include <xercesc/dom/DOMNode.hpp>
00027 
00028 XERCES_CPP_NAMESPACE_BEGIN
00029 
00040 class CDOM_EXPORT DOMUserDataHandler {
00041 protected:
00042     // -----------------------------------------------------------------------
00043     //  Hidden constructors
00044     // -----------------------------------------------------------------------
00047     DOMUserDataHandler() {};
00049 
00050 private:
00051     // -----------------------------------------------------------------------
00052     // Unimplemented constructors and operators
00053     // -----------------------------------------------------------------------
00056     DOMUserDataHandler(const DOMUserDataHandler &);
00057     DOMUserDataHandler & operator = (const DOMUserDataHandler &);
00059 
00060 public:
00061     // -----------------------------------------------------------------------
00062     //  All constructors are hidden, just the destructor is available
00063     // -----------------------------------------------------------------------
00070     virtual ~DOMUserDataHandler() {};
00072 
00073     // -----------------------------------------------------------------------
00074     //  Class Types
00075     // -----------------------------------------------------------------------
00098     enum DOMOperationType {
00099         NODE_CLONED               = 1,
00100         NODE_IMPORTED             = 2,
00101         NODE_DELETED              = 3,
00102         NODE_RENAMED              = 4,
00103         NODE_ADOPTED              = 5
00104     };
00106 
00107 
00108     // -----------------------------------------------------------------------
00109     //  Virtual DOMUserDataHandler interface
00110     // -----------------------------------------------------------------------
00127     virtual void handle(DOMOperationType operation,
00128                         const XMLCh* const key,
00129                         void* data,
00130                         const DOMNode* src,
00131                         DOMNode* dst) = 0;
00132 
00134 
00135 };
00136 
00137 XERCES_CPP_NAMESPACE_END
00138 
00139 #endif
00140