Coverage Report

Created: 2026-09-28 10:59

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libreoffice/include/com/sun/star/uno/genfunc.hxx
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
/*
21
 * This file is part of LibreOffice published API.
22
 */
23
#ifndef INCLUDED_COM_SUN_STAR_UNO_GENFUNC_HXX
24
#define INCLUDED_COM_SUN_STAR_UNO_GENFUNC_HXX
25
26
#include "sal/config.h"
27
28
#include <cstddef>
29
30
#include "com/sun/star/uno/genfunc.h"
31
#include "com/sun/star/uno/Any.hxx"
32
#include "com/sun/star/uno/XInterface.hpp"
33
34
35
namespace com
36
{
37
namespace sun
38
{
39
namespace star
40
{
41
namespace uno
42
{
43
44
45
inline void SAL_CALL cpp_acquire( void * pCppI )
46
454M
{
47
454M
    static_cast< XInterface * >( pCppI )->acquire();
48
454M
}
49
50
inline void SAL_CALL cpp_release( void * pCppI )
51
52.1M
{
52
52.1M
    static_cast< XInterface * >( pCppI )->release();
53
52.1M
}
54
55
inline void * SAL_CALL cpp_queryInterface( void * pCppI, typelib_TypeDescriptionReference * pType )
56
1.64M
{
57
1.64M
    if (pCppI)
58
1.64M
    {
59
1.64M
        try
60
1.64M
        {
61
1.64M
            Any aRet( static_cast< XInterface * >( pCppI )->queryInterface(
62
1.64M
                * reinterpret_cast< const Type * >( &pType ) ) );
63
1.64M
            if (typelib_TypeClass_INTERFACE == aRet.pType->eTypeClass)
64
1.56M
            {
65
1.56M
                XInterface * pRet = static_cast< XInterface * >( aRet.pReserved );
66
1.56M
                aRet.pReserved = NULL;
67
1.56M
                return pRet;
68
1.56M
            }
69
1.64M
        }
70
1.64M
        catch (RuntimeException &)
71
1.64M
        {
72
0
        }
73
1.64M
    }
74
78.7k
    return NULL;
75
1.64M
}
76
77
}
78
}
79
}
80
}
81
82
#endif
83
84
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */