1 #ifndef SDERASTER_INCLUDED
2 #define SDERASTER_INCLUDED
3 
4 #include "gdal_sde.h"
5 
6 
7 class SDEDataset : public GDALDataset
8 {
9     friend class SDERasterBand;
10 
11     private:
12 
13 
14         LONG                nSubDataCount;
15         char*               pszWKT;
16 
17         double              dfMinX, dfMaxX, dfMinY, dfMaxY;
18 
19         GDALDataType        eDataType;
20         SE_RASCOLINFO*      paohSDERasterColumns;
21         SE_RASCOLINFO       hRasterColumn;
22 
23 
24         CPLErr              ComputeRasterInfo(void);
25         SE_RASBANDINFO*     paohSDERasterBands;
26 
27     public:
28         SDEDataset();
29         ~SDEDataset();
30 
31         static GDALDataset *Open( GDALOpenInfo * );
32 
33 
34     protected:
35 
36         // SDE-specific stuff
37         SE_CONNECTION      hConnection;
38         SE_RASTERATTR      hAttributes;
39         SE_STREAM          hStream;
40 
41         char                *pszLayerName;
42         char                *pszColumnName;
43 
44         virtual CPLErr  GetGeoTransform( double * padfTransform );
45         virtual int     GetRasterCount(void);
46         virtual int     GetRasterXSize(void);
47         virtual int     GetRasterYSize(void);
48 
49         const char *GetProjectionRef();
50 };
51 
52 
53 
54 #endif
55