16#include <com/sun/star/io/XInputStream.hpp>
17#include <com/sun/star/sdbc/XBlob.hpp>
23 typedef ::cppu::WeakComponentImplHelper< css::sdbc::XBlob,
24 css::io::XInputStream >
60 Blob(isc_db_handle* pDatabaseHandle,
61 isc_tr_handle* pTransactionHandle,
62 ISC_QUAD
const & aBlobID);
67 virtual sal_Int64 SAL_CALL
69 virtual css::uno::Sequence< sal_Int8 > SAL_CALL
70 getBytes(sal_Int64 aPosition, sal_Int32 aLength)
override;
71 virtual css::uno::Reference< css::io::XInputStream > SAL_CALL
73 virtual sal_Int64 SAL_CALL
74 position(
const css::uno::Sequence< sal_Int8 >& rPattern,
75 sal_Int64 aStart)
override;
76 virtual sal_Int64 SAL_CALL
77 positionOfBlob(
const css::uno::Reference< css::sdbc::XBlob >& rPattern,
78 sal_Int64 aStart)
override;
81 virtual sal_Int32 SAL_CALL
82 readBytes(css::uno::Sequence< sal_Int8 >& rDataOut,
83 sal_Int32 nBytes)
override;
84 virtual sal_Int32 SAL_CALL
86 sal_Int32 nMaximumBytes)
override;
89 virtual sal_Int32 SAL_CALL
95 virtual void SAL_CALL
disposing()
override;
virtual void SAL_CALL closeInput() override
void closeBlob()
Closes the blob and cleans up resources – can be used to reset the blob if we e.g.
sal_uInt16 m_nMaxSegmentSize
sal_Int64 m_nBlobPosition
virtual css::uno::Reference< css::io::XInputStream > SAL_CALL getBinaryStream() override
isc_db_handle * m_pDatabaseHandle
bool readOneSegment(std::vector< char > &rDataOut)
virtual sal_Int32 SAL_CALL readSomeBytes(css::uno::Sequence< sal_Int8 > &rDataOut, sal_Int32 nMaximumBytes) override
sal_uInt16 getMaximumSegmentSize()
isc_tr_handle * m_pTransactionHandle
virtual sal_Int32 SAL_CALL readBytes(css::uno::Sequence< sal_Int8 > &rDataOut, sal_Int32 nBytes) override
virtual sal_Int64 SAL_CALL position(const css::uno::Sequence< sal_Int8 > &rPattern, sal_Int64 aStart) override
virtual sal_Int64 SAL_CALL positionOfBlob(const css::uno::Reference< css::sdbc::XBlob > &rPattern, sal_Int64 aStart) override
virtual sal_Int32 SAL_CALL available() override
virtual void SAL_CALL disposing() override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getBytes(sal_Int64 aPosition, sal_Int32 aLength) override
void ensureBlobIsOpened()
isc_blob_handle m_blobHandle
virtual void SAL_CALL skipBytes(sal_Int32 nBytes) override
Blob(isc_db_handle *pDatabaseHandle, isc_tr_handle *pTransactionHandle, ISC_QUAD const &aBlobID)
virtual sal_Int64 SAL_CALL length() override
ISC_STATUS_ARRAY m_statusVector
::cppu::WeakComponentImplHelper< css::sdbc::XBlob, css::io::XInputStream > Blob_BASE