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 FdoSqlServerOvDataPropertyDefinitionCollection;
00024
00025 BEGIN_NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER
00026 public __gc class OvDataPropertyDefinition;
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 OvDataPropertyDefinitionCollection : 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 OvDataPropertyDefinitionCollection* m_pCol;
00041 System::Int32 m_nIdx;
00042
00043 public:
00044 Enumerator(OvDataPropertyDefinitionCollection* 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 OvDataPropertyDefinitionCollection(System::IntPtr unmanaged, System::Boolean autoDelete);
00058
00059 inline FdoSqlServerOvDataPropertyDefinitionCollection* 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 OvDataPropertyDefinitionCollection();
00095
00096 OvDataPropertyDefinitionCollection(NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalElementMapping* parent);
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 OvDataPropertyDefinition 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 OvDataPropertyDefinition object into the collection.
00123 /// </summary>
00124 /// <param name="value">
00125 /// Input the OvDataPropertyDefinition 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::OvDataPropertyDefinition* value);
00131
00132 /// <summary>
00133 /// Determines the index of a specific OvDataPropertyDefinition object.
00134 /// </summary>
00135 /// <param name="value">
00136 /// Input the OvDataPropertyDefinition 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::OvDataPropertyDefinition* value);
00142
00143 System::Int32 IndexOf(System::String* name);
00144
00145 /// <summary>
00146 /// Inserts a OvDataPropertyDefinition object into the collection at the specified position.
00147 /// </summary>
00148 /// <param name="index">
00149 /// Input the zero-based index at which value should be inserted.
00150 /// </param>
00151 /// <param name="value">
00152 /// Input the OvDataPropertyDefinition object to insert.
00153 /// </param>
00154 System::Void Insert(System::Int32 index, NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvDataPropertyDefinition* value);
00155
00156 /// <summary>
00157 /// Removes the first occurrence of a specific OvDataPropertyDefinition object.
00158 /// </summary>
00159 /// <param name="value">
00160 /// Input the OvDataPropertyDefinition object to remove from the collection.
00161 /// </param>
00162 System::Void Remove(NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvDataPropertyDefinition* value);
00163
00164 /// <summary>
00165 /// Determines whether the collection contains a specific OvDataPropertyDefinition object.
00166 /// </summary>
00167 /// <param name="value">
00168 /// Input The OvDataPropertyDefinition object to search in the collection.
00169 /// </param>
00170 /// <returns>
00171 /// Returns true if the value is found in the collection; otherwise, false.
00172 /// </returns>
00173 System::Boolean Contains(NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvDataPropertyDefinition* value);
00174
00175 System::Boolean Contains(System::String* name);
00176
00177 /// <summary>
00178 /// Copies the elements of the collection to an array.
00179 /// </summary>
00180 /// <param name="array">
00181 /// Output the one-dimensional Array that is the destination of the elements copied from this collection.
00182 /// </param>
00183 /// <param name="startAt">
00184 /// Input an integer that represents the index in array at which copying begins.
00185 /// </param>
00186 System::Void CopyTo(NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvDataPropertyDefinition* array[],System::Int32 size);
00187
00188 //this is a hedious workaround for a bug in VS2002.
00189 /// <summary>
00190 /// Gets or sets a OvDataPropertyDefinition in the collection.
00191 /// </summary>
00192 /// <param name="index">
00193 /// Input index of the OvDataPropertyDefinition to retrieve or set (System::Int32).
00194 /// </param>
00195 __property NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvDataPropertyDefinition* get_RealTypeItem(System::Int32 index);
00196 __property NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvDataPropertyDefinition* get_RealTypeItem(System::String* index);
00197
00198 __property System::Void set_RealTypeItem(System::Int32 index, NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvDataPropertyDefinition* value);
00199
00200 __property NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvDataPropertyDefinition* get_Item(System::Int32 index);
00201
00202 __property System::Void set_Item(System::Int32 index, NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvDataPropertyDefinition* value);
00203 };
00204
00205 END_NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER