Autodesk FDO Provider for SQLServer .NET API Reference

Autodesk FDO Provider SQLServer .NET API

.NET API Reference Autodesk FDO Provider for SQLServer

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

Comments?