19#ifndef INCLUDED_COMPHELPER_SEQSTREAM_HXX
20#define INCLUDED_COMPHELPER_SEQSTREAM_HXX
22#include <config_options.h>
23#include <com/sun/star/uno/Sequence.hxx>
24#include <com/sun/star/io/XInputStream.hpp>
25#include <com/sun/star/io/XOutputStream.hpp>
26#include <com/sun/star/io/XSeekable.hpp>
27#include <com/sun/star/lang/XUnoTunnel.hpp>
42 :
public ::cppu::WeakImplHelper< css::io::XInputStream, css::io::XSeekable, css::lang::XUnoTunnel >,
46 css::uno::Sequence<sal_Int8>
const m_aData;
53 virtual sal_Int32 SAL_CALL
readBytes( css::uno::Sequence<sal_Int8>& aData, sal_Int32 nBytesToRead )
override;
55 virtual sal_Int32 SAL_CALL
readSomeBytes( css::uno::Sequence<sal_Int8>& aData, sal_Int32 nMaxBytesToRead )
override;
57 virtual void SAL_CALL skipBytes( sal_Int32 nBytesToSkip )
override;
59 virtual sal_Int32 SAL_CALL available( )
override;
61 virtual void SAL_CALL closeInput( )
override;
63 virtual void SAL_CALL seek( sal_Int64 location )
override;
64 virtual sal_Int64 SAL_CALL getPosition( )
override;
65 virtual sal_Int64 SAL_CALL
getLength( )
override;
68 virtual sal_Int64 SAL_CALL getSomething(
const css::uno::Sequence< sal_Int8 >& aIdentifier )
override;
71 virtual sal_Int32 readSomeBytes(
sal_Int8* pData, sal_Int32 nBytesToRead )
override;
79 :
public ::cppu::WeakImplHelper< css::io::XOutputStream >
85 css::uno::Sequence< sal_Int8 >& m_rSequence;
86 double m_nResizeFactor;
87 sal_Int32
const m_nMinimumResize;
97 void finalizeOutput();
98 virtual ~OSequenceOutputStream()
override {
if (m_bConnected) finalizeOutput(); }
113 OSequenceOutputStream(
114 css::uno::Sequence< sal_Int8 >& _rSeq,
115 double _nResizeFactor = 1.3,
116 sal_Int32 _nMinimumResize = 128
120 virtual void SAL_CALL writeBytes(
const css::uno::Sequence< sal_Int8 >& aData )
override;
122 virtual void SAL_CALL flush( )
override;
127 virtual void SAL_CALL closeOutput( )
override;
Interface that we can cast to, to bypass the inefficiency of using Sequence<sal_Int8> when reading vi...
#define COMPHELPER_DLLPUBLIC
double getLength(const B2DPolygon &rCandidate)