Coverage Report

Created: 2025-11-16 09:57

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libreoffice/framework/source/fwi/classes/converter.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 <classes/converter.hxx>
21
#include <rtl/ustrbuf.hxx>
22
23
namespace framework{
24
25
/**
26
 * converts a sequence of PropertyValue to a sequence of NamedValue.
27
 */
28
css::uno::Sequence< css::beans::NamedValue > Converter::convert_seqPropVal2seqNamedVal( const css::uno::Sequence< css::beans::PropertyValue >& lSource )
29
0
{
30
0
    sal_Int32 nCount = lSource.getLength();
31
0
    css::uno::Sequence< css::beans::NamedValue > lDestination(nCount);
32
0
    auto lDestinationRange = asNonConstRange(lDestination);
33
0
    for (sal_Int32 nItem=0; nItem<nCount; ++nItem)
34
0
    {
35
0
        lDestinationRange[nItem].Name  = lSource[nItem].Name;
36
0
        lDestinationRange[nItem].Value = lSource[nItem].Value;
37
0
    }
38
0
    return lDestination;
39
0
}
40
41
/**
42
 * converts a sequence of unicode strings into a vector of such items
43
 */
44
std::vector<OUString> Converter::convert_seqOUString2OUStringList( const css::uno::Sequence< OUString >& lSource )
45
0
{
46
0
    std::vector<OUString> lDestination;
47
0
    sal_Int32 nCount = lSource.getLength();
48
49
0
    lDestination.reserve(nCount);
50
0
    for (sal_Int32 nItem = 0; nItem < nCount; ++nItem)
51
0
    {
52
0
        lDestination.push_back(lSource[nItem]);
53
0
    }
54
55
0
    return lDestination;
56
0
}
57
58
OUString Converter::convert_DateTime2ISO8601( const DateTime& aSource )
59
0
{
60
0
    OUStringBuffer sBuffer(25);
61
62
0
    sal_Int32 nYear  = aSource.GetYear();
63
0
    sal_Int32 nMonth = aSource.GetMonth();
64
0
    sal_Int32 nDay   = aSource.GetDay();
65
66
0
    sal_Int32 nHour  = aSource.GetHour();
67
0
    sal_Int32 nMin   = aSource.GetMin();
68
0
    sal_Int32 nSec   = aSource.GetSec();
69
70
    // write year formatted as "YYYY"
71
0
    if (nYear<10)
72
0
        sBuffer.append("000");
73
0
    else if (nYear<100)
74
0
        sBuffer.append("00");
75
0
    else if (nYear<1000)
76
0
        sBuffer.append("0");
77
0
    sBuffer.append( nYear );
78
79
    // write month formatted as "MM"
80
0
    sBuffer.append("-");
81
0
    if (nMonth<10)
82
0
        sBuffer.append("0");
83
0
    sBuffer.append( nMonth );
84
85
    // write day formatted as "DD"
86
0
    sBuffer.append("-");
87
0
    if (nDay<10)
88
0
        sBuffer.append("0");
89
0
    sBuffer.append( nDay );
90
91
    // write hours formatted as "hh"
92
0
    sBuffer.append("T");
93
0
    if (nHour<10)
94
0
        sBuffer.append("0");
95
0
    sBuffer.append( nHour );
96
97
    // write min formatted as "mm"
98
0
    sBuffer.append(":");
99
0
    if (nMin<10)
100
0
        sBuffer.append("0");
101
0
    sBuffer.append( nMin );
102
103
    // write sec formatted as "ss"
104
0
    sBuffer.append(":");
105
0
    if (nSec<10)
106
0
        sBuffer.append("0");
107
0
    sBuffer.append( nSec );
108
109
    // write time-zone
110
0
    sBuffer.append("Z");
111
112
0
    return sBuffer.makeStringAndClear();
113
0
}
114
115
}       //  namespace framework
116
117
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */