00001 /*
00002 * Copyright (C) 2004-2006 Autodesk, Inc.
00003 *
00004 * This library is free software; you can redistribute it and/or
00005 * modify it under the terms of version 2.1 of the GNU Lesser
00006 * General Public License as published by the Free Software Foundation.
00007 *
00008 * This library is distributed in the hope that it will be useful,
00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00011 * Lesser General Public License for more details.
00012 *
00013 * You should have received a copy of the GNU Lesser General Public
00014 * License along with this library; if not, write to the Free Software
00015 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
00016 *
00017 */
00018 #ifndef FdoWmsOvClassDefinition_H
00019 #define FdoWmsOvClassDefinition_H
00020
00021 #ifdef _WIN32
00022 #pragma once
00023 #endif //_WIN32
00024
00025 #include <WMS/FdoWmsOvProvider.h>
00026 #include <WMS/Override/FdoWmsOvRasterDefinition.h>
00027
00028 /// \brief
00029 ///
00030 /// The FdoWmsOvClassDefinition class defines mapping overrides for a
00031 /// WMS feature class that exposes WMS layers as an FDO class. The
00032 /// properties defined here will be used in the WMS Getap operation
00033 /// when querying data from the WMS server.
00034 class FdoWmsOvClassDefinition : public FdoPhysicalClassMapping
00035 {
00036 typedef FdoPhysicalClassMapping BaseType;
00037
00038 public:
00039 /// \brief
00040 /// Constructs a new empty WMS physical mapping class definition.
00041 ///
00042 /// \return
00043 /// Returns the newly created FdoWmsOvClassDefinition instance.
00044 ///
00045 FDOWMS_API static FdoWmsOvClassDefinition* Create();
00046
00047 /// \brief
00048 /// Gets the physical overrides for a raster property definition.
00049 ///
00050 /// \return
00051 /// Returns the raster definition.
00052 ///
00053 FDOWMS_API FdoWmsOvRasterDefinition* GetRasterDefinition();
00054
00055 /// \brief
00056 /// Sets the physical overrides for a raster property definition.
00057 ///
00058 /// \param rasterDefinition
00059 /// Input raster definition
00060 ///
00061 /// \return
00062 /// Returns nothing
00063 ///
00064 FDOWMS_API void SetRasterDefinition(FdoWmsOvRasterDefinition* rasterDefinition);
00065
00066 /// \brief
00067 /// Gets the fully qualified name of this element
00068 ///
00069 /// \return
00070 /// Returns the qualified element name
00071 ///
00072 FDOWMS_API virtual FdoStringP GetQualifiedName();
00073
00074 /// \cond DOXYGEN-IGNORE
00075
00076 /// XML Serialization functions, not part of supported API.
00077 FDOWMS_API virtual void InitFromXml(FdoXmlSaxContext* pContext, FdoXmlAttributeCollection* attrs);
00078 FDOWMS_API virtual FdoXmlSaxHandler* XmlStartElement(
00079 FdoXmlSaxContext* context,
00080 FdoString* uri,
00081 FdoString* name,
00082 FdoString* qname,
00083 FdoXmlAttributeCollection* atts
00084 );
00085 FDOWMS_API virtual FdoBoolean XmlEndElement(FdoXmlSaxContext* context, FdoString* uri, FdoString* name, FdoString* qname);
00086 FDOWMS_API void _writeXml( FdoXmlWriter* xmlWriter, const FdoXmlFlags* flags );
00087
00088 protected:
00089 FDOWMS_API FdoWmsOvClassDefinition(void);
00090 FDOWMS_API virtual ~FdoWmsOvClassDefinition(void);
00091 void Dispose(void);
00092
00093 private:
00094 FdoWmsOvRasterDefinitionP m_rasterDefinition;
00095
00096 /// \endcond
00097
00098 };
00099
00100 /// \brief
00101 /// FdoWmsOvClassDefinitionP is a FdoPtr on FdoWmsOvClassDefinition, provided for convenience.
00102 typedef FdoPtr<FdoWmsOvClassDefinition> FdoWmsOvClassDefinitionP;
00103
00104 #endif
00105
00106