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