# 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