LibreOffice Module lotuswordpro (master) 1
lwpobjfactory.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 * For LWP filter architecture prototype
59 ************************************************************************/
60
61#include <lwpobjfactory.hxx>
62#include <lwpdefs.hxx>
63#include "lwpdoc.hxx"
64#include "lwpstory.hxx"
65#include "lwplayout.hxx"
66#include "lwppara.hxx"
67#include "lwpparastyle.hxx"
68#include "lwpcharacterstyle.hxx"
69#include "lwppiece.hxx"
70#include "lwptabrack.hxx"
71#include "lwpsilverbullet.hxx"
72#include "lwpdivinfo.hxx"
73#include "lwpholder.hxx"
74#include "lwpdivopts.hxx"
75#include "lwplaypiece.hxx"
76#include "lwpsection.hxx"
77#include "lwppagehint.hxx"
78#include "lwpoleobject.hxx"
79#include "lwpgrfobj.hxx"
80#include "lwptable.hxx"
81#include "lwptblcell.hxx"
82#include "lwpmarker.hxx"
83#include "lwpproplist.hxx"
84#include "lwpframelayout.hxx"
85#include "lwptablelayout.hxx"
86#include "lwppagelayout.hxx"
87#include "lwptblformula.hxx"
88#include "lwpvpointer.hxx"
89#include "lwpfootnote.hxx"
90#include "lwpnumericfmt.hxx"
91#include "lwpfnlayout.hxx"
92#include "lwptoc.hxx"
93#include <lwpdocdata.hxx>
94#include "lwpnotes.hxx"
95#include "lwpverdocument.hxx"
96#include <sal/log.hxx>
97#include <osl/diagnose.h>
98
99//LwpObjectFactory* LwpObjectFactory::m_pMgr = NULL;
100
102 : m_pSvStream(pSvStream)
103{
104 m_IdToObjList.clear();
105}
106
108
113
118{
120 SAL_WARN_IF(type >= 300, "lwp", "invalid type: " << type);
121 switch (type)
122 {
123 case VO_DOCUMENT:
124 {
125 newObj = new LwpDocument(objHdr, m_pSvStream);
126 break;
127 }
128 case VO_DOCSOCK:
129 {
130 newObj = new LwpDocSock(objHdr, m_pSvStream);
131 break;
132 }
133 case VO_DIVISIONINFO:
134 {
135 newObj = new LwpDivInfo(objHdr, m_pSvStream);
136 break;
137 }
138 case VO_DIVOPTS:
139 {
140 newObj = new LwpDivisionOptions(objHdr, m_pSvStream);
141 break;
142 }
143 case VO_HEADCONTENT:
144 {
145 newObj = new LwpHeadContent(objHdr, m_pSvStream);
146 break;
147 }
148 case VO_HEADLAYOUT:
149 {
150 newObj = new LwpHeadLayout(objHdr, m_pSvStream);
151 break;
152 }
153 case VO_PAGELAYOUT:
154 {
155 newObj = new LwpPageLayout(objHdr, m_pSvStream);
156 break;
157 }
158 case VO_STORY:
159 {
160 newObj = new LwpStory(objHdr, m_pSvStream);
161 break;
162 }
163 case VO_PARA:
164 {
165 newObj = new LwpPara(objHdr, m_pSvStream);
166 break;
167 }
168 case VO_HEADERLAYOUT:
169 {
170 newObj = new LwpHeaderLayout(objHdr, m_pSvStream);
171 break;
172 }
173 case VO_FOOTERLAYOUT:
174 {
175 newObj = new LwpFooterLayout(objHdr, m_pSvStream);
176 break;
177 }
178 case VO_FRAMELAYOUT:
179 {
180 newObj = new LwpFrameLayout(objHdr, m_pSvStream);
181 break;
182 }
184 {
185 newObj = new LwpLayoutGeometry(objHdr, m_pSvStream);
186 break;
187 }
188 case VO_LAYOUTSCALE:
189 {
190 newObj = new LwpLayoutScale(objHdr, m_pSvStream);
191 break;
192 }
193 case VO_LAYOUTMARGINS:
194 {
195 newObj = new LwpLayoutMargins(objHdr, m_pSvStream);
196 break;
197 }
199 {
200 newObj = new LwpLayoutBorder(objHdr, m_pSvStream);
201 break;
202 }
204 {
205 newObj = new LwpLayoutBackground(objHdr, m_pSvStream);
206 break;
207 }
209 {
210 newObj = new LwpLayoutExternalBorder(objHdr, m_pSvStream);
211 break;
212 }
213 case VO_LAYOUTCOLUMNS:
214 {
215 newObj = new LwpLayoutColumns(objHdr, m_pSvStream);
216 break;
217 }
219 {
220 newObj = new LwpLayoutGutters(objHdr, m_pSvStream);
221 break;
222 }
224 {
225 newObj = new LwpLayoutJoins(objHdr, m_pSvStream);
226 break;
227 }
228 case VO_LAYOUTSHADOW:
229 {
230 newObj = new LwpLayoutShadow(objHdr, m_pSvStream);
231 break;
232 }
233 // 01/12/2005
234 case VO_PARASTYLE:
235 {
236 newObj = new LwpParaStyle(objHdr, m_pSvStream);
237 break;
238 }
240 {
241 newObj = new LwpCharacterStyle(objHdr, m_pSvStream);
242 break;
243 }
244 case VO_SILVERBULLET:
245 {
246 newObj = new LwpSilverBullet(objHdr, m_pSvStream);
247 break;
248 }
250 {
251 newObj = new LwpAlignmentPiece(objHdr, m_pSvStream);
252 break;
253 }
254 case VO_INDENTPIECE:
255 {
256 newObj = new LwpIndentPiece(objHdr, m_pSvStream);
257 break;
258 }
259 case VO_SPACINGPIECE:
260 {
261 newObj = new LwpSpacingPiece(objHdr, m_pSvStream);
262 break;
263 }
265 {
266 newObj = new LwpCharacterBorderPiece(objHdr, m_pSvStream);
267 break;
268 }
269 case VO_AMIKAKEPIECE:
270 {
271 newObj = new LwpAmikakePiece(objHdr, m_pSvStream);
272 break;
273 }
274
275 case VO_HEADHOLDER:
276 {
277 newObj = new LwpDLVListHeadHolder(objHdr, m_pSvStream);
278 break;
279 }
280
281 // start
283 {
284 newObj = new LwpParaBorderPiece(objHdr, m_pSvStream);
285 break;
286 }
287 case VO_BREAKSPIECE:
288 {
289 newObj = new LwpBreaksPiece(objHdr, m_pSvStream);
290 break;
291 }
293 {
294 newObj = new LwpNumberingPiece(objHdr, m_pSvStream);
295 break;
296 }
297 case VO_TABRACK:
298 {
299 newObj = new LwpTabRack(objHdr, m_pSvStream);
300 break;
301 }
302 case VO_TABPIECE:
303 {
304 newObj = new LwpTabPiece(objHdr, m_pSvStream);
305 break;
306 }
307 case VO_PARABACKGROUNDPIECE: //perhaps wrong.
308 {
309 newObj = new LwpBackgroundPiece(objHdr, m_pSvStream);
310 break;
311 }
312
313 case VO_SECTION:
314 {
315 newObj = new LwpSection(objHdr, m_pSvStream);
316 break;
317 }
318 case VO_INDEXSECTION:
319 {
320 newObj = new LwpIndexSection(objHdr, m_pSvStream);
321 break;
322 }
324 {
325 newObj = new LwpDLVListHeadTailHolder(objHdr, m_pSvStream);
326 break;
327 }
328 case VO_PAGEHINT:
329 {
330 newObj = new LwpPageHint(objHdr, m_pSvStream);
331 break;
332 }
333 case VO_OLEOBJECT:
334 {
335 newObj = new LwpOleObject(objHdr, m_pSvStream);
336 break;
337 }
338
339 case VO_GRAPHIC:
340 {
341 newObj = new LwpGraphicObject(objHdr, m_pSvStream);
342 break;
343 }
344 case VO_DOCDATA:
345 {
346 newObj = new LwpDocData(objHdr, m_pSvStream);
347 break;
348 }
349
350 case VO_DROPCAPLAYOUT:
351 {
352 newObj = new LwpDropcapLayout(objHdr, m_pSvStream);
353 break;
354 }
356 {
357 newObj = new LwpLayoutRelativity(objHdr, m_pSvStream);
358 break;
359 }
360 // for table
361 case VO_TABLE:
362 {
363 newObj = new LwpTable(objHdr, m_pSvStream);
364 break;
365 }
366 case VO_TABLELAYOUT:
367 {
368 newObj = new LwpTableLayout(objHdr, m_pSvStream);
369 break;
370 }
371 case VO_SUPERTABLE:
372 {
373 newObj = new LwpSuperTable(objHdr, m_pSvStream);
374 break;
375 }
377 {
378 newObj = new LwpSuperTableLayout(objHdr, m_pSvStream);
379 break;
380 }
381 case VO_CELLLAYOUT:
382 {
383 newObj = new LwpCellLayout(objHdr, m_pSvStream);
384 break;
385 }
386 case VO_ROWLAYOUT:
387 {
388 newObj = new LwpRowLayout(objHdr, m_pSvStream);
389 break;
390 }
392 {
393 newObj = new LwpLayoutNumerics(objHdr, m_pSvStream);
394 break;
395 }
396 case VO_NUMERICVALUE:
397 {
398 newObj = new LwpNumericValue(objHdr, m_pSvStream);
399 break;
400 }
401 case VO_FORMULAINFO:
402 {
403 newObj = new LwpFormulaInfo(objHdr, m_pSvStream);
404 break;
405 }
406 case VO_COLUMNLAYOUT:
407 {
408 newObj = new LwpColumnLayout(objHdr, m_pSvStream);
409 break;
410 }
411 case VO_ROWLIST:
412 {
413 newObj = new LwpRowList(objHdr, m_pSvStream);
414 break;
415 }
416 case VO_CELLLIST:
417 {
418 newObj = new LwpCellList(objHdr, m_pSvStream);
419 break;
420 }
421 case VO_TABLERANGE:
422 {
423 newObj = new LwpTableRange(objHdr, m_pSvStream);
424 break;
425 }
426 case VO_CELLRANGE:
427 {
428 newObj = new LwpCellRange(objHdr, m_pSvStream);
429 break;
430 }
431 case VO_FOLDER:
432 {
433 newObj = new LwpFolder(objHdr, m_pSvStream);
434 break;
435 }
436 case VO_DEPENDENT:
437 {
438 newObj = new LwpDependent(objHdr, m_pSvStream);
439 break;
440 }
442 {
443 newObj = new LwpConnectedCellLayout(objHdr, m_pSvStream);
444 break;
445 }
447 {
448 newObj = new LwpHiddenCellLayout(objHdr, m_pSvStream);
449 break;
450 }
452 {
453 newObj = new LwpTableHeadingLayout(objHdr, m_pSvStream);
454 break;
455 }
457 {
458 newObj = new LwpRowHeadingLayout(objHdr, m_pSvStream);
459 break;
460 }
461 case VO_TABLEHEADING:
462 {
463 newObj = new LwpTableHeading(objHdr, m_pSvStream);
464 break;
465 }
466 case VO_CHBLKMARKER:
467 {
468 newObj = new LwpCHBlkMarker(objHdr, m_pSvStream);
469 break;
470 }
471 case VO_PROPLIST:
472 {
473 newObj = new LwpPropListElement(objHdr, m_pSvStream);
474 break;
475 }
476 case VO_BOOKMARK:
477 {
478 newObj = new LwpBookMark(objHdr, m_pSvStream);
479 break;
480 }
481 case VO_FIELDMARKER:
482 {
483 newObj = new LwpFieldMark(objHdr, m_pSvStream);
484 break;
485 }
486 case VO_OBJECTHOLDER:
487 {
488 newObj = new LwpObjectHolder(objHdr, m_pSvStream);
489 break;
490 }
491 case VO_POBJECTHOLDER:
492 {
493 newObj = new LwpObjectHolder(objHdr, m_pSvStream);
494 break;
495 }
496 case VO_VERGTR: //fall through
497 case VO_VERQTR:
498 {
499 newObj = new LwpVersionedPointer(objHdr, m_pSvStream);
500 break;
501 }
502 case VO_FOOTNOTE:
503 {
504 newObj = new LwpFootnote(objHdr, m_pSvStream);
505 break;
506 }
507 case VO_FOOTNOTETABLE:
508 {
509 newObj = new LwpFootnoteTable(objHdr, m_pSvStream);
510 break;
511 }
512 case VO_FOOTNOTEOPTS:
513 {
514 newObj = new LwpFootnoteOptions(objHdr, m_pSvStream);
515 break;
516 }
518 {
519 newObj = new LwpFootnoteLayout(objHdr, m_pSvStream);
520 break;
521 }
522 case VO_FNROWLAYOUT:
523 {
524 newObj = new LwpFnRowLayout(objHdr, m_pSvStream);
525 break;
526 }
527 case VO_FNCELLLAYOUT:
528 {
529 newObj = new LwpFnCellLayout(objHdr, m_pSvStream);
530 break;
531 }
532 case VO_ENDNOTELAYOUT:
533 {
534 newObj = new LwpEndnoteLayout(objHdr, m_pSvStream);
535 break;
536 }
538 {
539 newObj = new LwpEnSuperTableLayout(objHdr, m_pSvStream);
540 break;
541 }
543 {
544 newObj = new LwpFnSuperTableLayout(objHdr, m_pSvStream);
545 break;
546 }
547 case VO_CONTONLAYOUT:
548 {
549 newObj = new LwpContOnLayout(objHdr, m_pSvStream);
550 break;
551 }
553 {
554 newObj = new LwpContFromLayout(objHdr, m_pSvStream);
555 break;
556 }
557 case VO_GROUPLAYOUT:
558 {
559 newObj = new LwpGroupLayout(objHdr, m_pSvStream);
560 break;
561 }
562 case VO_GROUPFRAME:
563 {
564 newObj = new LwpGroupFrame(objHdr, m_pSvStream);
565 break;
566 }
568 {
569 newObj = new LwpTocSuperLayout(objHdr, m_pSvStream);
570 break;
571 }
572 case VO_LISTLIST:
573 {
574 newObj = new LwpListList(objHdr, m_pSvStream);
575 break;
576 }
577 case VO_TOCLEVELDATA:
578 {
579 newObj = new LwpTocLevelData(objHdr, m_pSvStream);
580 break;
581 }
582 case VO_NOTELAYOUT:
583 {
584 newObj = new LwpNoteLayout(objHdr, m_pSvStream);
585 break;
586 }
588 {
589 newObj = new LwpNoteHeaderLayout(objHdr, m_pSvStream);
590 break;
591 }
593 {
594 newObj = new LwpNoteTextLayout(objHdr, m_pSvStream);
595 break;
596 }
597 case VO_VPLAYOUT:
598 {
599 newObj = new LwpViewportLayout(objHdr, m_pSvStream);
600 break;
601 }
602 case VO_PCOLBLOCK:
603 {
604 newObj = new LwpParallelColumnsBlock(objHdr, m_pSvStream);
605 break;
606 }
608 {
609 newObj = new LwpSuperParallelColumnLayout(objHdr, m_pSvStream);
610 break;
611 }
612 case VO_PCOLLAYOUT:
613 {
614 newObj = new LwpParallelColumnsLayout(objHdr, m_pSvStream);
615 break;
616 }
618 {
619 newObj = new LwpParallelColumns(objHdr, m_pSvStream);
620 break;
621 }
622 case VO_RUBYMARKER:
623 {
624 newObj = new LwpRubyMarker(objHdr, m_pSvStream);
625 break;
626 }
627 case VO_RUBYLAYOUT:
628 {
629 newObj = new LwpRubyLayout(objHdr, m_pSvStream);
630 break;
631 }
632 case VO_GLOSSARY:
633 {
634 newObj = new LwpGlossary(objHdr, m_pSvStream);
635 break;
636 }
638 {
639 newObj = new LwpSuperGlossaryLayout(objHdr, m_pSvStream);
640 break;
641 }
642 case VO_VERDOCUMENT:
643 {
644 newObj = new LwpVerDocument(objHdr, m_pSvStream);
645 break;
646 }
647 default:
648 {
649 //Unknown object type
650 newObj = nullptr;
651 break;
652 }
653 }
654 if (newObj.is())
655 {
656 newObj->QuickRead();
657 auto result = m_IdToObjList.emplace(objHdr.GetID(), newObj);
658 if (!result.second)
659 {
660 SAL_WARN("lwp", "clearing duplicate object");
661 newObj.clear();
662 }
663 }
664
665 return newObj;
666}
672{
674 if (!obj.is())
675 {
676 //Read the object from file
677 sal_uInt32 nStreamOffset = m_IndexMgr.GetObjOffset(objID);
678 if (nStreamOffset == BAD_OFFSET) //does not find the offset in index manager
679 return nullptr;
680
681 sal_Int64 nDesiredPos = nStreamOffset + LwpSvStream::LWP_STREAM_BASE;
682 if (nDesiredPos != m_pSvStream->Seek(nDesiredPos))
683 return nullptr;
684 LwpObjectHeader objHdr;
685 if (!objHdr.Read(*m_pSvStream))
686 return nullptr;
687
688 LwpObjectID& rId = objHdr.GetID();
689 if (rId != objID)
690 {
691 OSL_FAIL("apparently incorrect objid, invalidating");
692 return nullptr;
693 }
694
695 if (std::find(m_aObjsIDInCreation.begin(), m_aObjsIDInCreation.end(), objID)
696 != m_aObjsIDInCreation.end())
697 throw std::runtime_error("recursion in object creation");
698
699 m_aObjsIDInCreation.push_back(objID);
700 obj = CreateObject(objHdr.GetTag(), objHdr);
701 m_aObjsIDInCreation.pop_back();
702 }
703 return obj;
704}
705
710{
711 LwpIdToObjMap::const_iterator it = m_IdToObjList.find(objID);
712 if (it != m_IdToObjList.end())
713 {
714 return (*it).second;
715 }
716 else
717 {
718 return nullptr;
719 }
720}
725
726/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
VO_CELLLAYOUT object.
VO_CELLLIST object.
Definition: lwptblcell.hxx:79
VO_CELLRANGE object.
Definition: lwptblcell.hxx:161
VO_COLUMNLAYOUT object.
VO_CONNECTEDCELLLAYOUT object.
VO_CONTFROMLAYOUT object.
VO_CONTONLAYOUT object.
VO_HEADHOLDER, LwpDLVListHeadHolder, contains an id to the head of LwpDLVList.
Definition: lwpholder.hxx:71
VO_HEADTAILHOLDER, LwpDLVListHeadTailHolder, contains a LwpDLVListHeadTail (Head and tail id)
Definition: lwpholder.hxx:87
VO_DEPENDENT object.
Definition: lwptblcell.hxx:197
DocumentSock object, divisions are embedded by document socket object.
Definition: lwpdoc.hxx:193
Document object, represent document and division.
Definition: lwpdoc.hxx:76
VO_ENSUPERTABLELAYOUT object.
VO_ENDNOTELAYOUT object.
VO_FNCELLLAYOUT object.
VO_FNROWLAYOUT object.
Definition: lwpfnlayout.hxx:89
VO_FNSUPERTABLELAYOUT object.
VO_FOLDER object.
Definition: lwptblcell.hxx:178
VO_FOOTNOTELAYOUT object.
Definition: lwpfnlayout.hxx:72
VO_FOOTNOTEOPTS object.
VO_FOOTNOTETABLE object.
VO_FRAMELAYOUT object.
VO_GROUPFRAME object , information for frame group contents.
VO_GROUPLAYOUT object , information for frame group layout.
Head object of content list.
Definition: lwpcontent.hxx:146
VO_HIDDENCELLLAYOUT object.
sal_uInt32 GetObjOffset(LwpObjectID objid)
@descr get object offset per the object id
Definition: lwpidxmgr.cxx:298
void Read(LwpSvStream *pStrm)
@descr Read all index records, VO_ROOTLEAFOBJINDEX, VO_ROOTOBJINDEX, VO_LEAFOBJINDEX
Definition: lwpidxmgr.cxx:87
VO_LISTLIST object in .lwp file.
Definition: lwpholder.hxx:122
VO_NOTEHEADERLAYOUT object.
Definition: lwpnotes.hxx:111
VO_NOTELAYOUT object.
Definition: lwpnotes.hxx:88
VO_NOTETEXTLAYOUT object.
Definition: lwpnotes.hxx:128
VO_NUMERICVALUE object.
Definition: lwptblcell.hxx:123
rtl::Reference< LwpObject > FindObject(const LwpObjectID &objID)
@descr find object in the factory per the object id
std::vector< LwpObjectID > m_aObjsIDInCreation
LwpObjectFactory(LwpSvStream *pSvStream)
rtl::Reference< LwpObject > QueryObject(const LwpObjectID &objID)
@descr query object by object id object is created if not in the factory
LwpIndexManager m_IndexMgr
void ReadIndex(LwpSvStream *pStrm)
@descr read the index manager
rtl::Reference< LwpObject > CreateObject(sal_uInt32 type, LwpObjectHeader &objHdr)
@descr create all kinds of objects except lwp7
LwpSvStream * m_pSvStream
void ReleaseObject(const LwpObjectID &objID)
@descr release object in the factory per the object id
LwpIdToObjMap m_IdToObjList
Base class of all Lwp VO objects.
Definition: lwpobjhdr.hxx:71
bool Read(LwpSvStream &pStrm)
@descr read header from stream
Definition: lwpobjhdr.cxx:74
sal_uInt32 GetTag() const
Definition: lwpobjhdr.hxx:118
LwpObjectID & GetID()
Definition: lwpobjhdr.hxx:126
LwpObjectHolder, which is LwpDLVList, contains an id to an object VO_OBJECTHOLDER.
Definition: lwpholder.hxx:104
object id class
Definition: lwpobjid.hxx:79
@descr class to read and parse VO_OLEOBJECT object
VO_PCOLBLOCK object.
VO_PCOLLAYOUT object.
VO_ROWHEADINGLAYOUT obj.
VO_ROWLAYOUT obj.
VO_ROWLIST object.
Definition: lwptblcell.hxx:102
VO_SUPERPARALLELCOLUMNLAYOUT object.
VO_SUPERTABLELAYOUT object.
VO_SUPERTABLE object.
Definition: lwptable.hxx:76
encapsulate XInputStream to provide SvStream like interfaces
Definition: lwpsvstream.hxx:69
static const sal_uInt32 LWP_STREAM_BASE
Definition: lwpsvstream.hxx:84
sal_Int64 Seek(sal_Int64 pos)
@descr Seek to pos
VO_TABLEHEADINGLAYOUT object.
VO_TABLEHEADING object.
Definition: lwptable.hxx:153
VO_TABLELAYOUT object and functions for registering styles and converting tables.
VO_TABLERANGE object.
Definition: lwptblcell.hxx:141
VO_TABLE object.
Definition: lwptable.hxx:107
VO_TOCLEVELDATA object.
Definition: lwptoc.hxx:145
VO_TOCSUPERTABLELAYOUT object.
Definition: lwptoc.hxx:71
VO_VPLAYOUT object.
Definition: lwpnotes.hxx:145
#define SAL_WARN_IF(condition, area, stream)
#define SAL_WARN(area, stream)
#define BAD_OFFSET
Definition: lwpdefs.hxx:64
@ VO_HEADERLAYOUT
Definition: lwpdefs.hxx:82
@ VO_AMIKAKEPIECE
Definition: lwpdefs.hxx:109
@ VO_PAGELAYOUT
Definition: lwpdefs.hxx:76
@ VO_CELLRANGE
Definition: lwpdefs.hxx:140
@ VO_LAYOUTJOINSTUFF
Definition: lwpdefs.hxx:94
@ VO_SUPERTABLELAYOUT
Definition: lwpdefs.hxx:130
@ VO_FOOTNOTEOPTS
Definition: lwpdefs.hxx:158
@ VO_PARALLELCOLUMNS
Definition: lwpdefs.hxx:194
@ VO_BREAKSPIECE
Definition: lwpdefs.hxx:113
@ VO_OLEOBJECT
Definition: lwpdefs.hxx:125
@ VO_OBJECTHOLDER
Definition: lwpdefs.hxx:122
@ VO_LAYOUTSHADOW
Definition: lwpdefs.hxx:95
@ VO_DIVOPTS
Definition: lwpdefs.hxx:80
@ VO_FOOTNOTETABLE
Definition: lwpdefs.hxx:165
@ VO_PCOLBLOCK
Definition: lwpdefs.hxx:193
@ VO_HEADLAYOUT
Definition: lwpdefs.hxx:75
@ VO_FOOTNOTELAYOUT
Definition: lwpdefs.hxx:159
@ VO_CHARACTERSTYLE
Definition: lwpdefs.hxx:103
@ VO_PAGEHINT
Definition: lwpdefs.hxx:121
@ VO_CELLLIST
Definition: lwpdefs.hxx:135
@ VO_ROWLAYOUT
Definition: lwpdefs.hxx:133
@ VO_HEADHOLDER
Definition: lwpdefs.hxx:79
@ VO_CONTFROMLAYOUT
Definition: lwpdefs.hxx:167
@ VO_HEADTAILHOLDER
Definition: lwpdefs.hxx:120
@ VO_CONTONLAYOUT
Definition: lwpdefs.hxx:166
@ VO_POBJECTHOLDER
Definition: lwpdefs.hxx:123
@ VO_GROUPLAYOUT
Definition: lwpdefs.hxx:170
@ VO_TOCLEVELDATA
Definition: lwpdefs.hxx:86
@ VO_VERGTR
Definition: lwpdefs.hxx:100
@ VO_LAYOUTNUMERICS
Definition: lwpdefs.hxx:96
@ VO_BOOKMARK
Definition: lwpdefs.hxx:153
@ VO_TABLEHEADINGLAYOUT
Definition: lwpdefs.hxx:145
@ VO_PARABACKGROUNDPIECE
Definition: lwpdefs.hxx:116
@ VO_FORMULAINFO
Definition: lwpdefs.hxx:137
@ VO_ALIGNMENTPIECE
Definition: lwpdefs.hxx:105
@ VO_LAYOUTCOLUMNS
Definition: lwpdefs.hxx:90
@ VO_LAYOUTBACKGROUNDSTUFF
Definition: lwpdefs.hxx:93
@ VO_COLUMNLAYOUT
Definition: lwpdefs.hxx:138
@ VO_TABPIECE
Definition: lwpdefs.hxx:115
@ VO_SECTION
Definition: lwpdefs.hxx:118
@ VO_DOCDATA
Definition: lwpdefs.hxx:81
@ VO_DEPENDENT
Definition: lwpdefs.hxx:142
@ VO_DROPCAPLAYOUT
Definition: lwpdefs.hxx:150
@ VO_VERDOCUMENT
Definition: lwpdefs.hxx:203
@ VO_PARABORDERPIECE
Definition: lwpdefs.hxx:112
@ VO_PARA
Definition: lwpdefs.hxx:70
@ VO_FNCELLLAYOUT
Definition: lwpdefs.hxx:161
@ VO_SUPERTABLE
Definition: lwpdefs.hxx:132
@ VO_TABLEHEADING
Definition: lwpdefs.hxx:147
@ VO_DOCUMENT
Definition: lwpdefs.hxx:71
@ VO_SUPERPARALLELCOLUMNLAYOUT
Definition: lwpdefs.hxx:191
@ VO_GLOSSARY
Definition: lwpdefs.hxx:200
@ VO_ROWHEADINGLAYOUT
Definition: lwpdefs.hxx:146
@ VO_LAYOUTGUTTERSTUFF
Definition: lwpdefs.hxx:92
@ VO_SPACINGPIECE
Definition: lwpdefs.hxx:107
@ VO_HEADCONTENT
Definition: lwpdefs.hxx:74
@ VO_TABLE
Definition: lwpdefs.hxx:128
@ VO_NUMERICVALUE
Definition: lwpdefs.hxx:136
@ VO_NOTEHEADERLAYOUT
Definition: lwpdefs.hxx:186
@ VO_HIDDENCELLLAYOUT
Definition: lwpdefs.hxx:144
@ VO_FIELDMARKER
Definition: lwpdefs.hxx:154
@ VO_PARASTYLE
Definition: lwpdefs.hxx:102
@ VO_NOTELAYOUT
Definition: lwpdefs.hxx:185
@ VO_TABLELAYOUT
Definition: lwpdefs.hxx:131
@ VO_LAYOUTMARGINS
Definition: lwpdefs.hxx:89
@ VO_FOOTNOTE
Definition: lwpdefs.hxx:157
@ VO_TOCSUPERTABLELAYOUT
Definition: lwpdefs.hxx:85
@ VO_GROUPFRAME
Definition: lwpdefs.hxx:171
@ VO_LAYOUTEXTERNALBORDERSTUFF
Definition: lwpdefs.hxx:98
@ VO_TABRACK
Definition: lwpdefs.hxx:111
@ VO_INDENTPIECE
Definition: lwpdefs.hxx:106
@ VO_LAYOUTGEOMETRY
Definition: lwpdefs.hxx:87
@ VO_FOLDER
Definition: lwpdefs.hxx:141
@ VO_INDEXSECTION
Definition: lwpdefs.hxx:119
@ VO_ROWLIST
Definition: lwpdefs.hxx:134
@ VO_GRAPHIC
Definition: lwpdefs.hxx:99
@ VO_CELLLAYOUT
Definition: lwpdefs.hxx:129
@ VO_NOTETEXTLAYOUT
Definition: lwpdefs.hxx:187
@ VO_FOOTERLAYOUT
Definition: lwpdefs.hxx:83
@ VO_VPLAYOUT
Definition: lwpdefs.hxx:188
@ VO_SILVERBULLET
Definition: lwpdefs.hxx:104
@ VO_CHARBORDERPIECE
Definition: lwpdefs.hxx:108
@ VO_PCOLLAYOUT
Definition: lwpdefs.hxx:192
@ VO_ENDNOTELAYOUT
Definition: lwpdefs.hxx:162
@ VO_LAYOUTRELATIVITY
Definition: lwpdefs.hxx:97
@ VO_FNROWLAYOUT
Definition: lwpdefs.hxx:160
@ VO_VERQTR
Definition: lwpdefs.hxx:73
@ VO_RUBYMARKER
Definition: lwpdefs.hxx:197
@ VO_PROPLIST
Definition: lwpdefs.hxx:152
@ VO_ENSUPERTABLELAYOUT
Definition: lwpdefs.hxx:163
@ VO_STORY
Definition: lwpdefs.hxx:72
@ VO_SUPERGLOSSARYLAYOUT
Definition: lwpdefs.hxx:201
@ VO_TABLERANGE
Definition: lwpdefs.hxx:139
@ VO_FRAMELAYOUT
Definition: lwpdefs.hxx:84
@ VO_RUBYLAYOUT
Definition: lwpdefs.hxx:198
@ VO_LISTLIST
Definition: lwpdefs.hxx:182
@ VO_DIVISIONINFO
Definition: lwpdefs.hxx:78
@ VO_DOCSOCK
Definition: lwpdefs.hxx:77
@ VO_NUMBERINGPIECE
Definition: lwpdefs.hxx:114
@ VO_LAYOUTSCALE
Definition: lwpdefs.hxx:88
@ VO_FNSUPERTABLELAYOUT
Definition: lwpdefs.hxx:164
@ VO_CONNECTEDCELLLAYOUT
Definition: lwpdefs.hxx:143
@ VO_CHBLKMARKER
Definition: lwpdefs.hxx:151
@ VO_LAYOUTBORDERSTUFF
Definition: lwpdefs.hxx:91
For LWP filter architecture prototype - footnote layouts.
For LWP filter architecture prototype - notes.
For LWP filter architecture prototype - table object.
For LWP filter architecture prototype - OLE object.
For LWP filter architecture prototype - table object.
For LWP filter architecture prototype - table layouts.
For LWP filter architecture prototype - table object.
For LWP filter architecture prototype - table object.
Any result
ResultType type