LibreOffice Module lotuswordpro (master)
1
lotuswordpro
inc
lwpobjhdr.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*************************************************************************
3
*
4
* The Contents of this file are made available subject to the terms of
5
* either of the following licenses
6
*
7
* - GNU Lesser General Public License Version 2.1
8
* - Sun Industry Standards Source License Version 1.1
9
*
10
* Sun Microsystems Inc., October, 2000
11
*
12
* GNU Lesser General Public License Version 2.1
13
* =============================================
14
* Copyright 2000 by Sun Microsystems, Inc.
15
* 901 San Antonio Road, Palo Alto, CA 94303, USA
16
*
17
* This library is free software; you can redistribute it and/or
18
* modify it under the terms of the GNU Lesser General Public
19
* License version 2.1, as published by the Free Software Foundation.
20
*
21
* This library is distributed in the hope that it will be useful,
22
* but WITHOUT ANY WARRANTY; without even the implied warranty of
23
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24
* Lesser General Public License for more details.
25
*
26
* You should have received a copy of the GNU Lesser General Public
27
* License along with this library; if not, write to the Free Software
28
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
29
* MA 02111-1307 USA
30
*
31
*
32
* Sun Industry Standards Source License Version 1.1
33
* =================================================
34
* The contents of this file are subject to the Sun Industry Standards
35
* Source License Version 1.1 (the "License"); You may not use this file
36
* except in compliance with the License. You may obtain a copy of the
37
* License at http://www.openoffice.org/license.html.
38
*
39
* Software provided under this License is provided on an "AS IS" basis,
40
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
41
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
42
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
43
* See the License for the specific provisions governing your rights and
44
* obligations concerning the Software.
45
*
46
* The Initial Developer of the Original Code is: IBM Corporation
47
*
48
* Copyright: 2008 by IBM Corporation
49
*
50
* All Rights Reserved.
51
*
52
* Contributor(s): _______________________________________
53
*
54
*
55
************************************************************************/
56
/*************************************************************************
57
* @file
58
* For LWP filter architecture prototype
59
************************************************************************/
60
61
#ifndef INCLUDED_LOTUSWORDPRO_INC_LWPOBJHDR_HXX
62
#define INCLUDED_LOTUSWORDPRO_INC_LWPOBJHDR_HXX
63
64
#include <config_lgpl.h>
65
#include "
lwpobjid.hxx
"
66
70
class
LwpObjectHeader
71
{
72
public
:
73
LwpObjectHeader
();
74
private
:
75
sal_uInt32
m_nTag
;
76
LwpObjectID
m_ID
;
77
sal_uInt32
m_nSize
;
//Data size
78
bool
m_bCompressed
;
79
80
//localize the following members to save memory
81
//sal_uInt8 m_nFlagBits;
82
//sal_uInt32 m_nVersionID;
83
//sal_uInt32 m_nRefCount;
84
//sal_uInt32 m_nNextVersionOffset;
85
//sal_uInt32 m_nNextVersionID;
86
//sal_uInt32 m_nHeaderSize;
87
88
enum
89
{
90
VERSION_BITS
= 0x03,
91
DEFAULT_VERSION
= 0x00,
92
ONE_BYTE_VERSION
= 0x01,
93
TWO_BYTE_VERSION
= 0x02,
94
FOUR_BYTE_VERSION
= 0x03,
95
96
REFCOUNT_BITS
= 0x0C,
97
ONE_BYTE_REFCOUNT
= 0x04,
98
TWO_BYTE_REFCOUNT
= 0x08,
99
FOUR_BYTE_REFCOUNT
= 0x0C,
100
101
SIZE_BITS
= 0x30,
102
ONE_BYTE_SIZE
= 0x10,
103
TWO_BYTE_SIZE
= 0x20,
104
FOUR_BYTE_SIZE
= 0x30,
105
106
HAS_PREVOFFSET
= 0x40,
107
DATA_COMPRESSED
= 0x80
108
};
109
110
public
:
111
bool
Read
(
LwpSvStream
&pStrm);
112
inline
sal_uInt32
GetTag
()
const
;
113
inline
sal_uInt32
GetSize
()
const
;
114
inline
LwpObjectID
&
GetID
();
115
inline
bool
IsCompressed
()
const
;
116
};
117
118
inline
sal_uInt32
LwpObjectHeader::GetTag
()
const
119
{
120
return
m_nTag
;
121
}
122
inline
sal_uInt32
LwpObjectHeader::GetSize
()
const
123
{
124
return
m_nSize
;
125
}
126
inline
LwpObjectID
&
LwpObjectHeader::GetID
()
127
{
128
return
m_ID
;
129
}
130
inline
bool
LwpObjectHeader::IsCompressed
()
const
131
{
132
return
m_bCompressed
;
133
}
134
#endif
135
136
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
LwpObjectHeader
Base class of all Lwp VO objects.
Definition:
lwpobjhdr.hxx:71
LwpObjectHeader::SIZE_BITS
@ SIZE_BITS
Definition:
lwpobjhdr.hxx:101
LwpObjectHeader::ONE_BYTE_REFCOUNT
@ ONE_BYTE_REFCOUNT
Definition:
lwpobjhdr.hxx:97
LwpObjectHeader::TWO_BYTE_REFCOUNT
@ TWO_BYTE_REFCOUNT
Definition:
lwpobjhdr.hxx:98
LwpObjectHeader::FOUR_BYTE_REFCOUNT
@ FOUR_BYTE_REFCOUNT
Definition:
lwpobjhdr.hxx:99
LwpObjectHeader::ONE_BYTE_SIZE
@ ONE_BYTE_SIZE
Definition:
lwpobjhdr.hxx:102
LwpObjectHeader::TWO_BYTE_SIZE
@ TWO_BYTE_SIZE
Definition:
lwpobjhdr.hxx:103
LwpObjectHeader::DATA_COMPRESSED
@ DATA_COMPRESSED
Definition:
lwpobjhdr.hxx:107
LwpObjectHeader::REFCOUNT_BITS
@ REFCOUNT_BITS
Definition:
lwpobjhdr.hxx:96
LwpObjectHeader::TWO_BYTE_VERSION
@ TWO_BYTE_VERSION
Definition:
lwpobjhdr.hxx:93
LwpObjectHeader::ONE_BYTE_VERSION
@ ONE_BYTE_VERSION
Definition:
lwpobjhdr.hxx:92
LwpObjectHeader::HAS_PREVOFFSET
@ HAS_PREVOFFSET
Definition:
lwpobjhdr.hxx:106
LwpObjectHeader::FOUR_BYTE_VERSION
@ FOUR_BYTE_VERSION
Definition:
lwpobjhdr.hxx:94
LwpObjectHeader::VERSION_BITS
@ VERSION_BITS
Definition:
lwpobjhdr.hxx:90
LwpObjectHeader::FOUR_BYTE_SIZE
@ FOUR_BYTE_SIZE
Definition:
lwpobjhdr.hxx:104
LwpObjectHeader::DEFAULT_VERSION
@ DEFAULT_VERSION
Definition:
lwpobjhdr.hxx:91
LwpObjectHeader::m_nTag
sal_uInt32 m_nTag
Definition:
lwpobjhdr.hxx:75
LwpObjectHeader::m_nSize
sal_uInt32 m_nSize
Definition:
lwpobjhdr.hxx:77
LwpObjectHeader::Read
bool Read(LwpSvStream &pStrm)
@descr read header from stream
Definition:
lwpobjhdr.cxx:74
LwpObjectHeader::m_bCompressed
bool m_bCompressed
Definition:
lwpobjhdr.hxx:78
LwpObjectHeader::GetTag
sal_uInt32 GetTag() const
Definition:
lwpobjhdr.hxx:118
LwpObjectHeader::LwpObjectHeader
LwpObjectHeader()
Definition:
lwpobjhdr.cxx:65
LwpObjectHeader::m_ID
LwpObjectID m_ID
Definition:
lwpobjhdr.hxx:76
LwpObjectHeader::GetID
LwpObjectID & GetID()
Definition:
lwpobjhdr.hxx:126
LwpObjectHeader::IsCompressed
bool IsCompressed() const
Definition:
lwpobjhdr.hxx:130
LwpObjectHeader::GetSize
sal_uInt32 GetSize() const
Definition:
lwpobjhdr.hxx:122
LwpObjectID
object id class
Definition:
lwpobjid.hxx:79
LwpSvStream
encapsulate XInputStream to provide SvStream like interfaces
Definition:
lwpsvstream.hxx:69
lwpobjid.hxx
Generated on Sun Jul 30 2023 04:29:21 for LibreOffice Module lotuswordpro (master) by
1.9.3