1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef _SDSTOR_STGOLE_HXX
21 #define _SDSTOR_STGOLE_HXX
23 #include <string.h> // memset()
25 #include "sot/stg.hxx"
26 #include "stgelem.hxx"
28 class StgInternalStream
: public SvStream
30 BaseStorageStream
* pStrm
;
31 virtual sal_uLong
GetData( void* pData
, sal_uLong nSize
);
32 virtual sal_uLong
PutData( const void* pData
, sal_uLong nSize
);
33 virtual sal_uLong
SeekPos( sal_uLong nPos
);
34 virtual void FlushData();
36 StgInternalStream( BaseStorage
&, const String
&, sal_Bool
);
41 // standard stream "\1CompObj"
43 class StgCompObjStream
: public StgInternalStream
49 StgCompObjStream( BaseStorage
&, sal_Bool
);
50 ClsId
& GetClsId() { return aClsId
; }
51 String
& GetUserName() { return aUserName
; }
52 sal_uLong
& GetCbFormat() { return nCbFormat
; }
57 // standard stream "\1Ole"
59 class StgOleStream
: public StgInternalStream
63 StgOleStream( BaseStorage
&, sal_Bool
);
64 sal_uInt32
& GetFlags() { return nFlags
; }
71 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */