- Main Page
- Classes
- Files

# 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

Please send us your comment about this page