1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: WW8StreamImpl.hxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #include <com/sun/star/uno/XComponentContext.hpp>
32 #include <com/sun/star/io/XInputStream.hpp>
33 #include <com/sun/star/container/XNameContainer.hpp>
34 #include <doctok/WW8Document.hxx>
35 #ifndef INCLUDED_OUTPUT_WITH_DEPTH_HXX
36 #include <resourcemodel/OutputWithDepth.hxx>
39 namespace writerfilter
{
42 using namespace ::com::sun::star
;
44 class WW8StreamImpl
: public WW8Stream
46 uno::Reference
<uno::XComponentContext
> mrComponentContext
;
47 uno::Reference
<io::XInputStream
> mrStream
;
48 uno::Reference
<container::XNameContainer
> xOLESimpleStorage
;
49 uno::Reference
<lang::XMultiComponentFactory
> xFactory
;
52 WW8StreamImpl(uno::Reference
<uno::XComponentContext
> rContext
,
53 uno::Reference
<io::XInputStream
> rStream
);
54 virtual ~WW8StreamImpl();
56 virtual WW8Stream::Pointer_t
getSubStream(const ::rtl::OUString
& rId
);
58 virtual Sequence
get(sal_uInt32 nOffset
, sal_uInt32 nCount
)
61 //virtual bool put(sal_uInt32 nOffset, const Sequence & rSeq);
63 virtual string
getSubStreamNames() const;
64 virtual uno::Sequence
<rtl::OUString
> getSubStreamUNames() const;
66 virtual void dump(OutputWithDepth
<string
> & o
) const;