diff -r 000000000000 -r ba25891c3a9e secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/dom/DOMUserDataHandler.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/dom/DOMUserDataHandler.hpp Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,156 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ +#ifndef DOMUserDataHandler_HEADER_GUARD_ +#define DOMUserDataHandler_HEADER_GUARD_ + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * $Id: DOMUserDataHandler.hpp 568078 2007-08-21 11:43:25Z amassari $ + */ + +#include +#include + +XERCES_CPP_NAMESPACE_BEGIN + +/** + * When associating an object to a key on a node using setUserData + * the application can provide a handler that gets called when the node the + * object is associated to is being cloned or imported. This can be used by + * the application to implement various behaviors regarding the data it + * associates to the DOM nodes. This interface defines that handler. + * + *

"Experimental - subject to change"

+ * + *

See also the Document Object Model (DOM) Level 3 Core Specification. + * @since DOM Level 3 + */ +class CDOM_EXPORT DOMUserDataHandler { +protected: + // ----------------------------------------------------------------------- + // Hidden constructors + // ----------------------------------------------------------------------- + /** @name Hidden constructors */ + //@{ + DOMUserDataHandler() {}; + //@} + +private: + // ----------------------------------------------------------------------- + // Unimplemented constructors and operators + // ----------------------------------------------------------------------- + /** @name Unimplemented constructors and operators */ + //@{ + DOMUserDataHandler(const DOMUserDataHandler &); + DOMUserDataHandler & operator = (const DOMUserDataHandler &); + //@} + +public: + // ----------------------------------------------------------------------- + // All constructors are hidden, just the destructor is available + // ----------------------------------------------------------------------- + /** @name Destructor */ + //@{ + /** + * Destructor + * + */ + virtual ~DOMUserDataHandler() {}; + //@} + + // ----------------------------------------------------------------------- + // Class Types + // ----------------------------------------------------------------------- + /** @name Public Constants */ + //@{ + /** + * Operation Type + * + *

NODE_CLONED: + * The node is cloned.

+ * + *

NODE_IMPORTED + * The node is imported.

+ * + *

NODE_DELETED + * The node is deleted.

+ * + *

NODE_RENAMED + * The node is renamed. + * + *

"Experimental - subject to change"

+ * + * @since DOM Level 3 + */ + enum DOMOperationType { + NODE_CLONED = 1, + NODE_IMPORTED = 2, + NODE_DELETED = 3, + NODE_RENAMED = 4 + }; + //@} + + + // ----------------------------------------------------------------------- + // Virtual DOMUserDataHandler interface + // ----------------------------------------------------------------------- + /** @name Functions introduced in DOM Level 3 */ + //@{ + /** + * This method is called whenever the node for which this handler is + * registered is imported or cloned. + * + *

"Experimental - subject to change"

+ * + * @param operation Specifies the type of operation that is being + * performed on the node. + * @param key Specifies the key for which this handler is being called. + * @param data Specifies the data for which this handler is being called. + * @param src Specifies the node being cloned, imported, or renamed. + * @param dst Specifies the node newly created. + * @since DOM Level 3 + */ + virtual void handle(DOMOperationType operation, + const XMLCh* const key, + void* data, + const DOMNode* src, + const DOMNode* dst) = 0; + + //@} + +}; + +XERCES_CPP_NAMESPACE_END + +#endif +