update dev300-m58
[ooovba.git] / sot / source / sdstor / stgole.hxx
blob8c4cfb6c359436d474804ea3d1a6d208214f8fac
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: stgole.hxx,v $
10 * $Revision: 1.5 $
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()
36 #include "stg.hxx"
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();
46 public:
47 StgInternalStream( BaseStorage&, const String&, BOOL );
48 ~StgInternalStream();
49 void Commit();
52 // standard stream "\1CompObj"
54 class StgCompObjStream : public StgInternalStream
56 ClsId aClsId;
57 String aUserName;
58 ULONG nCbFormat;
59 public:
60 StgCompObjStream( BaseStorage&, BOOL );
61 ClsId& GetClsId() { return aClsId; }
62 String& GetUserName() { return aUserName; }
63 ULONG& GetCbFormat() { return nCbFormat; }
64 BOOL Load();
65 BOOL Store();
68 // standard stream "\1Ole"
70 class StgOleStream : public StgInternalStream
72 sal_uInt32 nFlags;
73 public:
74 StgOleStream( BaseStorage&, BOOL );
75 sal_uInt32& GetFlags() { return nFlags; }
76 BOOL Load();
77 BOOL Store();
80 #endif