Autodesk FDO Provider for SQLServer .NET API Reference

Autodesk FDO Provider SQLServer .NET API

.NET API Reference Autodesk FDO Provider for SQLServer

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_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER
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_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::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_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::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_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::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_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::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_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::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_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::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_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvClassDefinition* get_RealTypeItem(System::Int32 index);
00192     __property NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvClassDefinition* get_RealTypeItem(System::String* index);
00193 
00194     __property System::Void  set_RealTypeItem(System::Int32 index, NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvClassDefinition* value);
00195 
00196     __property NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvClassDefinition* get_Item(System::Int32 index);
00197 
00198     __property System::Void  set_Item(System::Int32 index, NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvClassDefinition* value);
00199 
00200 };
00201 
00202 END_NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER

Comments?