Autodek FDO Provider for Raster .NET API Reference

AutoDesk FDO Raster .NET API

.NET API Reference Autodesk FDO Provider for Raster

mgClassCollection.h

Go to the documentation of this file.
00001 /*
00002 * (C) Copyright 2005 by Autodesk, Inc. All Rights Reserved.
00003 *
00004 * By using this code, you are agreeing to the terms and conditions of
00005 * the License Agreement included in the documentation for this code.
00006 *
00007 * AUTODESK MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE
00008 * CORRECTNESS OF THIS CODE OR ANY DERIVATIVE WORKS WHICH INCORPORATE
00009 * IT. AUTODESK PROVIDES THE CODE ON AN "AS-IS" BASIS AND EXPLICITLY
00010 * DISCLAIMS ANY LIABILITY, INCLUDING CONSEQUENTIAL AND INCIDENTAL
00011 * DAMAGES FOR ERRORS, OMISSIONS, AND OTHER PROBLEMS IN THE CODE.
00012 *
00013 * Use, duplication, or disclosure by the U.S. Government is subject
00014 * to restrictions set forth in FAR 52.227-19 (Commercial Computer
00015 * Software Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
00016 * (Rights in Technical Data and Computer Software), as applicable.
00017 *
00018 * Revision Control Modification History
00019 *
00020 *         $Id$
00021 *     $Author$
00022 *   $DateTime$
00023 *     $Change$
00024 *
00025 */
00026 
00027 #pragma once
00028 
00029 class FdoRfpClassCollection;
00030 
00031 BEGIN_NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RASTERFILE_OVERRIDE
00032 public __gc class ClassDefinition;
00033 public __gc class PhysicalSchemaMapping;
00034 
00035 /// <summary> Concrete class defining a collection of FDO class definitions
00036 /// with overrides in the physical schema.</summary>
00037 [System::Reflection::DefaultMemberAttribute("RealTypeItem")]
00038 public __sealed __gc class ClassCollection : public NAMESPACE_OSGEO_RUNTIME::Disposable, public System::Collections::IList
00039 {
00040 private:
00041     /// <summary>
00042     ///     nested class defined to provide Enumerator.
00043     /// </summary>
00044     __gc class Enumerator : public System::Collections::IEnumerator
00045     {
00046     private:
00047         ClassCollection* m_pCol;
00048         System::Int32 m_nIdx;
00049 
00050     public:
00051         Enumerator(ClassCollection* elements) : m_pCol(elements), m_nIdx(-1) 
00052         {
00053 
00054         }
00055 
00056         __property System::Object* get_Current();
00057 
00058         System::Boolean MoveNext();
00059 
00060         System::Void Reset();
00061     };
00062 
00063 public private:
00064     ClassCollection(System::IntPtr unmanaged, System::Boolean autoDelete);
00065 
00066     inline FdoRfpClassCollection* GetImpObj();
00067 
00068 protected:
00069     __sealed System::Void ReleaseUnmanagedObject();
00070 
00071 private:
00072     // System::Collections::ICollection interfaces
00073     System::Void System::Collections::ICollection::CopyTo(System::Array* array,System::Int32 index);
00074 
00075     __property System::Object* System::Collections::ICollection::get_SyncRoot();
00076 
00077     __property System::Boolean System::Collections::ICollection::get_IsSynchronized();
00078 
00079     //System::Collections::IList interfaces
00080     __property System::Boolean System::Collections::IList::get_IsFixedSize();
00081 
00082     __property System::Boolean System::Collections::IList::get_IsReadOnly();
00083 
00084     System::Int32 System::Collections::IList::Add(Object* value);
00085 
00086     System::Boolean System::Collections::IList::Contains(Object* value);
00087 
00088     System::Int32 System::Collections::IList::IndexOf(Object* value);
00089 
00090     System::Void System::Collections::IList::Insert(System::Int32 index, Object* value);
00091 
00092     System::Void System::Collections::IList::Remove(Object* value);
00093 
00094     __property Object* System::Collections::IList::get_Item(System::Int32 index);
00095 
00096     __property System::Void  System::Collections::IList::set_Item(System::Int32 index, Object* value);
00097 
00098 public:
00099     /// <summary>Constructs a new empty collection of Raster Band Definition.</summary>
00100     /// <param name="parent">Input parent object</param> 
00101     ClassCollection(NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RASTERFILE_OVERRIDE::PhysicalSchemaMapping* parent);
00102 
00103     /// <summary>
00104     ///    Gets the count of items in collection.
00105     /// </summary>
00106     __property System::Int32 get_Count(System::Void);
00107 
00108     /// <summary>
00109     ///    Gets an enumerator that can iterate through a collection.
00110     /// </summary>
00111     __sealed System::Collections::IEnumerator* GetEnumerator(System::Void);
00112 
00113     /// <summary>
00114     ///     Removes the index-th ClassDefinition from this collection.
00115     /// </summary>
00116     /// <param name="index">
00117     ///     Input index of the element to remove.
00118     /// </param>
00119     System::Void RemoveAt(System::Int32 index);
00120 
00121     /// <summary>
00122     ///     Removes all elements from the collection.
00123     /// </summary>
00124     System::Void  Clear();
00125 
00126     /// <summary>
00127     ///     Adds a ClassDefinition object into the collection.
00128     /// </summary>
00129     /// <param name="value">
00130     ///     Input the ClassDefinition object to add.
00131     /// </param>
00132     /// <returns>
00133     ///     Returns the position into which the new element was inserted.
00134     /// </returns>
00135     System::Int32 Add(NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RASTERFILE_OVERRIDE::ClassDefinition* value);
00136 
00137     /// <summary>
00138     ///     Determines the index of a specific ClassDefinition object.
00139     /// </summary>
00140     /// <param name="value">
00141     ///     Input the ClassDefinition object to locate in the collection.
00142     /// </param>
00143     /// <returns>
00144     ///     The index of value if found in the collection; otherwise, -1.
00145     /// </returns>
00146     System::Int32 IndexOf(NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RASTERFILE_OVERRIDE::ClassDefinition* value);
00147 
00148     System::Int32 IndexOf(System::String* name);
00149 
00150     /// <summary>
00151     ///     Inserts a ClassDefinition object into the collection at the specified position.
00152     /// </summary>
00153     /// <param name="index">
00154     ///     Input the zero-based index at which value should be inserted. 
00155     /// </param>
00156     /// <param name="value">
00157     ///     Input the ClassDefinition object to insert.
00158     /// </param>
00159     System::Void Insert(System::Int32 index, NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RASTERFILE_OVERRIDE::ClassDefinition* value);
00160 
00161     /// <summary>
00162     ///     Removes the first occurrence of a specific ClassDefinition object.
00163     /// </summary>
00164     /// <param name="value">
00165     ///     Input the ClassDefinition object to remove from the collection.
00166     /// </param>
00167     System::Void Remove(NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RASTERFILE_OVERRIDE::ClassDefinition* value);
00168 
00169     /// <summary>
00170     ///     Determines whether the collection contains a specific ClassDefinition object.
00171     /// </summary>
00172     /// <param name="value">
00173     ///     Input The ClassDefinition object to search in the collection.
00174     /// </param>
00175     /// <returns>
00176     ///     Returns true if the value is found in the collection; otherwise, false.
00177     /// </returns>
00178     System::Boolean Contains(NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RASTERFILE_OVERRIDE::ClassDefinition* value);
00179 
00180     System::Boolean Contains(System::String* name);
00181 
00182     /// <summary>
00183     ///     Copies the elements of the collection to an array.
00184     /// </summary>
00185     /// <param name="array">
00186     ///     Output the one-dimensional Array that is the destination of the elements copied from this collection. 
00187     /// </param>
00188     /// <param name="startAt">
00189     ///     Input an integer that represents the index in array at which copying begins. 
00190     /// </param>
00191     System::Void CopyTo(NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RASTERFILE_OVERRIDE::ClassDefinition* array[],System::Int32 size);
00192 
00193     //this is a hedious workaround for a bug in VS2002. 
00194     /// <summary>
00195     ///     Gets or sets a ClassDefinition in the collection.
00196     /// </summary>
00197     /// <param name="index">
00198     ///     Input index of the ClassDefinition to retrieve or set (System::Int32). 
00199     /// </param>
00200     __property NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RASTERFILE_OVERRIDE::ClassDefinition* get_RealTypeItem(System::Int32 index);
00201 
00202     __property System::Void  set_RealTypeItem(System::Int32 index, NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RASTERFILE_OVERRIDE::ClassDefinition* value);
00203 
00204     __property NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RASTERFILE_OVERRIDE::ClassDefinition* get_Item(System::Int32 index);
00205 
00206     __property System::Void  set_Item(System::Int32 index, NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RASTERFILE_OVERRIDE::ClassDefinition* value);
00207 };
00208 
00209 END_NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RASTERFILE_OVERRIDE

Comments?