OSGeo FDO Provider for ODBC .NET API Reference

OSGeo FDO Provider for ODBC .NET API

.NET API Reference OSGeo FDO Provider for ODBC

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

Comments?