secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/framework/XMLNotationDecl.hpp
changeset 0 ba25891c3a9e
child 1 c42dffbd5b4f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/framework/XMLNotationDecl.hpp	Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,247 @@
+/*
+* 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: 
+*
+*/
+/*
+ * 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: XMLNotationDecl.hpp 568078 2007-08-21 11:43:25Z amassari $
+ */
+
+#if !defined(XMLNOTATIONDECL_HPP)
+#define XMLNOTATIONDECL_HPP
+
+#include <xercesc/util/XMemory.hpp>
+#include <xercesc/util/PlatformUtils.hpp>
+#include <xercesc/util/XMLString.hpp>
+#include <xercesc/internal/XSerializable.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+/**
+ *  This class represents the core information about a notation declaration
+ *  that all validators must at least support. Each validator will create a
+ *  derivative of this class which adds any information it requires for its
+ *  own extra needs.
+ *
+ *  At this common level, the information supported is the notation name
+ *  and the public and sysetm ids indicated in the notation declaration.
+ */
+class XMLPARSER_EXPORT XMLNotationDecl : public XSerializable, public XMemory
+{
+public:
+    // -----------------------------------------------------------------------
+    //  Constructors and Destructor
+    // -----------------------------------------------------------------------
+
+    /** @name Constructors */
+    //@{
+    XMLNotationDecl(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
+    XMLNotationDecl
+    (
+        const   XMLCh* const    notName
+        , const XMLCh* const    pubId
+        , const XMLCh* const    sysId
+        , const XMLCh* const    baseURI = 0
+        , MemoryManager* const  manager = XMLPlatformUtils::fgMemoryManager
+    );
+    //@}
+
+    /** @name Destructor */
+    //@{
+    ~XMLNotationDecl();
+    //@}
+
+
+    // -----------------------------------------------------------------------
+    //  Getter methods
+    // -----------------------------------------------------------------------
+    unsigned int getId() const;
+    const XMLCh* getName() const;
+    const XMLCh* getPublicId() const;
+    const XMLCh* getSystemId() const;
+    const XMLCh* getBaseURI() const;
+    unsigned int getNameSpaceId() const;
+    MemoryManager* getMemoryManager() const;
+
+
+    // -----------------------------------------------------------------------
+    //  Setter methods
+    // -----------------------------------------------------------------------
+    void setId(const unsigned int newId);
+    void setName
+    (
+        const   XMLCh* const    notName
+    );
+    void setPublicId(const XMLCh* const newId);
+    void setSystemId(const XMLCh* const newId);
+    void setBaseURI(const XMLCh* const newId);
+    void setNameSpaceId(const unsigned int newId);
+
+    // -----------------------------------------------------------------------
+    //  Support named collection element semantics
+    // -----------------------------------------------------------------------
+    const XMLCh* getKey() const;
+
+    /***
+     * Support for Serialization/De-serialization
+     ***/
+    DECL_XSERIALIZABLE(XMLNotationDecl)
+
+private :
+    // -----------------------------------------------------------------------
+    //  Unimplemented constructors and operators
+    // -----------------------------------------------------------------------
+    XMLNotationDecl(const XMLNotationDecl&);
+    XMLNotationDecl& operator=(const XMLNotationDecl&);
+
+
+    // -----------------------------------------------------------------------
+    //  XMLNotationDecl: Private helper methods
+    // -----------------------------------------------------------------------
+    void cleanUp();
+
+
+    // -----------------------------------------------------------------------
+    //  Private data members
+    //
+    //  fId
+    //      This is the unique id given to this notation decl.
+    //
+    //  fName
+    //      The notation's name, which identifies the type of notation it
+    //      applies to.
+    //
+    //  fPublicId
+    //      The text of the notation's public id, if any.
+    //
+    //  fSystemId
+    //      The text of the notation's system id, if any.
+    //
+    //  fBaseURI
+    //      The text of the notation's base URI
+    // -----------------------------------------------------------------------
+    unsigned int    fId;
+    unsigned int    fNameSpaceId;
+	XMLCh*          fName;
+    XMLCh*          fPublicId;
+    XMLCh*          fSystemId;
+    XMLCh*          fBaseURI;
+    MemoryManager*  fMemoryManager;
+};
+
+
+// -----------------------------------------------------------------------
+//  Getter methods
+// -----------------------------------------------------------------------
+inline unsigned int XMLNotationDecl::getId() const
+{
+    return fId;
+}
+
+inline const XMLCh* XMLNotationDecl::getName() const
+{
+    return fName;
+}
+
+inline unsigned int XMLNotationDecl::getNameSpaceId() const
+{
+    return fNameSpaceId;
+}
+
+inline const XMLCh* XMLNotationDecl::getPublicId() const
+{
+    return fPublicId;
+}
+
+inline const XMLCh* XMLNotationDecl::getSystemId() const
+{
+    return fSystemId;
+}
+
+inline const XMLCh* XMLNotationDecl::getBaseURI() const
+{
+    return fBaseURI;
+}
+
+inline MemoryManager* XMLNotationDecl::getMemoryManager() const
+{
+    return fMemoryManager;
+}
+
+// -----------------------------------------------------------------------
+//  Setter methods
+// -----------------------------------------------------------------------
+inline void XMLNotationDecl::setId(const unsigned int newId)
+{
+    fId = newId;
+}
+
+inline void XMLNotationDecl::setNameSpaceId(const unsigned int newId)
+{
+    fNameSpaceId = newId;
+}
+
+inline void XMLNotationDecl::setPublicId(const XMLCh* const newId)
+{
+    if (fPublicId)
+        fMemoryManager->deallocate(fPublicId);
+
+    fPublicId = XMLString::replicate(newId, fMemoryManager);
+}
+
+inline void XMLNotationDecl::setSystemId(const XMLCh* const newId)
+{
+    if (fSystemId)
+        fMemoryManager->deallocate(fSystemId);
+
+    fSystemId = XMLString::replicate(newId, fMemoryManager);
+}
+
+inline void XMLNotationDecl::setBaseURI(const XMLCh* const newId)
+{
+    if (fBaseURI)
+        fMemoryManager->deallocate(fBaseURI);
+
+    fBaseURI = XMLString::replicate(newId, fMemoryManager);
+}
+
+
+// ---------------------------------------------------------------------------
+//  XMLNotationDecl: Support named pool element semantics
+// ---------------------------------------------------------------------------
+inline const XMLCh* XMLNotationDecl::getKey() const
+{
+    return fName;
+}
+
+XERCES_CPP_NAMESPACE_END
+
+#endif