OSGeo FDO Provider for ODBC .NET API Reference

OSGeo FDO Provider for ODBC .NET API

.NET API Reference OSGeo FDO Provider for ODBC

mgOvReadOnlyClassCollection.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 FdoRdbmsOvReadOnlyClassCollection;
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 ///     OvReadOnlyClassCollection is a collection of name-value pairs.
00030 /// </summary>
00031 [System::Reflection::DefaultMemberAttribute("RealTypeItem")]
00032 public __sealed __gc class OvReadOnlyClassCollection : public NAMESPACE_OSGEO_RUNTIME::Disposable, public System::Collections::ICollection, public System::Collections::IEnumerable
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         OvReadOnlyClassCollection* m_pCol;
00042         System::Int32 m_nIdx;
00043 
00044     public:
00045         Enumerator(OvReadOnlyClassCollection* 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     OvReadOnlyClassCollection(System::IntPtr unmanaged, System::Boolean autoDelete);
00059 
00060     inline FdoRdbmsOvReadOnlyClassCollection* 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 protected:
00071     System::Void ReleaseUnmanagedObject();
00072 
00073 public:
00074     /// <summary>
00075     ///    Gets the count of items in collection.
00076     /// </summary>
00077     __property System::Int32 get_Count(System::Void);
00078 
00079     /// <summary>
00080     ///    Gets an enumerator that can iterate through a collection.
00081     /// </summary>
00082     __sealed System::Collections::IEnumerator* GetEnumerator(System::Void);
00083 
00084     /// <summary>
00085     ///     Determines the index of a specific OvClassDefinition object.
00086     /// </summary>
00087     /// <param name="value">
00088     ///     Input the OvClassDefinition object to locate in the collection.
00089     /// </param>
00090     /// <returns>
00091     ///     The index of value if found in the collection; otherwise, -1.
00092     /// </returns>
00093     System::Int32 IndexOf(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvClassDefinition* value);
00094 
00095     /// <summary>
00096     ///     Determines whether the collection contains a specific OvClassDefinition object.
00097     /// </summary>
00098     /// <param name="value">
00099     ///     Input The OvClassDefinition object to search in the collection.
00100     /// </param>
00101     /// <returns>
00102     ///     Returns true if the value is found in the collection; otherwise, false.
00103     /// </returns>
00104     System::Boolean Contains(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvClassDefinition* value);
00105 
00106     /// <summary>
00107     ///     Copies the elements of the collection to an array.
00108     /// </summary>
00109     /// <param name="array">
00110     ///     Output the one-dimensional Array that is the destination of the elements copied from this collection. 
00111     /// </param>
00112     /// <param name="startAt">
00113     ///     Input an integer that represents the index in array at which copying begins. 
00114     /// </param>
00115     System::Void CopyTo(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvClassDefinition* array[], System::Int32 index);
00116 
00117     //this is a hedious workaround for a bug in VS2002. 
00118     /// <summary>
00119     ///     Gets or sets a OvClassDefinition in the collection.
00120     /// </summary>
00121     /// <param name="index">
00122     ///     Input index of the OvClassDefinition to retrieve or set (System::Int32). 
00123     /// </param>
00124     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvClassDefinition* get_RealTypeItem(System::Int32 index);
00125     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvClassDefinition* get_RealTypeItem(System::String* index);
00126 };
00127 
00128 END_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE
00129 

Comments?