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

mgOvPropertyDefinitionCollection.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 FdoOdbcOvPropertyDefinitionCollection;
00022 
00023 BEGIN_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_ODBC
00024 public __gc __interface IOvPropertyDefinition;
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 OvPropertyDefinitionCollection : 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         OvPropertyDefinitionCollection* m_pCol;
00039         System::Int32 m_nIdx;
00040 
00041     public:
00042         Enumerator(OvPropertyDefinitionCollection* 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     OvPropertyDefinitionCollection(System::IntPtr unmanaged, System::Boolean autoDelete);
00056 
00057     inline FdoOdbcOvPropertyDefinitionCollection* 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     OvPropertyDefinitionCollection();
00093 
00094     OvPropertyDefinitionCollection(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvPropertyDefinitionCollection* 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 IOvPropertyDefinition 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 IOvPropertyDefinition object into the collection.
00121     /// </summary>
00122     /// <param name="value">
00123     ///     Input the IOvPropertyDefinition 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::IOvPropertyDefinition* value);
00129 
00130     /// <summary>
00131     ///     Determines the index of a specific IOvPropertyDefinition object.
00132     /// </summary>
00133     /// <param name="value">
00134     ///     Input the IOvPropertyDefinition 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::IOvPropertyDefinition* value);
00140 
00141     /// <summary>
00142     ///     Inserts a IOvPropertyDefinition 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 IOvPropertyDefinition object to insert.
00149     /// </param>
00150     System::Void Insert(System::Int32 index, NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_ODBC::IOvPropertyDefinition* value);
00151 
00152     /// <summary>
00153     ///     Removes the first occurrence of a specific IOvPropertyDefinition object.
00154     /// </summary>
00155     /// <param name="value">
00156     ///     Input the IOvPropertyDefinition object to remove from the collection.
00157     /// </param>
00158     System::Void Remove(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_ODBC::IOvPropertyDefinition* value);
00159 
00160     /// <summary>
00161     ///     Determines whether the collection contains a specific IOvPropertyDefinition object.
00162     /// </summary>
00163     /// <param name="value">
00164     ///     Input The IOvPropertyDefinition 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::IOvPropertyDefinition* 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::IOvPropertyDefinition* array[],System::Int32 size);
00181 
00182     //this is a hedious workaround for a bug in VS2002. 
00183     /// <summary>
00184     ///     Gets or sets a IOvPropertyDefinition in the collection.
00185     /// </summary>
00186     /// <param name="index">
00187     ///     Input index of the IOvPropertyDefinition to retrieve or set (System::Int32). 
00188     /// </param>
00189     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_ODBC::IOvPropertyDefinition* get_RealTypeItem(System::Int32 index);
00190     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_ODBC::IOvPropertyDefinition* get_RealTypeItem(System::String* index);
00191 
00192     __property System::Void  set_RealTypeItem(System::Int32 index, NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_ODBC::IOvPropertyDefinition* value);
00193 
00194     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_ODBC::IOvPropertyDefinition* get_Item(System::Int32 index);
00195 
00196     __property System::Void  set_Item(System::Int32 index, NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_ODBC::IOvPropertyDefinition* value);
00197 };
00198 
00199 END_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_ODBC
00200 

Comments?