OSGeo FDO Provider for SHP API Reference

OSGeo FDO Provider for SHP - API

API Reference OSGeo FDO Provider for SHP

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

Comments?