00001 #ifndef DOMUserDataHandler_HEADER_GUARD_00002 #define DOMUserDataHandler_HEADER_GUARD_00003
00004 /*00005 * Licensed to the Apache Software Foundation (ASF) under one or more00006 * contributor license agreements. See the NOTICE file distributed with00007 * this work for additional information regarding copyright ownership.00008 * The ASF licenses this file to You under the Apache License, Version 2.000009 * (the "License"); you may not use this file except in compliance with00010 * the License. You may obtain a copy of the License at00011 * 00012 * http://www.apache.org/licenses/LICENSE-2.000013 * 00014 * Unless required by applicable law or agreed to in writing, software00015 * distributed under the License is distributed on an "AS IS" BASIS,00016 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.00017 * See the License for the specific language governing permissions and00018 * limitations under the License.00019 */00020
00021 /*00022 * $Id: DOMUserDataHandler.hpp 568078 2007-08-21 11:43:25Z amassari $00023 */00024
00025 #include <xercesc/util/XercesDefs.hpp>00026 #include <xercesc/dom/DOMNode.hpp>00027
00028 XERCES_CPP_NAMESPACE_BEGIN00029
00042class DOMUserDataHandler {
00043 protected:
00044 // -----------------------------------------------------------------------00045 // Hidden constructors00046 // -----------------------------------------------------------------------00049DOMUserDataHandler() {};
00051
00052 private:
00053 // -----------------------------------------------------------------------00054 // Unimplemented constructors and operators00055 // -----------------------------------------------------------------------00058 DOMUserDataHandler(constDOMUserDataHandler &);
00059 DOMUserDataHandler & operator = (constDOMUserDataHandler &);
00061
00062 public:
00063 // -----------------------------------------------------------------------00064 // All constructors are hidden, just the destructor is available00065 // -----------------------------------------------------------------------00072virtual ~DOMUserDataHandler() {};
00074
00075 // -----------------------------------------------------------------------00076 // Class Types00077 // -----------------------------------------------------------------------00099enumDOMOperationType {
00100 NODE_CLONED = 1,
00101 NODE_IMPORTED = 2,
00102 NODE_DELETED = 3,
00103 NODE_RENAMED = 4
00104 };
00106
00107
00108 // -----------------------------------------------------------------------00109 // Virtual DOMUserDataHandler interface00110 // -----------------------------------------------------------------------00127 virtualvoid handle(DOMOperationType operation,
00128 const XMLCh* const key,
00129 void* data,
00130 constDOMNode* src,
00131 constDOMNode* dst) = 0;
00132
00134
00135 };
00136
00137 XERCES_CPP_NAMESPACE_END00138
00139 #endif00140