| 65 | The 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. |
| 73 | class FdoIReader: public FdoIDisposable |
| 74 | { |
| 75 | public: |
| 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 | |