FDO .NET API Reference Feature Data Objects

mgIXmlSerializable.h

Go to the documentation of this file.
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 
00019 #pragma once
00020 
00021 BEGIN_NAMESPACE_OSGEO_FDO_XML
00022 public __gc class XmlFlags;
00023 
00024 /// \ingroup (OSGeoFDOXml)
00025 /// \interface OSGeo::FDO::Xml::IXmlSerializable
00026 /// \brief
00027 /// XmlSerializable provides the ability to serialize an FDO object 
00028 /// to an XML Document. Serialization support can be added to any class by basing
00029 /// it on XmlSerializable and implementing the _writeXml callback.
00030 public __gc __interface IXmlSerializable : public System::IDisposable
00031 {
00032 public:
00033     /// \brief
00034     /// Writes this object to a file. A complete XML document,
00035     /// containing this object, is written.
00036     /// 
00037     /// \param fileName 
00038     /// Input the file name.
00039     /// 
00040     System::Void WriteXml(String* fileName);
00041 
00042     /// \brief
00043     /// Writes this object to a file. A complete XML document,
00044     /// containing this object, is written.
00045     /// 
00046     /// \param fileName 
00047     /// Input the file name.
00048     /// \param flags 
00049     /// Input controls the writing of the elements to the document.
00050     /// If NULL then the default flags are used (see XmlFlags::Create())
00051     /// 
00052     System::Void WriteXml(String* fileName, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00053 
00054     /// \brief
00055     /// Writes to an XML writer. This object is appended to the XML document
00056     /// being written. Unlike the other WriteXml() functions it is not necessarily 
00057     /// the only object in its document.
00058     /// 
00059     /// \param xmlWriter 
00060     /// Input the XML writer. When this function completes, the
00061     /// XML writer's current position will be just after this object.
00062     /// 
00063     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_XML::XmlWriter* xmlWriter);
00064 
00065     /// \brief
00066     /// Writes to an XML writer. This object is appended to the XML document
00067     /// being written. Unlike the other WriteXml() functions it is not necessarily 
00068     /// the only object in its document.
00069     /// 
00070     /// \param xmlWriter 
00071     /// Input the XML writer. When this function completes, the
00072     /// XML writer's current position will be just after this object.
00073     /// \param flags 
00074     /// Input controls the writing of the elements to the writer.
00075     /// If NULL then the default flags are used (see XmlFlags::Create())
00076     /// 
00077     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_XML::XmlWriter* xmlWriter, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00078 
00079     /// \brief
00080     /// Writes to a text writer. A complete XML document,
00081     /// containing this object, is written.
00082     /// 
00083     /// \param textWriter 
00084     /// Input the text writer.When this function completes, the
00085     /// text writer's current position will be just after this object.
00086     /// 
00087     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_IO::IoTextWriter* textWriter);
00088 
00089     /// \brief
00090     /// Writes to a text writer. A complete XML document,
00091     /// containing this object, is written.
00092     /// 
00093     /// \param textWriter 
00094     /// Input the text writer.When this function completes, the
00095     /// text writer's current position will be just after this object.
00096     /// \param flags 
00097     /// Input controls the writing of the elements to the writer.
00098     /// If NULL then the default flags are used (see XmlFlags::Create())
00099     /// 
00100     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_IO::IoTextWriter* textWriter, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00101 
00102     /// \brief
00103     /// Writes to a stream. A complete XML document,
00104     /// containing this object, is written.
00105     /// 
00106     /// \param stream 
00107     /// Input the stream. When this function completes, the
00108     /// stream's current position will be just after this object.
00109     /// 
00110     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_IO::IoStream* stream);
00111 
00112     /// \brief
00113     /// Writes to a stream. A complete XML document,
00114     /// containing this object, is written.
00115     /// 
00116     /// \param stream 
00117     /// Input the stream. When this function completes, the
00118     /// stream's current position will be just after this object.
00119     /// \param flags 
00120     /// Input controls the writing of the elements to the stream.
00121     /// If NULL then the default flags are used (see XmlFlags::Create())
00122     /// 
00123     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_IO::IoStream* stream, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00124 
00125     /// \brief
00126     /// Gets the stylesheet for converting the XML document from 
00127     /// internal to external format. When classes derived from XmlSerializable
00128     /// define an internal format, they must override this function to return a
00129     /// stylesheet that does the conversion.
00130     /// 
00131     /// \return
00132     /// Returns NULL by default (no internal format defined)
00133     /// 
00134     NAMESPACE_OSGEO_COMMON_XML::XmlReader* GetFromInternalStylesheet();
00135 };
00136 
00137 END_NAMESPACE_OSGEO_FDO_XML
00138 
00139 

Comments or suggestions? Send us feedback.