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\mgIReader.h" 00022 00023 class FdoIReader; 00024 00025 BEGIN_NAMESPACE_OSGEO_FDO_EXPRESSION 00026 public __gc class LOBValue; 00027 END_NAMESPACE_OSGEO_FDO_EXPRESSION 00028 00029 BEGIN_NAMESPACE_OSGEO_COMMON 00030 public __gc __interface IStreamReader; 00031 END_NAMESPACE_OSGEO_COMMON 00032 00033 BEGIN_NAMESPACE_OSGEO_FDO_RASTER 00034 public __gc __interface IRaster; 00035 END_NAMESPACE_OSGEO_FDO_RASTER 00036 00037 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE 00038 00039 /// \ingroup (OSGeoFDOCommandsFeature) 00040 /// \brief 00041 /// The IReaderImp class is a concrete implementation class for interface IReader. 00042 /// The IReader interface provides a forward-only, read-only iterator for reading data. 00043 /// Because the initial position of the IReader is prior to the first item, you must call 00044 /// ReadNext to begin accessing any data. 00045 private __gc class IReaderImp : public NAMESPACE_OSGEO_RUNTIME::Disposable, 00046 public NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IReader 00047 { 00048 public: 00049 /// \brief 00050 /// Gets the Boolean value of the specified property. No conversion is 00051 /// performed, thus the property must be DataType_Boolean or an 00052 /// exception is thrown. 00053 /// 00054 /// \param name 00055 /// Input the property name. 00056 /// 00057 /// \return 00058 /// Returns the Boolean value. 00059 /// 00060 System::Boolean GetBoolean(System::String* name); 00061 00062 /// \brief 00063 /// Gets the byte value of the specified property. No conversion is 00064 /// performed, thus the property must be DataType_Byte or an 00065 /// exception is thrown. 00066 /// 00067 /// \param name 00068 /// Input the property name. 00069 /// 00070 /// \return 00071 /// Returns the byte value. 00072 /// 00073 System::Byte GetByte(System::String* name); 00074 00075 /// \brief 00076 /// Gets the date and time value of the specified property. No conversion is 00077 /// performed, thus the property must be DataType_DateTime or an 00078 /// exception is thrown. 00079 /// 00080 /// \param name 00081 /// Input the property name. 00082 /// 00083 /// \return 00084 /// Returns the date and time value. 00085 /// 00086 System::DateTime GetDateTime(System::String* name); 00087 00088 /// \brief 00089 /// Gets the double-precision floating point value of the specified property. No 00090 /// conversion is performed, thus the property must be DataType_Double 00091 /// or an exception is thrown. 00092 /// 00093 /// \param name 00094 /// Input the property name. 00095 /// 00096 /// \return 00097 /// Returns the double floating point value 00098 /// 00099 System::Double GetDouble(System::String* name); 00100 00101 /// \brief 00102 /// Gets the 16-bit integer value of the specified property. No conversion is 00103 /// performed, thus the property must be DataType_Int16 or an exception 00104 /// is thrown. 00105 /// 00106 /// \param name 00107 /// Input the property name. 00108 /// 00109 /// \return 00110 /// Returns the System::Int16 value. 00111 /// 00112 System::Int16 GetInt16(System::String* name); 00113 00114 /// \brief 00115 /// Gets the 32-bit integer value of the specified property. No conversion is 00116 /// performed, thus the property must be DataType_Int32 or an exception 00117 /// is thrown. 00118 /// 00119 /// \param name 00120 /// Input the property name. 00121 /// 00122 /// \return 00123 /// Returns the System::Int32 value 00124 /// 00125 System::Int32 GetInt32(System::String* name); 00126 00127 /// \brief 00128 /// Gets the 64-bit integer value of the specified property. No conversion is 00129 /// performed, thus the property must be DataType_Int64 or an exception 00130 /// is thrown. 00131 /// 00132 /// \param name 00133 /// Input the property name. 00134 /// 00135 /// \return 00136 /// Returns the System::Int63 value. 00137 /// 00138 System::Int64 GetInt64(System::String* name); 00139 00140 /// \brief 00141 /// Gets the Single floating point value of the specified property. No 00142 /// conversion is performed, thus the property must be DataType_Single 00143 /// or an exception is thrown. 00144 /// 00145 /// \param name 00146 /// Input the property name. 00147 /// 00148 /// \return 00149 /// Returns the single value 00150 /// 00151 System::Single GetSingle(System::String* name); 00152 00153 /// \brief 00154 /// Gets the string value of the specified property. No conversion is 00155 /// performed, thus the property must be DataType_String or an exception 00156 /// is thrown. 00157 /// 00158 /// \param name 00159 /// Input the property name. 00160 /// 00161 /// \return 00162 /// Returns the string value 00163 /// 00164 System::String* GetString(System::String* name); 00165 00166 /// \brief 00167 /// Gets a LOBValue reference. The LOB is fully read in and data available. 00168 /// Because no conversion is performed, the property must be DataType_BLOB or 00169 /// DataType_CLOB etc. (a LOB type) 00170 /// 00171 /// \param name 00172 /// Input the property name. 00173 /// 00174 /// \return 00175 /// Returns the reference to LOBValue 00176 /// 00177 NAMESPACE_OSGEO_FDO_EXPRESSION::LOBValue* GetLOB(System::String* name); 00178 00179 /// \brief 00180 /// Gets a reference of the specified LOB property as a BLOBStreamReader or 00181 /// CLOBStreamReader etc. to allow reading in blocks of data. 00182 /// Because no conversion is performed, the property must be DataType_BLOB 00183 /// or DataType_CLOB etc. (a LOB type) 00184 /// Cast the IStreamReader to the appropiate LOB Stream Reader. 00185 /// 00186 /// \param name 00187 /// Input the property name. 00188 /// 00189 /// \return 00190 /// Returns a reference to a LOB stream reader 00191 /// 00192 NAMESPACE_OSGEO_COMMON::IStreamReader* GetLOBStreamReader(System::String* name); 00193 00194 /// \brief 00195 /// Returns true if the value of the specified property is null. 00196 /// 00197 /// \param name 00198 /// Input the property name. 00199 /// 00200 /// \return 00201 /// Returns true if the value is null. 00202 /// 00203 System::Boolean IsNull(System::String* name); 00204 00205 /// \brief 00206 /// Gets the geometry value of the specified property as a byte array in 00207 /// FGF format. Because no conversion is performed, the property must be 00208 /// of Geometric type; otherwise, an exception is thrown. 00209 /// 00210 /// \param name 00211 /// Input the property name. 00212 /// 00213 /// \return 00214 /// Returns the byte array in FGF format. 00215 /// 00216 System::Byte GetGeometry(System::String* name) []; 00217 00218 /// \brief 00219 /// Gets the raster object of the specified property. 00220 /// Because no conversion is performed, the property must be 00221 /// of Raster type; otherwise, an exception is thrown. 00222 /// 00223 /// \param name 00224 /// Input the property name. 00225 /// 00226 /// \return 00227 /// Returns the raster object. 00228 /// 00229 NAMESPACE_OSGEO_FDO_RASTER::IRaster* GetRaster(System::String* name); 00230 00231 /// \brief 00232 /// Advances the reader to the next item and returns true if there is 00233 /// another object to read or false if reading is complete. The default 00234 /// position of the reader is prior to the first item. Thus you must 00235 /// call ReadNext to begin accessing any data. 00236 /// 00237 /// \return 00238 /// Returns true if there is a next item. 00239 /// 00240 System::Boolean ReadNext(); 00241 00242 /// \brief 00243 /// Closes the IFeatureReader object, freeing any resources it may be holding. 00244 /// 00245 /// \return 00246 /// Returns nothing 00247 /// 00248 System::Void Close(); 00249 00250 /// \cond DOXYGEN-IGNORE 00251 protected: 00252 System::Void ReleaseUnmanagedObject(); 00253 /// \endcond 00254 00255 public private: 00256 IReaderImp(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_RUNTIME::Disposable(unmanaged, autoDelete) 00257 { 00258 00259 } 00260 00261 inline FdoIReader* GetImpObj(); 00262 }; 00263 00264 END_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE 00265 00266
Comments or suggestions? Send us feedback. |