Changes between Version 3 and Version 4 of FDORfc34


Ignore:
Timestamp:
04/15/09 13:23:32 (16 years ago)
Author:
gregboone
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FDORfc34

    v3 v4  
    6363== Requirements ==
    6464
     65The following FDo interfaces will be updated to allow for indexed access:
     66
     67/// \brief
     68/// The FdoIFeatureReader interface provides a forward-only, read-only iterator
     69/// for reading feature data.  A reference to an FdoIFeatureReader is returned
     70/// from the Select and SelectAndLock commands. Because the initial position of the
     71/// FdoIFeatureReader is prior to the first item, you must call
     72/// ReadNext to begin accessing any data.
     73class FdoIReader: public FdoIDisposable
     74{
     75public:
     76...
     77...
     78...
     79    /// \brief
     80    /// Returns true if the value of the property at the specified
     81    /// index is null.
     82    ///
     83    /// \param index
     84    /// Input the index of the property.
     85    ///
     86    /// \return
     87    /// Returns true if the value is null.
     88    ///
     89    FDO_API virtual FdoBoolean IsNull(FdoInt32 index);
     90
     91    /// \brief
     92    /// Gets the Boolean value of the property specified at the index position.
     93    /// No conversion is performed, thus the property must be FdoDataType_Boolean
     94    /// or an exception is thrown.
     95    ///
     96    /// \param index
     97    /// Input the index of the property.
     98    ///
     99    /// \return
     100    /// Returns the Boolean value.
     101    ///
     102    FDO_API virtual bool GetBoolean(FdoInt32 index);
     103
     104    /// \brief
     105    /// Gets the Byte value of the property specified at the index position.
     106    /// No conversion is performed, thus the property must be FdoDataType_Byte
     107    /// or an exception is thrown.
     108    ///
     109    /// \param index
     110    /// Input the index of the property.
     111    ///
     112    /// \return
     113    /// Returns the byte value.
     114    ///
     115    FDO_API virtual FdoByte GetByte(FdoInt32 index);
     116
     117    /// \brief
     118    /// Gets the date and time value of the of the property specified at
     119    /// the index position. No conversion is performed, thus the property
     120    /// must be FdoDataType_DateTime or an exception is thrown.
     121    ///
     122    /// \param index
     123    /// Input the index of the property.
     124    ///
     125    /// \return
     126    /// Returns the date and time value.
     127    ///
     128    FDO_API virtual FdoDateTime GetDateTime(FdoInt32 index);
     129
     130    /// \brief
     131    /// Gets the double-precision floating point value of the property specified at
     132    /// the index position. No conversion is performed, thus the property must be
     133    /// FdoDataType_Double or an exception is thrown.
     134    ///
     135    /// \param index
     136    /// Input the index of the property.
     137    ///
     138    /// \return
     139    /// Returns the double floating point value
     140    ///
     141    FDO_API virtual FdoDouble GetDouble(FdoInt32 index);
     142
     143    /// \brief
     144    /// Gets the 16-bit integer value of the property specified at
     145    /// the index position. No conversion is performed, thus the
     146    /// property must be FdoDataType_Int16 or an exception is thrown.
     147    ///
     148    /// \param index
     149    /// Input the index of the property.
     150    ///
     151    /// \return
     152    /// Returns the FdoInt16 value.
     153    ///
     154    FDO_API virtual FdoInt16 GetInt16(FdoInt32 index);
     155
     156    /// \brief
     157    /// Gets the 32-bit integer value of the property specified at
     158    /// the index position. No conversion is performed, thus the
     159    /// property must be FdoDataType_Int32 or an exception is thrown.
     160    ///
     161    /// \param index
     162    /// Input the index of the property.
     163    ///
     164    /// \return
     165    /// Returns the FdoInt32 value
     166    ///
     167    FDO_API virtual FdoInt32 GetInt32(FdoInt32 index);
     168
     169    /// \brief
     170    /// Gets the 64-bit integer value of the property specified at
     171    /// the index position. No conversion is performed, thus the
     172    /// property must be FdoDataType_Int64 or an exception is thrown.
     173    ///
     174    /// \param index
     175    /// Input the index of the property.
     176    ///
     177    /// \return
     178    /// Returns the FdoInt64 value.
     179    ///
     180    FDO_API virtual FdoInt64 GetInt64(FdoInt32 index);
     181
     182    /// \brief
     183    /// Gets the Single floating point value of the property specified at
     184    /// the index position. No conversion is performed, thus the property
     185    /// must be FdoDataType_Single or an exception is thrown.
     186    ///
     187    /// \param index
     188    /// Input the index of the property.
     189    ///
     190    /// \return
     191    /// Returns the single value
     192    ///
     193    FDO_API virtual FdoFloat GetSingle(FdoInt32 index);
     194
     195    /// \brief
     196    /// Gets the string value of the property specified at the index
     197    /// position. No conversion is performed, thus the property must
     198    /// be FdoDataType_String or an exception is thrown.
     199    ///
     200    /// \param index
     201    /// Input the index of the property.
     202    ///
     203    /// \return
     204    /// Returns the string value
     205    ///
     206    FDO_API virtual FdoString* GetString(FdoInt32 index);
     207
     208    /// \brief
     209    /// Gets a LOBValue reference to the property specified at the index
     210    /// position. The LOB is fully read in and data available.
     211    /// Because no conversion is performed, the property must be
     212    /// FdoDataType_BLOB or FdoDataType_CLOB etc. (a LOB type)
     213    ///
     214    /// \param index
     215    /// Input the index of the property.
     216    ///
     217    /// \return
     218    /// Returns the reference to LOBValue
     219    ///
     220    FDO_API virtual FdoLOBValue* GetLOB(FdoInt32 index);
     221
     222    /// \brief
     223    /// Gets a reference to the specified LOB property, specified at the index
     224    /// position. The reference is returned as an FdoBLOBStreamReader
     225    /// or an FdoCLOBStreamReader, to allow reading in blocks of data.
     226    /// Because no conversion is performed, the property must be FdoDataType_BLOB
     227    /// or FdoDataType_CLOB etc. (a LOB type) Cast the FdoIStreamReader
     228    /// to the appropiate LOB Stream Reader.
     229    ///
     230    /// \param index
     231    /// Input the index of the property.
     232    ///
     233    /// \return
     234    /// Returns a reference to a LOB stream reader
     235    ///
     236    FDO_API virtual FdoIStreamReader* GetLOBStreamReader(FdoInt32 index);
     237
     238    /// \brief
     239    /// Gets the geometry value of the property, at the specified index, as a 
     240    /// byte array in FGF format. Because no conversion is performed, the
     241    /// property must be of Geometric type; otherwise, an exception is thrown.
     242    ///
     243    /// \param index
     244    /// Input the index of the property.
     245    ///
     246    /// \return
     247    /// Returns the byte array in FGF format.
     248    ///
     249    FDO_API virtual FdoByteArray* GetGeometry(FdoInt32 index);
     250
     251    /// \brief
     252    /// Gets the raster object of the property at the specified index.
     253    /// Because no conversion is performed, the property must be
     254    /// of Raster type; otherwise, an exception is thrown.
     255    ///
     256    /// \param index
     257    /// Input the index of the property.
     258    ///
     259    /// \return
     260    /// Returns the raster object.
     261    ///
     262    FDO_API virtual FdoIRaster* GetRaster(FdoInt32 index);
     263};
     264
     265
     266
     267
     268
    65269== Provider Implementation ==
    66270