OSGeo FDO Provider for WMS .NET API Reference

OSGeo FDO WMS .NET API

.NET API Reference OSGeo FDO Provider for WMS

mgOvClassCollection.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 
00020 #pragma once
00021 
00022 class FdoWmsOvClassCollection;
00023 
00024 BEGIN_NAMESPACE_OSGEO_FDO_PROVIDERS_WMS_OVERRIDE
00025 public __gc class OvClassDefinition;
00026 
00027 /// <summary> Concrete class defining a collection of FDO class definitions
00028 /// with overrides in the physical schema.</summary>
00029 [System::Reflection::DefaultMemberAttribute("RealTypeItem")]
00030 public __sealed __gc class OvClassCollection : public NAMESPACE_OSGEO_RUNTIME::Disposable, public System::Collections::IList
00031 {
00032 private:
00033     /// <summary>
00034     ///     nested class defined to provide Enumerator.
00035     /// </summary>
00036     __gc class Enumerator : public System::Collections::IEnumerator
00037     {
00038     private:
00039         OvClassCollection* m_pCol;
00040         System::Int32 m_nIdx;
00041 
00042     public:
00043         Enumerator(OvClassCollection* elements) : m_pCol(elements), m_nIdx(-1) 
00044         {
00045 
00046         }
00047 
00048         __property System::Object* get_Current();
00049 
00050         System::Boolean MoveNext();
00051 
00052         System::Void Reset();
00053     };
00054 
00055 public private:
00056     OvClassCollection(System::IntPtr unmanaged, System::Boolean autoDelete);
00057 
00058     inline FdoWmsOvClassCollection* GetImpObj();
00059 
00060 protected:
00061     __sealed System::Void ReleaseUnmanagedObject();
00062 
00063 private:
00064     // System::Collections::ICollection interfaces
00065     System::Void System::Collections::ICollection::CopyTo(System::Array* array,System::Int32 index);
00066 
00067     __property System::Object* System::Collections::ICollection::get_SyncRoot();
00068 
00069     __property System::Boolean System::Collections::ICollection::get_IsSynchronized();
00070 
00071     //System::Collections::IList interfaces
00072     __property System::Boolean System::Collections::IList::get_IsFixedSize();
00073 
00074     __property System::Boolean System::Collections::IList::get_IsReadOnly();
00075 
00076     System::Int32 System::Collections::IList::Add(Object* value);
00077 
00078     System::Boolean System::Collections::IList::Contains(Object* value);
00079 
00080     System::Int32 System::Collections::IList::IndexOf(Object* value);
00081 
00082     System::Void System::Collections::IList::Insert(System::Int32 index, Object* value);
00083 
00084     System::Void System::Collections::IList::Remove(Object* value);
00085 
00086     __property Object* System::Collections::IList::get_Item(System::Int32 index);
00087 
00088     __property System::Void  System::Collections::IList::set_Item(System::Int32 index, Object* value);
00089 
00090 public:
00091     /// <summary>Constructs a new empty Class Definition collection.</summary>
00092     /// <param name="parent">Input parent object</param> 
00093     OvClassCollection(NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalElementMapping* parent);
00094 
00095     /// <summary>
00096     ///    Gets the count of items in collection.
00097     /// </summary>
00098     __property System::Int32 get_Count(System::Void);
00099 
00100     /// <summary>
00101     ///    Gets an enumerator that can iterate through a collection.
00102     /// </summary>
00103     __sealed System::Collections::IEnumerator* GetEnumerator(System::Void);
00104 
00105     /// <summary>
00106     ///     Removes the index-th OvClassDefinition from this collection.
00107     /// </summary>
00108     /// <param name="index">
00109     ///     Input index of the element to remove.
00110     /// </param>
00111     System::Void RemoveAt(System::Int32 index);
00112 
00113     /// <summary>
00114     ///     Removes all elements from the collection.
00115     /// </summary>
00116     System::Void  Clear();
00117 
00118     /// <summary>
00119     ///     Adds a OvClassDefinition object into the collection.
00120     /// </summary>
00121     /// <param name="value">
00122     ///     Input the OvClassDefinition object to add.
00123     /// </param>
00124     /// <returns>
00125     ///     Returns the position into which the new element was inserted.
00126     /// </returns>
00127     System::Int32 Add(NAMESPACE_OSGEO_FDO_PROVIDERS_WMS_OVERRIDE::OvClassDefinition* value);
00128 
00129     /// <summary>
00130     ///     Determines the index of a specific OvClassDefinition object.
00131     /// </summary>
00132     /// <param name="value">
00133     ///     Input the OvClassDefinition object to locate in the collection.
00134     /// </param>
00135     /// <returns>
00136     ///     The index of value if found in the collection; otherwise, -1.
00137     /// </returns>
00138     System::Int32 IndexOf(NAMESPACE_OSGEO_FDO_PROVIDERS_WMS_OVERRIDE::OvClassDefinition* value);
00139 
00140     System::Int32 IndexOf(System::String* name);
00141 
00142     /// <summary>
00143     ///     Inserts a OvClassDefinition object into the collection at the specified position.
00144     /// </summary>
00145     /// <param name="index">
00146     ///     Input the zero-based index at which value should be inserted. 
00147     /// </param>
00148     /// <param name="value">
00149     ///     Input the OvClassDefinition object to insert.
00150     /// </param>
00151     System::Void Insert(System::Int32 index, NAMESPACE_OSGEO_FDO_PROVIDERS_WMS_OVERRIDE::OvClassDefinition* value);
00152 
00153     /// <summary>
00154     ///     Removes the first occurrence of a specific OvClassDefinition object.
00155     /// </summary>
00156     /// <param name="value">
00157     ///     Input the OvClassDefinition object to remove from the collection.
00158     /// </param>
00159     System::Void Remove(NAMESPACE_OSGEO_FDO_PROVIDERS_WMS_OVERRIDE::OvClassDefinition* value);
00160 
00161     /// <summary>
00162     ///     Determines whether the collection contains a specific OvClassDefinition object.
00163     /// </summary>
00164     /// <param name="value">
00165     ///     Input The OvClassDefinition object to search in the collection.
00166     /// </param>
00167     /// <returns>
00168     ///     Returns true if the value is found in the collection; otherwise, false.
00169     /// </returns>
00170     System::Boolean Contains(NAMESPACE_OSGEO_FDO_PROVIDERS_WMS_OVERRIDE::OvClassDefinition* value);
00171 
00172     System::Boolean Contains(System::String* name);
00173 
00174     /// <summary>
00175     ///     Copies the elements of the collection to an array.
00176     /// </summary>
00177     /// <param name="array">
00178     ///     Output the one-dimensional Array that is the destination of the elements copied from this collection. 
00179     /// </param>
00180     /// <param name="startAt">
00181     ///     Input an integer that represents the index in array at which copying begins. 
00182     /// </param>
00183     System::Void CopyTo(NAMESPACE_OSGEO_FDO_PROVIDERS_WMS_OVERRIDE::OvClassDefinition* array[],System::Int32 index);
00184 
00185     //this is a hedious workaround for a bug in VS2002. 
00186     /// <summary>
00187     ///     Gets or sets a OvClassDefinition in the collection.
00188     /// </summary>
00189     /// <param name="index">
00190     ///     Input index of the OvClassDefinition to retrieve or set (System::Int32). 
00191     /// </param>
00192     __property NAMESPACE_OSGEO_FDO_PROVIDERS_WMS_OVERRIDE::OvClassDefinition* get_RealTypeItem(System::Int32 index);
00193 
00194     __property System::Void  set_RealTypeItem(System::Int32 index, NAMESPACE_OSGEO_FDO_PROVIDERS_WMS_OVERRIDE::OvClassDefinition* value);
00195 
00196     __property NAMESPACE_OSGEO_FDO_PROVIDERS_WMS_OVERRIDE::OvClassDefinition* get_Item(System::Int32 index);
00197 
00198     __property System::Void  set_Item(System::Int32 index, NAMESPACE_OSGEO_FDO_PROVIDERS_WMS_OVERRIDE::OvClassDefinition* value);
00199 };
00200 
00201 END_NAMESPACE_OSGEO_FDO_PROVIDERS_WMS_OVERRIDE

Comments?