FDO .NET API Reference Feature Data Objects

mgPhysicalSchemaMappingCollection.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 #include "FDO\Xml\mgIXmlDeserializable.h"
00022 #include "FDO\Xml\mgIXmlSerializable.h"
00023 
00024 class FdoPhysicalSchemaMappingCollection;
00025 
00026 BEGIN_NAMESPACE_OSGEO_COMMON_XML
00027 public __gc class XmlSaxContext;
00028 public __gc class XmlSaxHandler;
00029 public __gc class XmlAttributeCollection;
00030 END_NAMESPACE_OSGEO_COMMON_XML
00031 
00032 BEGIN_NAMESPACE_OSGEO_FDO_XML
00033 public __gc class XmlFlags;
00034 END_NAMESPACE_OSGEO_FDO_XML
00035 
00036 BEGIN_NAMESPACE_OSGEO_FDO_CONNECTIONS
00037 public __gc __interface IConnection;
00038 END_NAMESPACE_OSGEO_FDO_CONNECTIONS
00039 
00040 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA
00041 public __gc class PhysicalSchemaMapping;
00042 
00043 /// \ingroup (OSGeoFDOCommandsSchema)
00044 /// \brief
00045 /// PhysicalSchemaMappingCollection defines a collection of Schema Override
00046 /// sets. This is a generic collection which can contain override sets for different 
00047 /// FDO Providers.
00048 [System::Reflection::DefaultMemberAttribute("RealTypeItem")]
00049 public __sealed __gc class PhysicalSchemaMappingCollection : public NAMESPACE_OSGEO_RUNTIME::Disposable, public System::Collections::IList, public NAMESPACE_OSGEO_FDO_XML::IXmlDeserializable, public NAMESPACE_OSGEO_FDO_XML::IXmlSerializable
00050 {
00051 /// \cond DOXYGEN-IGNORE
00052 private:
00053     /// \brief
00054     /// A Nested class defined to provide enumeration of Dictionary elements
00055     ///
00056     /// Enumerators can be used to read the data in the collection, 
00057     /// but they cannot be used to modify the underlying collection.
00058     ///
00059     /// An enumerator remains valid as long as the collection remains unchanged. 
00060     /// If changes are made to the collection, such as adding, modifying, or deleting 
00061     /// elements, the enumerator is irrecoverably invalidated and the next call to 
00062     /// MoveNext or Reset throws an InvalidOperationException. If the collection is 
00063     /// modified between MoveNext and Current, Current returns the element that it is 
00064     /// set to, even if the enumerator is already invalidated.
00065     ///
00066     /// The enumerator does not have exclusive access to the collection; therefore, 
00067     /// enumerating through a collection is intrinsically not a thread-safe procedure. 
00068     /// Even when a collection is synchronized, other threads can still modify the 
00069     /// collection, which causes the enumerator to throw an exception. To guarantee 
00070     /// thread safety during enumeration, you can either lock the collection during 
00071     /// the entire enumeration or catch the exceptions resulting from changes made 
00072     /// by other threads.
00073     /// 
00074     __gc class Enumerator : public System::Collections::IEnumerator
00075     {
00076     private:
00077         PhysicalSchemaMappingCollection* m_pCol;
00078         System::Int32 m_nIdx;
00079 
00080     public:
00081         /// \brief
00082         /// Constructs a new Collection Enumerator
00083         /// 
00084         /// \param col 
00085         /// Input The collection to enumerate.
00086         /// 
00087         Enumerator(PhysicalSchemaMappingCollection* elements) : m_pCol(elements), m_nIdx(-1) 
00088         {
00089 
00090         }
00091 
00092         /// \brief
00093         /// Retrieves the current object at the enumerator location
00094         /// 
00095         /// \return
00096         /// Retuns the current object referenced by the enumerator
00097         /// 
00098         __property System::Object *get_Current();
00099 
00100         /// \brief
00101         /// Initially, the enumerator is positioned before the first object in the collection. 
00102         /// At this position, calling the Current property throws an exception. 
00103         /// Therefore, you must call the MoveNext method to advance the enumerator 
00104         /// to the first element of the collection before reading the value of Current.
00105         /// If MoveNext passes the end of the collection, the enumerator is positioned 
00106         /// after the last element in the collection and MoveNext returns false. 
00107         /// When the enumerator is at this position, subsequent calls to MoveNext also return false. 
00108         /// If the last call to MoveNext returned false, calling Current throws an exception. 
00109         /// To set Current to the first element of the collection again, you can call Reset 
00110         /// followed by MoveNext.
00111         /// 
00112         /// \return
00113         /// Retuns true if the Enumerator is able to move to a valid element
00114         /// otherwise false.
00115         /// 
00116         System::Boolean MoveNext();
00117 
00118         /// \brief
00119         /// Initially, the enumerator is positioned before the first element in the collection. 
00120         /// The Reset method brings the enumerator back to this position. 
00121         /// 
00122         System::Void Reset();
00123     };
00124 
00125 public private:
00126     PhysicalSchemaMappingCollection(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_RUNTIME::Disposable(unmanaged, autoDelete)
00127     {
00128 
00129     }
00130 
00131     inline FdoPhysicalSchemaMappingCollection* GetImpObj();
00132 
00133 private:
00134     // System::Collections::ICollection interface properties
00135     __property System::Object* System::Collections::ICollection::get_SyncRoot();
00136     __property System::Boolean System::Collections::ICollection::get_IsSynchronized();
00137 
00138     // System::Collections::ICollection interface methods
00139     System::Void System::Collections::ICollection::CopyTo(System::Array* array,System::Int32 index);
00140 
00141     // System::Collections::IList interface properties
00142     __property System::Boolean System::Collections::IList::get_IsFixedSize();
00143     __property System::Boolean System::Collections::IList::get_IsReadOnly();
00144     __property Object* System::Collections::IList::get_Item(System::Int32 index);
00145     __property System::Void  System::Collections::IList::set_Item(System::Int32 index, Object* value);
00146 
00147     // System::Collections::IList interface methods
00148     System::Int32 System::Collections::IList::Add(Object* value);
00149     System::Boolean System::Collections::IList::Contains(Object* value);
00150     System::Int32 System::Collections::IList::IndexOf(Object* value);
00151     System::Void System::Collections::IList::Insert(System::Int32 index, Object* value);
00152     System::Void System::Collections::IList::Remove(Object* value);
00153 /// \endcond
00154 
00155 public:
00156     /// \brief
00157     /// Constructs a new empty string collection
00158     /// 
00159     /// \return
00160     /// Returns StringCollection
00161     /// 
00162     ///
00163     PhysicalSchemaMappingCollection();
00164 
00165     /// \brief
00166     /// Gets the count of items in collection.
00167     /// 
00168     /// \return
00169     /// Returns the number of items in the collection.
00170     /// 
00171     __property System::Int32 get_Count(System::Void);
00172 
00173     /// \brief
00174     /// Gets an enumerator that can iterate through a collection.
00175     /// 
00176     /// \return
00177     /// Returns an enumerator on the dictionary.
00178     /// 
00179     __sealed System::Collections::IEnumerator* GetEnumerator(System::Void);
00180 
00181     /// \brief
00182     /// Removes the index-th PhysicalSchemaMapping from this collection.
00183     /// 
00184     /// \param index 
00185     /// Input index of the element to remove.
00186     /// 
00187     System::Void RemoveAt(System::Int32 index);
00188 
00189     /// \brief
00190     /// Removes all elements from the collection.
00191     /// 
00192     System::Void  Clear();
00193 
00194     /// \brief
00195     /// Adds a PhysicalSchemaMapping object into the collection.
00196     /// 
00197     /// \param value 
00198     /// Input the PhysicalSchemaMapping object to add.
00199     /// 
00200     /// \return
00201     /// Returns the position into which the new element was inserted.
00202     /// 
00203     System::Int32 Add(NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping* value);
00204 
00205     /// \brief
00206     /// Determines the index of a specific PhysicalSchemaMapping object.
00207     /// 
00208     /// \param value 
00209     /// Input the PhysicalSchemaMapping object to locate in the collection.
00210     /// 
00211     /// \return
00212     /// The index of value if found in the collection; otherwise, -1.
00213     /// 
00214     System::Int32 IndexOf(NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping* value);
00215 
00216     /// \brief
00217     /// Inserts a PhysicalSchemaMapping object into the collection at the specified position.
00218     /// 
00219     /// \param index 
00220     /// Input the zero-based index at which value should be inserted.
00221     /// \param value 
00222     /// Input the PhysicalSchemaMapping object to insert.
00223     /// 
00224     System::Void Insert(System::Int32 index, NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping* value);
00225 
00226     /// \brief
00227     /// Removes the first occurrence of a specific PhysicalSchemaMapping object.
00228     /// 
00229     /// \param value 
00230     /// Input the PhysicalSchemaMapping object to remove from the collection.
00231     /// 
00232     System::Void Remove(NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping* value);
00233 
00234     /// \brief
00235     /// Determines whether the collection contains a specific PhysicalSchemaMapping object.
00236     /// 
00237     /// \param value 
00238     /// Input The PhysicalSchemaMapping object to search in the collection.
00239     /// 
00240     /// \return
00241     /// Returns true if the value is found in the collection; otherwise, false.
00242     /// 
00243     System::Boolean Contains(NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping* value);
00244 
00245     /// \brief
00246     /// Copies the elements of the collection to an array.
00247     /// 
00248     /// \param array 
00249     /// Output the one-dimensional Array that is the destination of the elements copied from this collection.
00250     ///
00251     /// \param startAt 
00252     /// Input an integer that represents the index in array at which copying begins.
00253     /// 
00254     System::Void CopyTo(NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping* array[],System::Int32 startAt);
00255 
00256     /// \brief
00257     /// Gets the item in the collection at the specified index. 
00258     /// 
00259     /// \param index 
00260     /// The index of the item in the collection. The index is 0 based.
00261     /// 
00262     /// \return
00263     /// Returns an instance of a the collected item.
00264     /// Throws an instance of Exception if the index is out of range or an error occurs.
00265     /// 
00266     __property NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping* get_RealTypeItem(System::Int32 index);
00267 
00268     /// \brief
00269     /// Sets the value of the item at the specified index
00270     /// 
00271     /// \param index 
00272     /// Input index of the item to set.
00273     /// 
00274     /// \param value 
00275     /// Input the value of the item
00276     /// 
00277     __property System::Void  set_RealTypeItem(System::Int32 index, NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping* value);
00278 
00279     /// \brief
00280     /// Gets an item in the collection.
00281     /// 
00282     /// \param index 
00283     /// Input index of the item to retrieve.
00284     /// 
00285     /// \return
00286     /// Returns the item at the specified index
00287     /// 
00288     __property NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping* get_Item(System::Int32 index);
00289 
00290     /// \brief
00291     /// Sets the value of the item at the specified index
00292     /// 
00293     /// \param index 
00294     /// Input index of the item to set.
00295     /// 
00296     /// \param value 
00297     /// Input the value of the item
00298     /// 
00299     __property System::Void  set_Item(System::Int32 index, NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping* value);
00300 
00301     /* 
00302     *   Special interface implementation
00303     */
00304 
00305     /// \brief
00306     /// Gets the Schema Override set in the collection at the specified index. Throws an invalid argument exception if the index is out of range.
00307     /// 
00308     /// \param index 
00309     /// Input index
00310     /// 
00311     /// \return
00312     /// Returns the Schema Override set at the specified index
00313     /// 
00314     NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping* GetItem(System::Int32 index);
00315 
00316     /// \brief
00317     /// Gets the Schema Override set for the specified 
00318     /// FDO provider and Feature Schema.
00319     /// 
00320     /// \param providerName 
00321     /// Input FDO Provider name of the form "[Company].[Provider].[Version]".
00322     /// \param schemaName 
00323     /// Input Feature Schema name.
00324     /// 
00325     /// \return
00326     /// the Schema Override set for the given FDO Provider and Feature 
00327     /// Schema, where the  [company] and [provider] parts of the set’s providerName 
00328     /// and the given providerName match exactly. The set with the highest 
00329     /// [version], that is less than or equal to the [version] of the given provider, 
00330     /// is returned.  NULL is return if a set was not found.
00331     /// 
00332     NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping * GetItem(System::String* providerName, System::String* schemaName);
00333 
00334     /// \brief
00335     /// Gets the Schema Override set for the specified Feature Schema and the
00336     /// FDO provider for the specified connection. This function allows an application 
00337     /// to retrieve the Schema Overrides for an active provider without knowing the 
00338     /// provider name.
00339     /// 
00340     /// \param connection 
00341     /// Input the FDO connection.
00342     /// \param schemaName 
00343     /// Input Feature Schema name.
00344     /// 
00345     /// \return
00346     /// Returns the Schema Override set for the given Feature Schema and 
00347     /// Provider for the given connection. NULL is return if the set was not 
00348     /// found.
00349     /// 
00350     NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping * GetItem(NAMESPACE_OSGEO_FDO_CONNECTIONS::IConnection* connection, System::String* schemaName);
00351 
00352     /*
00353         IXmlSaxHandler Implemenations
00354     */
00355 
00356     /// \brief
00357     /// Default Sax callback that is called when the XmlReader 
00358     /// starts reading an XML document. Does nothing.
00359     /// 
00360     /// \param saxContext 
00361     /// Input caller specified contextual information
00362     /// 
00363     /// \return
00364     /// Returns the SAX Handler for the document's root element. If NULL then 
00365     /// this SAX handler will handle the root element
00366     /// 
00367     NAMESPACE_OSGEO_COMMON_XML::IXmlSaxHandler* XmlStartDocument(NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* saxContext);
00368 
00369     /// \brief
00370     /// Default Sax callback that is called when the XmlReader 
00371     /// finishes reading an XML document. Does nothing
00372     /// 
00373     /// \param saxContext 
00374     /// Input caller specified contextual information
00375     /// 
00376     System::Void XmlEndDocument(NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* saxContext);
00377 
00378     /// \brief
00379     /// Default Sax callback that is called when the XmlReader 
00380     /// reads the start tag for an XML element in the document. Does nothing.
00381     /// 
00382     /// \param context 
00383     /// Input caller specified contextual information
00384     /// \param resourceLocation 
00385     /// Input the element's Universal Resource Indicator
00386     /// \param name 
00387     /// Input the unqualified element name (doesn't include namespace)
00388     /// \param qualifiedName 
00389     /// Input the qualified element name (includes namespace)
00390     /// \param attributes 
00391     /// Input the attributes for the element.
00392     /// 
00393     /// \return
00394     /// Returns the SAX Handler for the element's sub-elements. If NULL then 
00395     /// this SAX handler will handle the sub-elements
00396     /// 
00397     NAMESPACE_OSGEO_COMMON_XML::IXmlSaxHandler* XmlStartElement(NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* context, String* resourceLocation, String* name, String* qualifiedName, NAMESPACE_OSGEO_COMMON_XML::XmlAttributeCollection* attributes);
00398 
00399     /// \brief
00400     /// Default Sax callback that is called when the XmlReader 
00401     /// reads the end tag for an XML element in the document. Does nothing.
00402     /// 
00403     /// \param context 
00404     /// Input caller specified contextual information
00405     /// \param resourceLocation 
00406     /// Input the element's Universal Resource Indicator
00407     /// \param name 
00408     /// Input the unqualified element name (doesn't include namespace)
00409     /// \param qualifiedName 
00410     /// Input the qualified element name (includes namespace)
00411     /// 
00412     /// \return
00413     /// Returning true causes the current parse to stop. Returning false
00414     /// cause the parse to continue. Return value is ignored if the current parse
00415     /// is not an incremental parse ( see XmlReader::Parse())
00416     /// 
00417     System::Boolean XmlEndElement(NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* context, System::String* resourceLocation, System::String* name, System::String* qualifiedName);
00418 
00419     /// \brief
00420     /// Default Sax callback that is called when the XmlReader 
00421     /// reads a chunk of simple content for the current element. Does nothing by default.
00422     /// This function may be called multiple times for the same element, if the 
00423     /// the content is long. Applications must not make any assumptions about the
00424     /// chunk size or number of chunks for each element
00425     /// 
00426     /// \param context 
00427     /// Input caller specified contextual information
00428     /// \param characters 
00429     /// Input the next chunk of simple content
00430     /// 
00431     System::Void XmlCharacters(NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* context, System::String* characters);
00432 
00433     /*
00434         IXmlDeserializable Implemenations
00435     */
00436 
00437     /// \brief
00438     /// Reads from an XML document in a file.
00439     /// 
00440     /// \param fileName 
00441     /// Input the file name. Must consist of an XML document.
00442     /// 
00443     System::Void ReadXml(System::String* fileName);
00444 
00445     /// \brief
00446     /// Reads from an XML document in a file.
00447     /// 
00448     /// \param fileName 
00449     /// Input the file name. Must consist of an XML document.
00450     /// \param flags 
00451     /// Input controls the reading of the elements from the document.
00452     /// If NULL then the default flags are used (see NAMESPACE_OSGEO_FDO_XML::XmlFlags::Create())
00453     /// 
00454     System::Void ReadXml(System::String* fileName, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00455 
00456     /// \brief
00457     /// Reads an XML document from an XML reader.
00458     /// 
00459     /// \param xmlReader 
00460     /// Input the XML reader.
00461     /// 
00462     System::Void ReadXml(NAMESPACE_OSGEO_COMMON_XML::XmlReader* xmlReader);
00463 
00464     /// \brief
00465     /// Reads an XML document from an XML reader.
00466     /// 
00467     /// \param xmlReader 
00468     /// Input the XML reader.
00469     /// \param flags 
00470     /// Input controls the reading of the elements from the document. 
00471     /// If NULL then the default flags are used (see NAMESPACE_OSGEO_FDO_XML::XmlFlags::Create())
00472     /// 
00473     System::Void ReadXml(NAMESPACE_OSGEO_COMMON_XML::XmlReader* xmlReader, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00474 
00475     /// \brief
00476     /// Reads an XML document from a text reader.
00477     /// 
00478     /// \param textReader 
00479     /// Input the text reader. Must be positioned at the
00480     /// start of an XML document.
00481     /// 
00482     System::Void ReadXml(NAMESPACE_OSGEO_COMMON_IO::IoTextReader* textReader);
00483 
00484     /// \brief
00485     /// Reads an XML document from a text reader.
00486     /// 
00487     /// \param textReader 
00488     /// Input the text reader. Must be positioned at the
00489     /// start of an XML document.
00490     /// \param flags 
00491     /// Input controls the reading of the elements from the document. 
00492     /// If NULL then the default flags are used (see NAMESPACE_OSGEO_FDO_XML::XmlFlags::Create())
00493     /// 
00494     System::Void ReadXml(NAMESPACE_OSGEO_COMMON_IO::IoTextReader* textReader, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00495 
00496     /// \brief
00497     /// Reads an XML document from a stream.
00498     /// 
00499     /// \param stream 
00500     /// Input the stream. Must be positioned at the
00501     /// start of an XML document.
00502     /// 
00503     System::Void ReadXml(NAMESPACE_OSGEO_COMMON_IO::IoStream* stream);
00504 
00505     /// \brief
00506     /// Reads an XML document from a stream.
00507     /// 
00508     /// \param stream 
00509     /// Input the stream. Must be positioned at the
00510     /// start of an XML document.
00511     /// \param flags 
00512     /// Input controls the reading of the elements from the document. 
00513     /// If NULL then the default flags are used (see NAMESPACE_OSGEO_FDO_XML::XmlFlags::Create())
00514     /// 
00515     System::Void ReadXml(NAMESPACE_OSGEO_COMMON_IO::IoStream* stream, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00516 
00517     /// \brief
00518     /// Gets the XML Flags that were passed to the ReadXml() 
00519     /// function that is currently being executed. This function would 
00520     /// typically be called by the XmlSaxHandler callbacks.
00521     /// 
00522     /// \return
00523     /// Returns the XML Flags
00524     /// 
00525     NAMESPACE_OSGEO_FDO_XML::XmlFlags* GetDeserializationFlags();
00526 
00527     /// \brief
00528     /// Gets the current XML Reader. This function would 
00529     /// typically be called by the XmlSaxHandler callbacks when 
00530     /// ReadXml() is being invoked. When ReadXml() reads from a file, stream,
00531     /// or text reader, a wrapping XML reader is automatically created.
00532     /// 
00533     /// \return
00534     /// Returns the XML reader
00535     /// 
00536     NAMESPACE_OSGEO_COMMON_XML::XmlReader* GetXmlReader();
00537 
00538     /// \brief
00539     /// Gets the stylesheet for converting the XML document from 
00540     /// external to internal format. When classes derived from XmlDeserializable
00541     /// define an internal format, they must override this function to return a
00542     /// stylesheet that does the conversion.
00543     /// 
00544     /// \return
00545     /// Returns NULL by default (no internal format defined)
00546     /// 
00547     NAMESPACE_OSGEO_COMMON_XML::XmlReader* GetFromExternalStylesheet();
00548 
00549     /// \brief
00550     /// Gets the SAX context to pass to the XmlSaxHandler callbacks.
00551     /// Classes derived from XmlDeserializable can override this function to 
00552     /// specify a SAX context with class-specific information.
00553     /// 
00554     /// \return
00555     /// Returns NULL by default, the default NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext is used.
00556     /// The default provides basic error handling functionality.
00557     /// 
00558     NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* GetSaxContext();
00559 
00560     /*
00561         IXmlSerializable Implemenations
00562     */
00563 
00564     /// \brief
00565     /// Writes this object to a file. A complete XML document,
00566     /// containing this object, is written.
00567     /// 
00568     /// \param fileName 
00569     /// Input the file name.
00570     /// 
00571     System::Void WriteXml(String* fileName);
00572 
00573     /// \brief
00574     /// Writes this object to a file. A complete XML document,
00575     /// containing this object, is written.
00576     /// 
00577     /// \param fileName 
00578     /// Input the file name.
00579     /// \param flags 
00580     /// Input controls the writing of the elements to the document.
00581     /// If NULL then the default flags are used (see XmlFlags::Create())
00582     /// 
00583     System::Void WriteXml(String* fileName, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00584 
00585     /// \brief
00586     /// Writes to an XML writer. This object is appended to the XML document
00587     /// being written. Unlike the other WriteXml() functions it is not necessarily 
00588     /// the only object in its document.
00589     /// 
00590     /// \param xmlWriter 
00591     /// Input the XML writer. When this function completes, the
00592     /// XML writer's current position will be just after this object.
00593     /// 
00594     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_XML::XmlWriter* xmlWriter);
00595 
00596     /// \brief
00597     /// Writes to an XML writer. This object is appended to the XML document
00598     /// being written. Unlike the other WriteXml() functions it is not necessarily 
00599     /// the only object in its document.
00600     /// 
00601     /// \param xmlWriter 
00602     /// Input the XML writer. When this function completes, the
00603     /// XML writer's current position will be just after this object.
00604     /// \param flags 
00605     /// Input controls the writing of the elements to the writer.
00606     /// If NULL then the default flags are used (see XmlFlags::Create())
00607     /// 
00608     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_XML::XmlWriter* xmlWriter, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00609 
00610     /// \brief
00611     /// Writes to a text writer. A complete XML document,
00612     /// containing this object, is written.
00613     /// 
00614     /// \param textWriter 
00615     /// Input the text writer.When this function completes, the
00616     /// text writer's current position will be just after this object.
00617     /// 
00618     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_IO::IoTextWriter* textWriter);
00619 
00620     /// \brief
00621     /// Writes to a text writer. A complete XML document,
00622     /// containing this object, is written.
00623     /// 
00624     /// \param textWriter 
00625     /// Input the text writer.When this function completes, the
00626     /// text writer's current position will be just after this object.
00627     /// \param flags 
00628     /// Input controls the writing of the elements to the writer.
00629     /// If NULL then the default flags are used (see XmlFlags::Create())
00630     /// 
00631     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_IO::IoTextWriter* textWriter, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00632 
00633     /// \brief
00634     /// Writes to a stream. A complete XML document,
00635     /// containing this object, is written.
00636     /// 
00637     /// \param stream 
00638     /// Input the stream. When this function completes, the
00639     /// stream's current position will be just after this object.
00640     /// 
00641     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_IO::IoStream* stream);
00642 
00643     /// \brief
00644     /// Writes to a stream. A complete XML document,
00645     /// containing this object, is written.
00646     /// 
00647     /// \param stream 
00648     /// Input the stream. When this function completes, the
00649     /// stream's current position will be just after this object.
00650     /// \param flags 
00651     /// Input controls the writing of the elements to the stream.
00652     /// If NULL then the default flags are used (see XmlFlags::Create())
00653     /// 
00654     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_IO::IoStream* stream, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00655 
00656     /// \brief
00657     /// Gets the stylesheet for converting the XML document from 
00658     /// internal to external format. When classes derived from XmlSerializable
00659     /// define an internal format, they must override this function to return a
00660     /// stylesheet that does the conversion.
00661     /// 
00662     /// \return
00663     /// Returns NULL by default (no internal format defined)
00664     /// 
00665     NAMESPACE_OSGEO_COMMON_XML::XmlReader* GetFromInternalStylesheet();
00666 
00667 /// \cond DOXYGEN-IGNORE
00668 protected:
00669     System::Void ReleaseUnmanagedObject();
00670 /// \endcond
00671 };
00672 
00673 END_NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA
00674 
00675 

Comments or suggestions? Send us feedback.