Coverage Report

Created: 2025-12-31 10:39

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libreoffice/xmloff/source/style/xmlprcon.cxx
Line
Count
Source
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
 * This file is part of the LibreOffice project.
4
 *
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/.
8
 *
9
 * This file incorporates work covered by the following license notice:
10
 *
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 .
18
 */
19
20
#include <sal/log.hxx>
21
#include <utility>
22
#include <xmloff/xmlprcon.hxx>
23
#include <xmloff/xmlimp.hxx>
24
#include <xmloff/xmltypes.hxx>
25
#include <xmloff/maptype.hxx>
26
#include <xmloff/xmlimppr.hxx>
27
#include <xmloff/xmlprmap.hxx>
28
29
using namespace ::com::sun::star;
30
31
SvXMLPropertySetContext::SvXMLPropertySetContext(
32
    SvXMLImport& rImp, sal_Int32 /*nElement*/,
33
    const uno::Reference< xml::sax::XFastAttributeList >& xAttrList,
34
    sal_uInt32 nFam,
35
    std::vector< XMLPropertyState > &rProps,
36
    SvXMLImportPropertyMapper* pMap,
37
    sal_Int32 nSIdx, sal_Int32 nEIdx )
38
262k
:   SvXMLImportContext( rImp )
39
262k
,   mnStartIdx( nSIdx )
40
262k
,   mnEndIdx( nEIdx )
41
262k
,   mnFamily( nFam )
42
262k
,   mrProperties( rProps )
43
262k
,   mpMapper( pMap )
44
262k
{
45
262k
    mpMapper->importXML( mrProperties, xAttrList,
46
262k
                        GetImport().GetMM100UnitConverter(),
47
262k
                        GetImport().GetNamespaceMap(), mnFamily,
48
262k
                        mnStartIdx, mnEndIdx );
49
262k
}
50
51
SvXMLPropertySetContext::~SvXMLPropertySetContext()
52
260k
{
53
260k
}
54
55
css::uno::Reference< css::xml::sax::XFastContextHandler > SvXMLPropertySetContext::createFastChildContext(
56
    sal_Int32 nElement,
57
    const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
58
15.3k
{
59
15.3k
    rtl::Reference< XMLPropertySetMapper > aSetMapper(
60
15.3k
            mpMapper->getPropertySetMapper() );
61
15.3k
    sal_Int32 nEntryIndex = aSetMapper->GetEntryIndex( nElement, mnFamily, mnStartIdx );
62
63
15.3k
    if( ( nEntryIndex != -1 ) && (-1 == mnEndIdx || nEntryIndex < mnEndIdx ) &&
64
12.6k
        ( 0 != ( aSetMapper->GetEntryFlags( nEntryIndex )
65
12.6k
                         & MID_FLAG_ELEMENT_ITEM_IMPORT ) ) )
66
12.6k
    {
67
12.6k
        XMLPropertyState aProp( nEntryIndex );
68
12.6k
        return createFastChildContext( nElement, xAttrList, mrProperties, aProp );
69
12.6k
    }
70
2.64k
    XMLOFF_WARN_UNKNOWN_ELEMENT("xmloff", nElement);
71
2.64k
    return nullptr;
72
2.64k
}
73
74
/** This method is called from this instance implementation of
75
    CreateChildContext if the element matches an entry in the
76
    SvXMLImportItemMapper with the mid flag MID_FLAG_ELEMENT
77
*/
78
css::uno::Reference< css::xml::sax::XFastContextHandler > SvXMLPropertySetContext::createFastChildContext(
79
    sal_Int32 nElement,
80
    const css::uno::Reference< css::xml::sax::XFastAttributeList >& /*xAttrList*/,
81
    ::std::vector< XMLPropertyState > &/*rProperties*/,
82
    const XMLPropertyState& /*rProp*/ )
83
4
{
84
4
    XMLOFF_WARN_UNKNOWN_ELEMENT("xmloff", nElement);
85
4
    return nullptr;
86
4
}
87
88
89
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */