FDO .NET API Reference Feature Data Objects

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

Comments or suggestions? Send us feedback.