.NET API Reference OSGeo FDO Provider for ODBC
Main Page | Namespace List | Alphabetical List | Class List | File List | Class Members | File Members

mgOvClassCollection.h

Go to the documentation of this file.
00001 /*
00002 * (C) Copyright 2005 by Autodesk, Inc. All Rights Reserved.
00003 *
00004 * By using this code, you are agreeing to the terms and conditions of
00005 * the License Agreement included in the documentation for this code.
00006 *
00007 * AUTODESK MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE
00008 * CORRECTNESS OF THIS CODE OR ANY DERIVATIVE WORKS WHICH INCORPORATE
00009 * IT. AUTODESK PROVIDES THE CODE ON AN "AS-IS" BASIS AND EXPLICITLY
00010 * DISCLAIMS ANY LIABILITY, INCLUDING CONSEQUENTIAL AND INCIDENTAL
00011 * DAMAGES FOR ERRORS, OMISSIONS, AND OTHER PROBLEMS IN THE CODE.
00012 *
00013 * Use, duplication, or disclosure by the U.S. Government is subject
00014 * to restrictions set forth in FAR 52.227-19 (Commercial Computer
00015 * Software Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
00016 * (Rights in Technical Data and Computer Software), as applicable.
00017 *
00018 *
00019 */
00020 
00021 #pragma once
00022 
00023 class FdoSqlServerOvClassCollection;
00024 
00025 BEGIN_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL
00026 public __gc class OvClassDefinition;
00027 
00028 /// <summary> Concrete class defining a collection of FDO class definitions
00029 /// with overrides in the physical schema.</summary>
00030 [System::Reflection::DefaultMemberAttribute("RealTypeItem")]
00031 public __sealed __gc class OvClassCollection : public NAMESPACE_OSGEO_RUNTIME::Disposable, public System::Collections::IList
00032 {
00033 private:
00034     /// <summary>
00035     ///     nested class defined to provide Enumerator.
00036     /// </summary>
00037     __gc class Enumerator : public System::Collections::IEnumerator
00038     {
00039     private:
00040         OvClassCollection* m_pCol;
00041         System::Int32 m_nIdx;
00042 
00043     public:
00044         Enumerator(OvClassCollection* elements) : m_pCol(elements), m_nIdx(-1) 
00045         {
00046 
00047         }
00048 
00049         __property System::Object* get_Current();
00050 
00051         System::Boolean MoveNext();
00052 
00053         System::Void Reset();
00054     };
00055 
00056 public private:
00057     OvClassCollection(System::IntPtr unmanaged, System::Boolean autoDelete);
00058 
00059     inline FdoSqlServerOvClassCollection* GetImpObj();
00060 
00061 protected:
00062     __sealed System::Void ReleaseUnmanagedObject();
00063 
00064 private:
00065     // System::Collections::ICollection interfaces
00066     System::Void System::Collections::ICollection::CopyTo(System::Array* array,System::Int32 index);
00067 
00068     __property System::Object* System::Collections::ICollection::get_SyncRoot();
00069 
00070     __property System::Boolean System::Collections::ICollection::get_IsSynchronized();
00071 
00072     //System::Collections::IList interfaces
00073     __property System::Boolean System::Collections::IList::get_IsFixedSize();
00074 
00075     __property System::Boolean System::Collections::IList::get_IsReadOnly();
00076 
00077     System::Int32 System::Collections::IList::Add(Object* value);
00078 
00079     System::Boolean System::Collections::IList::Contains(Object* value);
00080 
00081     System::Int32 System::Collections::IList::IndexOf(Object* value);
00082 
00083     System::Void System::Collections::IList::Insert(System::Int32 index, Object* value);
00084 
00085     System::Void System::Collections::IList::Remove(Object* value);
00086 
00087     __property Object* System::Collections::IList::get_Item(System::Int32 index);
00088 
00089     __property System::Void  System::Collections::IList::set_Item(System::Int32 index, Object* value);
00090 
00091 public:
00092     /// <summary>Constructs a new empty collection of Raster Band Definition.</summary>
00093     /// <param name="parent">Input parent object</param> 
00094     OvClassCollection();
00095 
00096     OvClassCollection(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvClassCollection* baseCollection);
00097 
00098     /// <summary>
00099     ///    Gets the count of items in collection.
00100     /// </summary>
00101     __property System::Int32 get_Count(System::Void);
00102 
00103     /// <summary>
00104     ///    Gets an enumerator that can iterate through a collection.
00105     /// </summary>
00106     __sealed System::Collections::IEnumerator* GetEnumerator(System::Void);
00107 
00108     /// <summary>
00109     ///     Removes the index-th OvClassDefinition from this collection.
00110     /// </summary>
00111     /// <param name="index">
00112     ///     Input index of the element to remove.
00113     /// </param>
00114     System::Void RemoveAt(System::Int32 index);
00115 
00116     /// <summary>
00117     ///     Removes all elements from the collection.
00118     /// </summary>
00119     System::Void  Clear();
00120 
00121     /// <summary>
00122     ///     Adds a OvClassDefinition object into the collection.
00123     /// </summary>
00124     /// <param name="value">
00125     ///     Input the OvClassDefinition object to add.
00126     /// </param>
00127     /// <returns>
00128     ///     Returns the position into which the new element was inserted.
00129     /// </returns>
00130     System::Int32 Add(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition* value);
00131 
00132     /// <summary>
00133     ///     Determines the index of a specific OvClassDefinition object.
00134     /// </summary>
00135     /// <param name="value">
00136     ///     Input the OvClassDefinition object to locate in the collection.
00137     /// </param>
00138     /// <returns>
00139     ///     The index of value if found in the collection; otherwise, -1.
00140     /// </returns>
00141     System::Int32 IndexOf(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition* value);
00142 
00143     /// <summary>
00144     ///     Inserts a OvClassDefinition object into the collection at the specified position.
00145     /// </summary>
00146     /// <param name="index">
00147     ///     Input the zero-based index at which value should be inserted. 
00148     /// </param>
00149     /// <param name="value">
00150     ///     Input the OvClassDefinition object to insert.
00151     /// </param>
00152     System::Void Insert(System::Int32 index, NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition* value);
00153 
00154     /// <summary>
00155     ///     Removes the first occurrence of a specific OvClassDefinition object.
00156     /// </summary>
00157     /// <param name="value">
00158     ///     Input the OvClassDefinition object to remove from the collection.
00159     /// </param>
00160     System::Void Remove(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition* value);
00161 
00162     /// <summary>
00163     ///     Determines whether the collection contains a specific OvClassDefinition object.
00164     /// </summary>
00165     /// <param name="value">
00166     ///     Input The OvClassDefinition object to search in the collection.
00167     /// </param>
00168     /// <returns>
00169     ///     Returns true if the value is found in the collection; otherwise, false.
00170     /// </returns>
00171     System::Boolean Contains(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition* value);
00172 
00173     /// <summary>
00174     ///     Copies the elements of the collection to an array.
00175     /// </summary>
00176     /// <param name="array">
00177     ///     Output the one-dimensional Array that is the destination of the elements copied from this collection. 
00178     /// </param>
00179     /// <param name="startAt">
00180     ///     Input an integer that represents the index in array at which copying begins. 
00181     /// </param>
00182     System::Void CopyTo(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition* array[],System::Int32 size);
00183 
00184     //this is a hedious workaround for a bug in VS2002. 
00185     /// <summary>
00186     ///     Gets or sets a OvClassDefinition in the collection.
00187     /// </summary>
00188     /// <param name="index">
00189     ///     Input index of the OvClassDefinition to retrieve or set (System::Int32). 
00190     /// </param>
00191     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition* get_RealTypeItem(System::Int32 index);
00192     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition* get_RealTypeItem(System::String* index);
00193 
00194     __property System::Void  set_RealTypeItem(System::Int32 index, NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition* value);
00195 
00196     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition* get_Item(System::Int32 index);
00197 
00198     __property System::Void  set_Item(System::Int32 index, NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition* value);
00199 
00200 };
00201 
00202 END_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL

Comments?