OSGeo FDO Provider for MySQL .NET API Reference

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?