FDO .NET API Reference | Feature Data Objects |
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 #include "FDO\Commands\Feature\mgIReaderImp.h" 00022 #include "FDO\Commands\Feature\mgIFeatureReader.h" 00023 00024 class FdoIFeatureReader; 00025 00026 BEGIN_NAMESPACE_OSGEO_FDO_SCHEMA 00027 public __gc class ClassDefinition; 00028 END_NAMESPACE_OSGEO_FDO_SCHEMA 00029 00030 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE 00031 00032 /// \ingroup (OSGeoFDOCommandsFeature) 00033 /// \brief 00034 /// The IFeatureReaderImp class is a concrete implementation class for interface IFeatureReader. 00035 /// The IFeatureReader interface provides a forward-only, read-only iterator 00036 /// for reading feature data. A reference to an IFeatureReader is returned 00037 /// from the Select and SelectAndLock commands. Because the initial position of the 00038 /// IFeatureReader is prior to the first item, you must call 00039 /// ReadNext to begin accessing any data. 00040 private __gc class IFeatureReaderImp : public NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IReaderImp, 00041 public NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IFeatureReader 00042 { 00043 public: 00044 /// \brief 00045 /// Gets the definition of the object currently being read. If the user 00046 /// has requested only a subset of the class properties, the class 00047 /// definition reflects what the user has asked, rather than the full class 00048 /// definition. 00049 /// 00050 /// \return 00051 /// Returns the class definition object. 00052 /// 00053 NAMESPACE_OSGEO_FDO_SCHEMA::ClassDefinition* GetClassDefinition(); 00054 00055 /// \brief 00056 /// Gets a value indicating the depth of nesting for the current reader. 00057 /// The depth value increases each time GetFeatureObject is called and a new 00058 /// reader is returned. The outermost reader has a depth of 0. 00059 /// 00060 /// \return 00061 /// Returns the feature reader depth 00062 /// 00063 System::Int32 GetDepth(); 00064 00065 /// \brief 00066 /// Gets the geometry value of the specified property as a byte array in 00067 /// FGF format. Because no conversion is performed, the property must be 00068 /// of Geometric type; otherwise, an exception is thrown. 00069 /// This method is a language-specific performance optimization that returns a 00070 /// pointer to the array data, rather than to an object that encapsulates 00071 /// the array. The array's memory area is only guaranteed to be valid 00072 /// until a call to ReadNext() or Close(), or the disposal of this reader 00073 /// object. 00074 /// 00075 /// \param propertyName 00076 /// Input the property name. 00077 /// 00078 /// \return 00079 /// Returns a pointer to the byte array in FGF format. 00080 /// 00081 System::Byte GetGeometry(System::String* propertyName) []; 00082 00083 /// \brief 00084 /// Gets a reference to an IFeatureReader to read the data contained in 00085 /// the object or object collection property. If the property is not an 00086 /// object property, an exception is thrown. 00087 /// 00088 /// \param propertyName 00089 /// Input the property name. 00090 /// 00091 /// \return 00092 /// Returns the nested feature reader 00093 /// 00094 NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IFeatureReader* GetFeatureObject(System::String* propertyName); 00095 00096 public private: 00097 IFeatureReaderImp(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IReaderImp(unmanaged, autoDelete) 00098 { 00099 00100 } 00101 00102 inline FdoIFeatureReader* GetImpObj(); 00103 }; 00104 00105 END_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE 00106 00107
Comments or suggestions? Send us feedback. |