00001 00021 #ifndef INC_SPATMOD_IMAGESOURCEHTTP_H 00022 #define INC_SPATMOD_IMAGESOURCEHTTP_H 00023 00024 #ifndef INC_SPATMOD_IMAGESOURCE_H 00025 #include <spatmod/imagesource.h> 00026 #endif 00027 00028 #ifndef INC_MI32_MISTRING_H 00029 #include <mi32/mistring.h> 00030 #endif 00031 00032 class HTTPMESSAGE; 00033 class TRANS2D_MAPGEN; 00034 00035 namespace SPATMOD { 00036 namespace IMAGE { 00037 00038 //===================================================================================================================== 00039 00047 class SOURCE_HTTP : public SOURCE { 00048 public: 00049 00051 enum STATUS { 00052 STATUS_Waiting, 00053 STATUS_Complete, 00054 STATUS_Failed 00055 }; 00056 00058 SOURCE_HTTP ( 00059 const MISTRING& url, 00060 const PIXEL& PixelProp, 00061 UINT32 TotalColumns, 00062 UINT32 TotalRows, 00063 const TRANS2D_MAPGEN *pTransToCRS = 0 00064 ); 00065 00066 // Destructor. 00067 virtual ~SOURCE_HTTP (); 00068 00070 ERRVALUE GetErrValue ( 00071 ) const { return (m_ErrValue); } 00072 00074 STATUS GetStatus ( 00075 ) const { return (m_Status); } 00076 00077 private: 00078 #ifndef GENERATING_DOXYGEN_OUTPUT 00079 00080 MISTRING m_url; 00081 SOURCE *m_pSource; 00082 STATUS m_Status; 00083 ERRVALUE m_ErrValue; 00084 00085 void OnNotifyReply ( 00086 HTTPMESSAGE& reply // Will have data detached on return if successful 00087 ); 00088 00089 void SetStatusError ( 00090 ERRVALUE err 00091 ); 00092 00093 // BASE overrides. 00094 virtual ERRVALUE v_GetDimensions (DIMENSIONS& dimensions, double zoom) const; 00095 virtual const PIXELTABLE* v_GetPixelLookupTable () const; 00096 virtual ZOOMABILITY v_GetZoomAbility (SIMPLE_ARRAY<double>& ZoomsAllowed) const; 00097 virtual float v_QueryIterator (const SECTION_ITERATOR& iterator) const; 00098 00099 // STAGE overrides. 00100 virtual ERRVALUE v_Initialize (); 00101 virtual ERRVALUE v_PullBegin (const SECTION_ITERATOR& iterator); 00102 virtual ERRVALUE v_PullEnd (); 00103 virtual ERRVALUE v_PullSubSection (const SECTION& SubSection, BUFFER& buffer); 00104 00105 // Unimplemented 00106 SOURCE_HTTP (const SOURCE_HTTP&); 00107 SOURCE_HTTP& operator= (const SOURCE_HTTP&); 00108 #endif // GENERATING_DOXYGEN_OUTPUT 00109 00110 }; 00111 00112 //===================================================================================================================== 00113 00114 } // End namespace IMAGE 00115 } // End namespace SPATMOD 00116 00117 #endif // INC_SPATMOD_IMAGESOURCEHTTP_H 00118
1.6.1