OSGeo FDO Provider for MySQL .NET API Reference

From OSGeo FDO MySQL .NET API

.NET API Reference OSGeo FDO Provider for MySQL

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

Comments?