1*b1cdbd2cSJim Jagielski #ifndef WPXSVSTREAM_H 2*b1cdbd2cSJim Jagielski #define WPXSVSTREAM_H 3*b1cdbd2cSJim Jagielski 4*b1cdbd2cSJim Jagielski #include <sot/storage.hxx> 5*b1cdbd2cSJim Jagielski #include <com/sun/star/io/XInputStream.hpp> 6*b1cdbd2cSJim Jagielski 7*b1cdbd2cSJim Jagielski #ifndef _COM_SUN_STAR_IO_XINPUTSTREAM_H_ 8*b1cdbd2cSJim Jagielski #include <com/sun/star/io/XSeekable.hpp> 9*b1cdbd2cSJim Jagielski #endif 10*b1cdbd2cSJim Jagielski 11*b1cdbd2cSJim Jagielski 12*b1cdbd2cSJim Jagielski #if defined _MSC_VER 13*b1cdbd2cSJim Jagielski #pragma warning( push, 1 ) 14*b1cdbd2cSJim Jagielski #endif 15*b1cdbd2cSJim Jagielski #include <libwpd/WPXStream.h> 16*b1cdbd2cSJim Jagielski #if defined _MSC_VER 17*b1cdbd2cSJim Jagielski #pragma warning( pop ) 18*b1cdbd2cSJim Jagielski #endif 19*b1cdbd2cSJim Jagielski 20*b1cdbd2cSJim Jagielski class WPXSvInputStream : public WPXInputStream 21*b1cdbd2cSJim Jagielski { 22*b1cdbd2cSJim Jagielski public: 23*b1cdbd2cSJim Jagielski WPXSvInputStream( ::com::sun::star::uno::Reference< 24*b1cdbd2cSJim Jagielski ::com::sun::star::io::XInputStream > xStream ); 25*b1cdbd2cSJim Jagielski virtual ~WPXSvInputStream(); 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski virtual bool isOLEStream(); 28*b1cdbd2cSJim Jagielski virtual WPXInputStream * getDocumentOLEStream(); 29*b1cdbd2cSJim Jagielski virtual WPXInputStream * getDocumentOLEStream(const char *name); 30*b1cdbd2cSJim Jagielski 31*b1cdbd2cSJim Jagielski virtual const uint8_t *read(size_t numBytes, size_t &numBytesRead); 32*b1cdbd2cSJim Jagielski virtual int seek(long offset, WPX_SEEK_TYPE seekType); 33*b1cdbd2cSJim Jagielski virtual long tell(); 34*b1cdbd2cSJim Jagielski virtual bool atEOS(); 35*b1cdbd2cSJim Jagielski 36*b1cdbd2cSJim Jagielski private: 37*b1cdbd2cSJim Jagielski SotStorageRef mxChildStorage; 38*b1cdbd2cSJim Jagielski SotStorageStreamRef mxChildStream; 39*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< 40*b1cdbd2cSJim Jagielski ::com::sun::star::io::XInputStream > mxStream; 41*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< 42*b1cdbd2cSJim Jagielski ::com::sun::star::io::XSeekable > mxSeekable; 43*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Sequence< sal_Int8 > maData; 44*b1cdbd2cSJim Jagielski sal_Int64 mnLength; 45*b1cdbd2cSJim Jagielski }; 46*b1cdbd2cSJim Jagielski 47*b1cdbd2cSJim Jagielski #endif 48