update credits
[LibreOffice.git] / sw / source / filter / xml / xmlitmap.hxx
blob2c0ced4e90fc9f3bdae70e2cf01861a8feedf586
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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 _XMLITMAP_HXX
21 #define _XMLITMAP_HXX
23 #include <sal/types.h>
24 #include <tools/ref.hxx>
25 #include <xmloff/xmltoken.hxx>
28 #define MID_SW_FLAG_MASK 0x0000ffff
30 // this flags are used in the item mapper for import and export
32 #define MID_SW_FLAG_SPECIAL_ITEM_IMPORT 0x80000000
33 #define MID_SW_FLAG_NO_ITEM_IMPORT 0x40000000
34 #define MID_SW_FLAG_SPECIAL_ITEM_EXPORT 0x20000000
35 #define MID_SW_FLAG_NO_ITEM_EXPORT 0x10000000
36 #define MID_SW_FLAG_SPECIAL_ITEM 0xa0000000 // both import and export
37 #define MID_SW_FLAG_NO_ITEM 0x50000000 // both import and export
38 #define MID_SW_FLAG_ELEMENT_ITEM_IMPORT 0x08000000
39 #define MID_SW_FLAG_ELEMENT_ITEM_EXPORT 0x04000000
40 #define MID_SW_FLAG_ELEMENT_ITEM 0x0c000000 // both import and export
42 // ---
44 struct SvXMLItemMapEntry
46 sal_uInt16 nNameSpace; // declares the Namespace in which this item
47 // exists
48 enum ::xmloff::token::XMLTokenEnum eLocalName;
49 // the local name for the item inside
50 // the Namespace (as an XMLTokenEnum)
51 sal_uInt16 nWhichId; // the WichId to identify the item
52 // in the pool
53 sal_uInt32 nMemberId; // the memberid specifies which part
54 // of the item should be imported or
55 // exported with this Namespace
56 // and localName
59 // ---
61 class SvXMLItemMapEntries_impl;
63 /** this class manages an array of SvXMLItemMapEntry. It is
64 used for optimizing the static array on startup of import
65 or export */
66 class SvXMLItemMapEntries : public SvRefBase
68 protected:
69 SvXMLItemMapEntries_impl* mpImpl;
71 public:
72 SvXMLItemMapEntries( SvXMLItemMapEntry* pEntrys );
73 virtual ~SvXMLItemMapEntries();
75 SvXMLItemMapEntry* getByName( sal_uInt16 nNameSpace,
76 const OUString& rString,
77 SvXMLItemMapEntry* pStartAt = NULL ) const;
78 SvXMLItemMapEntry* getByIndex( sal_uInt16 nIndex ) const;
80 sal_uInt16 getCount() const;
83 SV_DECL_REF( SvXMLItemMapEntries )
84 SV_IMPL_REF( SvXMLItemMapEntries )
87 #endif // _XMLITMAP_HXX
89 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */