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: stgole.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 #ifndef _SDSTOR_STGOLE_HXX
32 #define _SDSTOR_STGOLE_HXX
34 #include <string.h> // memset()
37 #include "stgelem.hxx"
39 class StgInternalStream
: public SvStream
41 BaseStorageStream
* pStrm
;
42 virtual ULONG
GetData( void* pData
, ULONG nSize
);
43 virtual ULONG
PutData( const void* pData
, ULONG nSize
);
44 virtual ULONG
SeekPos( ULONG nPos
);
45 virtual void FlushData();
47 StgInternalStream( BaseStorage
&, const String
&, BOOL
);
52 // standard stream "\1CompObj"
54 class StgCompObjStream
: public StgInternalStream
60 StgCompObjStream( BaseStorage
&, BOOL
);
61 ClsId
& GetClsId() { return aClsId
; }
62 String
& GetUserName() { return aUserName
; }
63 ULONG
& GetCbFormat() { return nCbFormat
; }
68 // standard stream "\1Ole"
70 class StgOleStream
: public StgInternalStream
74 StgOleStream( BaseStorage
&, BOOL
);
75 sal_uInt32
& GetFlags() { return nFlags
; }