LibreOffice Module lotuswordpro (master) 1
lwpdlvlist.cxx
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 * list class implementation
59 ************************************************************************/
60
61#include "lwpdlvlist.hxx"
62#include <lwpfilehdr.hxx>
63#include "lwpproplist.hxx"
64
66 : LwpObject(objHdr, pStrm)
67{
68}
73{
74 LwpObjectStream* pObjStrm = m_pObjStrm.get();
75 m_ListNext.ReadIndexed(pObjStrm);
77 pObjStrm->SkipExtra();
78
81 pObjStrm->SkipExtra();
82}
84 : LwpDLVList(objHdr, pStrm)
85{
86}
91{
93
94 LwpObjectStream* pObjStrm = m_pObjStrm.get();
95
96 m_ChildHead.ReadIndexed(pObjStrm);
98 m_ChildTail.ReadIndexed(pObjStrm);
100 pObjStrm->SkipExtra();
101
102 m_Parent.ReadIndexed(pObjStrm);
104 pObjStrm->SkipExtra();
105
106 ReadName(pObjStrm);
107}
112{
113 m_Name.Read(pObjStrm);
115 pObjStrm->SkipExtra();
116}
122 : LwpDLNFVList(objHdr, pStrm)
123 , m_bHasProperties(true)
124{
125}
130{
132
133 LwpObjectStream* pObjStrm = m_pObjStrm.get();
134 ReadPropertyList(pObjStrm);
135 pObjStrm->SkipExtra();
136}
141{
142 if (LwpFileHeader::m_nFileRevision >= 0x0000B)
143 {
144 m_bHasProperties = pObjStrm->QuickReaduInt8() != 0;
146 {
147 m_pPropList.reset(new LwpPropList);
148 m_pPropList->Read(pObjStrm);
149 }
150 }
151}
156
161{
162 m_ListHead.ReadIndexed(pObjStrm);
164 {
165 m_ListTail.ReadIndexed(pObjStrm);
166 }
168 {
169 pObjStrm->SkipExtra();
170 }
171}
176
177/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
void Read(LwpObjectStream *pStrm)
@descr read atomholder from object stream the default encoding used in Word Pro is 1252
std::unique_ptr< LwpPropList > m_pPropList
Definition: lwpdlvlist.hxx:131
void Read() override
@descr Read name of LwpDLNFVList from object stream
Definition: lwpdlvlist.cxx:129
virtual ~LwpDLNFPVList() override
@descr release property list
Definition: lwpdlvlist.cxx:155
LwpDLNFPVList(LwpObjectHeader const &objHdr, LwpSvStream *pStrm)
@descr ctor of LwpDLNFPVList from object stream Note that m_bHasProperties is initialized to true
Definition: lwpdlvlist.cxx:121
bool m_bHasProperties
Definition: lwpdlvlist.hxx:130
void ReadPropertyList(LwpObjectStream *pObjStrm)
@descr Read property list
Definition: lwpdlvlist.cxx:140
Double Linked Named Family Virtual List.
Definition: lwpdlvlist.hxx:91
LwpObjectID m_Parent
Definition: lwpdlvlist.hxx:100
void Read() override
@descr Read LwpDLNFVList data from object stream
Definition: lwpdlvlist.cxx:90
LwpObjectID m_ChildTail
Definition: lwpdlvlist.hxx:99
LwpAtomHolder m_Name
Definition: lwpdlvlist.hxx:101
LwpObjectID m_ChildHead
Definition: lwpdlvlist.hxx:98
LwpDLNFVList(LwpObjectHeader const &objHdr, LwpSvStream *pStrm)
Definition: lwpdlvlist.cxx:83
void ReadName(LwpObjectStream *pObjStrm)
@descr Read name of LwpDLNFVList from object stream
Definition: lwpdlvlist.cxx:111
LwpObjectID m_ListTail
Definition: lwpdlvlist.hxx:145
LwpObjectID m_ListHead
Definition: lwpdlvlist.hxx:144
void Read(LwpObjectStream *pObjStrm)
@descr Read head id and tail id
Definition: lwpdlvlist.cxx:160
LwpObjectID m_objHead
Definition: lwpdlvlist.hxx:163
void Read(LwpObjectStream *pObjStrm)
@descr Read head id
Definition: lwpdlvlist.cxx:175
Double Linked Virtual List.
Definition: lwpdlvlist.hxx:72
void Read() override
@descr Read LwpDLVList data from object stream
Definition: lwpdlvlist.cxx:72
LwpObjectID m_ListPrevious
Definition: lwpdlvlist.hxx:83
LwpObjectID m_ListNext
Definition: lwpdlvlist.hxx:84
LwpDLVList(LwpObjectHeader const &objHdr, LwpSvStream *pStrm)
Definition: lwpdlvlist.cxx:65
static sal_uInt16 m_nFileRevision
Definition: lwpfilehdr.hxx:77
Base class of all Lwp VO objects.
Definition: lwpobjhdr.hxx:71
void ReadIndexed(LwpSvStream *pStrm)
@descr Read object id with indexed format from stream if index>0, lowid is get from time table per th...
Definition: lwpobjid.cxx:96
bool IsNull() const
Definition: lwpobjid.hxx:110
stream class for LwpObject body data provide stream like interface to read object data
Definition: lwpobjstrm.hxx:77
void SkipExtra()
@descr skip extra bytes
Definition: lwpobjstrm.cxx:258
sal_uInt8 QuickReaduInt8(bool *pFailure=nullptr)
@descr Quick read sal_uInt8
Definition: lwpobjstrm.cxx:230
Base class of all Lwp VO objects.
Definition: lwpobj.hxx:83
std::unique_ptr< LwpObjectStream > m_pObjStrm
Definition: lwpobj.hxx:90
encapsulate XInputStream to provide SvStream like interfaces
Definition: lwpsvstream.hxx:69