#ifndef WPXSVSTREAM_H #define WPXSVSTREAM_H #include #include #ifndef _COM_SUN_STAR_IO_XINPUTSTREAM_H_ #include #endif #if defined _MSC_VER #pragma warning( push, 1 ) #endif #include #if defined _MSC_VER #pragma warning( pop ) #endif class WPXSvInputStream : public WPXInputStream { public: WPXSvInputStream( ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > xStream ); virtual ~WPXSvInputStream(); virtual bool isOLEStream(); virtual WPXInputStream * getDocumentOLEStream(); virtual WPXInputStream * getDocumentOLEStream(const char *name); virtual const uint8_t *read(size_t numBytes, size_t &numBytesRead); virtual int seek(long offset, WPX_SEEK_TYPE seekType); virtual long tell(); virtual bool atEOS(); private: SotStorageRef mxChildStorage; SotStorageStreamRef mxChildStream; ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > mxStream; ::com::sun::star::uno::Reference< ::com::sun::star::io::XSeekable > mxSeekable; ::com::sun::star::uno::Sequence< sal_Int8 > maData; sal_Int64 mnLength; }; #endif