Coverage Report

Created: 2026-03-31 11:00

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libreoffice/include/cppuhelper/implbase1.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_CPPUHELPER_IMPLBASE1_HXX
24
#define INCLUDED_CPPUHELPER_IMPLBASE1_HXX
25
26
#include "cppuhelper/implbase_ex.hxx"
27
#include "rtl/instance.hxx"
28
#include "cppuhelper/weak.hxx"
29
#include "cppuhelper/weakagg.hxx"
30
#include "com/sun/star/lang/XTypeProvider.hpp"
31
32
namespace cppu
33
{
34
    /// @cond INTERNAL
35
36
    struct class_data1
37
    {
38
        sal_Int16 m_nTypes;
39
        sal_Bool m_storedTypeRefs;
40
        sal_Bool m_storedId;
41
        sal_Int8 m_id[ 16 ];
42
        type_entry m_typeEntries[ 1 + 1 ];
43
    };
44
45
    template< typename Ifc1, typename Impl > struct SAL_WARN_UNUSED ImplClassData1
46
    {
47
        class_data* operator ()()
48
7
        {
49
7
            static class_data1 s_cd =
50
7
            {
51
7
                1 +1, false, false,
52
7
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
53
7
                {
54
7
                    CPPUHELPER_DETAIL_TYPEENTRY(Ifc1),
55
7
                    CPPUHELPER_DETAIL_TYPEENTRY(css::lang::XTypeProvider)
56
7
                }
57
7
            };
58
7
            return reinterpret_cast< class_data * >(&s_cd);
59
7
        }
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::awt::tree::XTreeControl, cppu::AggImplInheritanceHelper1<UnoControlBase, com::sun::star::awt::tree::XTreeControl> >::operator()()
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::io::XSeekable, cppu::ImplHelper1<com::sun::star::io::XSeekable> >::operator()()
cppu::ImplClassData1<com::sun::star::text::XText, cppu::ImplHelper1<com::sun::star::text::XText> >::operator()()
Line
Count
Source
48
4
        {
49
4
            static class_data1 s_cd =
50
4
            {
51
4
                1 +1, false, false,
52
4
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
53
4
                {
54
4
                    CPPUHELPER_DETAIL_TYPEENTRY(Ifc1),
55
4
                    CPPUHELPER_DETAIL_TYPEENTRY(css::lang::XTypeProvider)
56
4
                }
57
4
            };
58
4
            return reinterpret_cast< class_data * >(&s_cd);
59
4
        }
cppu::ImplClassData1<com::sun::star::container::XChild, cppu::ImplHelper1<com::sun::star::container::XChild> >::operator()()
Line
Count
Source
48
1
        {
49
1
            static class_data1 s_cd =
50
1
            {
51
1
                1 +1, false, false,
52
1
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
53
1
                {
54
1
                    CPPUHELPER_DETAIL_TYPEENTRY(Ifc1),
55
1
                    CPPUHELPER_DETAIL_TYPEENTRY(css::lang::XTypeProvider)
56
1
                }
57
1
            };
58
1
            return reinterpret_cast< class_data * >(&s_cd);
59
1
        }
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::accessibility::XAccessible, cppu::ImplHelper1<com::sun::star::accessibility::XAccessible> >::operator()()
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::accessibility::XAccessibleEventListener, cppu::ImplHelper1<com::sun::star::accessibility::XAccessibleEventListener> >::operator()()
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::lang::XEventListener, cppu::ImplHelper1<com::sun::star::lang::XEventListener> >::operator()()
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::awt::XWindow, cppu::ImplHelper1<com::sun::star::awt::XWindow> >::operator()()
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::awt::XListBox, cppu::ImplHelper1<com::sun::star::awt::XListBox> >::operator()()
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::awt::XComboBox, cppu::ImplHelper1<com::sun::star::awt::XComboBox> >::operator()()
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::awt::XTextComponent, cppu::ImplHelper1<com::sun::star::awt::XTextComponent> >::operator()()
cppu::ImplClassData1<com::sun::star::beans::XPropertyState, cppu::ImplHelper1<com::sun::star::beans::XPropertyState> >::operator()()
Line
Count
Source
48
1
        {
49
1
            static class_data1 s_cd =
50
1
            {
51
1
                1 +1, false, false,
52
1
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
53
1
                {
54
1
                    CPPUHELPER_DETAIL_TYPEENTRY(Ifc1),
55
1
                    CPPUHELPER_DETAIL_TYPEENTRY(css::lang::XTypeProvider)
56
1
                }
57
1
            };
58
1
            return reinterpret_cast< class_data * >(&s_cd);
59
1
        }
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::container::XContainerListener, cppu::ImplHelper1<com::sun::star::container::XContainerListener> >::operator()()
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::sdbcx::XColumnsSupplier, cppu::ImplHelper1<com::sun::star::sdbcx::XColumnsSupplier> >::operator()()
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::lang::XSingleServiceFactory, cppu::ImplHelper1<com::sun::star::lang::XSingleServiceFactory> >::operator()()
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::sdbcx::XAlterView, cppu::ImplHelper1<com::sun::star::sdbcx::XAlterView> >::operator()()
cppu::ImplClassData1<com::sun::star::sdbcx::XDataDescriptorFactory, cppu::ImplHelper1<com::sun::star::sdbcx::XDataDescriptorFactory> >::operator()()
Line
Count
Source
48
1
        {
49
1
            static class_data1 s_cd =
50
1
            {
51
1
                1 +1, false, false,
52
1
                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
53
1
                {
54
1
                    CPPUHELPER_DETAIL_TYPEENTRY(Ifc1),
55
1
                    CPPUHELPER_DETAIL_TYPEENTRY(css::lang::XTypeProvider)
56
1
                }
57
1
            };
58
1
            return reinterpret_cast< class_data * >(&s_cd);
59
1
        }
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::awt::XItemList, cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::XItemList> >::operator()()
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::awt::XLayoutConstrains, cppu::AggImplInheritanceHelper1<UnoControlBase, com::sun::star::awt::XLayoutConstrains> >::operator()()
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::awt::XSpinValue, cppu::ImplHelper1<com::sun::star::awt::XSpinValue> >::operator()()
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::awt::tab::XTabPageContainerModel, cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::tab::XTabPageContainerModel> >::operator()()
Unexecuted instantiation: cppu::ImplClassData1<com::sun::star::awt::tab::XTabPageContainer, cppu::AggImplInheritanceHelper1<ControlContainerBase, com::sun::star::awt::tab::XTabPageContainer> >::operator()()
60
    };
61
62
    /// @endcond
63
64
    /** Implementation helper implementing interface css::lang::XTypeProvider
65
        and method XInterface::queryInterface(), but no reference counting.
66
67
        @derive
68
        Inherit from this class giving your interface(s) to be implemented as template argument(s).
69
        Your sub class defines method implementations for these interface(s) including acquire()/
70
        release() and delegates incoming queryInterface() calls to this base class.
71
    */
72
    template< class Ifc1 >
73
    class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE ImplHelper1
74
        : public css::lang::XTypeProvider
75
        , public Ifc1
76
    {
77
        struct cd : public rtl::StaticAggregate< class_data, ImplClassData1 < Ifc1, ImplHelper1<Ifc1> > > {};
78
    public:
79
#if defined LIBO_INTERNAL_ONLY
80
3.12M
        ImplHelper1() = default;
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::io::XSeekable>::ImplHelper1()
cppu::ImplHelper1<com::sun::star::text::XText>::ImplHelper1()
Line
Count
Source
80
30.1k
        ImplHelper1() = default;
cppu::ImplHelper1<com::sun::star::container::XChild>::ImplHelper1()
Line
Count
Source
80
40.5k
        ImplHelper1() = default;
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::accessibility::XAccessible>::ImplHelper1()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::accessibility::XAccessibleEventListener>::ImplHelper1()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::lang::XEventListener>::ImplHelper1()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XWindow>::ImplHelper1()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XListBox>::ImplHelper1()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XComboBox>::ImplHelper1()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XTextComponent>::ImplHelper1()
cppu::ImplHelper1<com::sun::star::container::XContainerListener>::ImplHelper1()
Line
Count
Source
80
10.6k
        ImplHelper1() = default;
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::sdbcx::XColumnsSupplier>::ImplHelper1()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::lang::XSingleServiceFactory>::ImplHelper1()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::sdbcx::XAlterView>::ImplHelper1()
cppu::ImplHelper1<com::sun::star::sdbcx::XDataDescriptorFactory>::ImplHelper1()
Line
Count
Source
80
3.03M
        ImplHelper1() = default;
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XSpinValue>::ImplHelper1()
cppu::ImplHelper1<com::sun::star::beans::XPropertyState>::ImplHelper1()
Line
Count
Source
80
10.6k
        ImplHelper1() = default;
81
        ImplHelper1(ImplHelper1 const &) = default;
82
        ImplHelper1(ImplHelper1 &&) = default;
83
        ImplHelper1 & operator =(ImplHelper1 const &) = default;
84
        ImplHelper1 & operator =(ImplHelper1 &&) = default;
85
#endif
86
87
        virtual css::uno::Any SAL_CALL queryInterface( css::uno::Type const & rType ) SAL_OVERRIDE
88
14.4M
            { return ImplHelper_query( rType, cd::get(), this ); }
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::io::XSeekable>::queryInterface(com::sun::star::uno::Type const&)
cppu::ImplHelper1<com::sun::star::text::XText>::queryInterface(com::sun::star::uno::Type const&)
Line
Count
Source
88
200k
            { return ImplHelper_query( rType, cd::get(), this ); }
cppu::ImplHelper1<com::sun::star::container::XChild>::queryInterface(com::sun::star::uno::Type const&)
Line
Count
Source
88
41.0k
            { return ImplHelper_query( rType, cd::get(), this ); }
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::accessibility::XAccessible>::queryInterface(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::accessibility::XAccessibleEventListener>::queryInterface(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::lang::XEventListener>::queryInterface(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XWindow>::queryInterface(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XListBox>::queryInterface(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XComboBox>::queryInterface(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XTextComponent>::queryInterface(com::sun::star::uno::Type const&)
cppu::ImplHelper1<com::sun::star::beans::XPropertyState>::queryInterface(com::sun::star::uno::Type const&)
Line
Count
Source
88
117k
            { return ImplHelper_query( rType, cd::get(), this ); }
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::container::XContainerListener>::queryInterface(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::sdbcx::XColumnsSupplier>::queryInterface(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::lang::XSingleServiceFactory>::queryInterface(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::sdbcx::XAlterView>::queryInterface(com::sun::star::uno::Type const&)
cppu::ImplHelper1<com::sun::star::sdbcx::XDataDescriptorFactory>::queryInterface(com::sun::star::uno::Type const&)
Line
Count
Source
88
14.0M
            { return ImplHelper_query( rType, cd::get(), this ); }
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XSpinValue>::queryInterface(com::sun::star::uno::Type const&)
89
        virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE
90
0
            { return ImplHelper_getTypes( cd::get() ); }
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::io::XSeekable>::getTypes()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::container::XChild>::getTypes()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::text::XText>::getTypes()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::accessibility::XAccessible>::getTypes()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::accessibility::XAccessibleEventListener>::getTypes()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::lang::XEventListener>::getTypes()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XWindow>::getTypes()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XListBox>::getTypes()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XComboBox>::getTypes()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XTextComponent>::getTypes()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::beans::XPropertyState>::getTypes()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::container::XContainerListener>::getTypes()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::sdbcx::XColumnsSupplier>::getTypes()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::lang::XSingleServiceFactory>::getTypes()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::sdbcx::XAlterView>::getTypes()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::sdbcx::XDataDescriptorFactory>::getTypes()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XSpinValue>::getTypes()
91
        virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE
92
0
            { return ImplHelper_getImplementationId( cd::get() ); }
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::io::XSeekable>::getImplementationId()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::text::XText>::getImplementationId()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::container::XChild>::getImplementationId()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::accessibility::XAccessible>::getImplementationId()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::accessibility::XAccessibleEventListener>::getImplementationId()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::lang::XEventListener>::getImplementationId()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XWindow>::getImplementationId()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XListBox>::getImplementationId()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XComboBox>::getImplementationId()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XTextComponent>::getImplementationId()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::beans::XPropertyState>::getImplementationId()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::container::XContainerListener>::getImplementationId()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::sdbcx::XColumnsSupplier>::getImplementationId()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::lang::XSingleServiceFactory>::getImplementationId()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::sdbcx::XAlterView>::getImplementationId()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::sdbcx::XDataDescriptorFactory>::getImplementationId()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XSpinValue>::getImplementationId()
93
94
#if !defined _MSC_VER // public -> protected changes mangled names there
95
    protected:
96
#endif
97
3.12M
        ~ImplHelper1() SAL_NOEXCEPT {}
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::io::XSeekable>::~ImplHelper1()
cppu::ImplHelper1<com::sun::star::text::XText>::~ImplHelper1()
Line
Count
Source
97
30.1k
        ~ImplHelper1() SAL_NOEXCEPT {}
cppu::ImplHelper1<com::sun::star::container::XChild>::~ImplHelper1()
Line
Count
Source
97
40.5k
        ~ImplHelper1() SAL_NOEXCEPT {}
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::accessibility::XAccessible>::~ImplHelper1()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::accessibility::XAccessibleEventListener>::~ImplHelper1()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::lang::XEventListener>::~ImplHelper1()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XWindow>::~ImplHelper1()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XListBox>::~ImplHelper1()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XComboBox>::~ImplHelper1()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XTextComponent>::~ImplHelper1()
cppu::ImplHelper1<com::sun::star::beans::XPropertyState>::~ImplHelper1()
Line
Count
Source
97
10.6k
        ~ImplHelper1() SAL_NOEXCEPT {}
cppu::ImplHelper1<com::sun::star::container::XContainerListener>::~ImplHelper1()
Line
Count
Source
97
10.6k
        ~ImplHelper1() SAL_NOEXCEPT {}
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::sdbcx::XColumnsSupplier>::~ImplHelper1()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::lang::XSingleServiceFactory>::~ImplHelper1()
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::sdbcx::XAlterView>::~ImplHelper1()
cppu::ImplHelper1<com::sun::star::sdbcx::XDataDescriptorFactory>::~ImplHelper1()
Line
Count
Source
97
3.03M
        ~ImplHelper1() SAL_NOEXCEPT {}
Unexecuted instantiation: cppu::ImplHelper1<com::sun::star::awt::XSpinValue>::~ImplHelper1()
98
    };
99
    /** Implementation helper implementing interfaces css::lang::XTypeProvider and
100
        css::uno::XInterface which supports weak mechanism to be held weakly
101
        (supporting css::uno::XWeak through ::cppu::OWeakObject).
102
103
        @derive
104
        Inherit from this class giving your interface(s) to be implemented as template argument(s).
105
        Your sub class defines method implementations for these interface(s).
106
107
        These classes are used when you implement your UNO component.
108
        WeakImplHelper1 till WeakImplHelper12 can be used when you want
109
        to implement 1 till 12 interfaces in your component.
110
    */
111
    template< class Ifc1 >
112
    class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE SAL_DLLPUBLIC_EXPORT WeakImplHelper1
113
        : public OWeakObject
114
        , public css::lang::XTypeProvider
115
        , public Ifc1
116
    {
117
        struct cd : public rtl::StaticAggregate< class_data, ImplClassData1< Ifc1, WeakImplHelper1< Ifc1 > > > {};
118
    public:
119
        virtual css::uno::Any SAL_CALL queryInterface( css::uno::Type const & rType ) SAL_OVERRIDE
120
            { return WeakImplHelper_query( rType, cd::get(), this, static_cast<OWeakObject *>(this) ); }
121
        virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE
122
            { OWeakObject::acquire(); }
123
        virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE
124
            { OWeakObject::release(); }
125
        virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE
126
            { return WeakImplHelper_getTypes( cd::get() ); }
127
        virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE
128
            { return ImplHelper_getImplementationId( cd::get() ); }
129
    };
130
    /** Implementation helper implementing interfaces css::lang::XTypeProvider and
131
        css::uno::XInterface which supports weak mechanism to be held weakly
132
        (supporting css::uno::XWeak through ::cppu::OWeakAggObject).
133
        In addition, it supports also aggregation meaning object of this class can be aggregated
134
        (css::uno::XAggregation through ::cppu::OWeakAggObject).
135
        If a delegator is set (this object is aggregated), then incoming queryInterface()
136
        calls are delegated to the delegator object. If the delegator does not support the
137
        demanded interface, it calls queryAggregation() on its aggregated objects.
138
139
        @derive
140
        Inherit from this class giving your interface(s) to be implemented as template argument(s).
141
        Your sub class defines method implementations for these interface(s).
142
    */
143
    template< class Ifc1 >
144
    class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE WeakAggImplHelper1
145
        : public OWeakAggObject
146
        , public css::lang::XTypeProvider
147
        , public Ifc1
148
    {
149
        struct cd : public rtl::StaticAggregate< class_data, ImplClassData1< Ifc1, WeakAggImplHelper1< Ifc1 > > > {};
150
    public:
151
        virtual css::uno::Any SAL_CALL queryInterface( css::uno::Type const & rType ) SAL_OVERRIDE
152
            { return OWeakAggObject::queryInterface( rType ); }
153
        virtual css::uno::Any SAL_CALL queryAggregation( css::uno::Type const & rType ) SAL_OVERRIDE
154
            { return WeakAggImplHelper_queryAgg( rType, cd::get(), this, static_cast<OWeakAggObject *>(this) ); }
155
        virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE
156
            { OWeakAggObject::acquire(); }
157
        virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE
158
            { OWeakAggObject::release(); }
159
        virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE
160
            { return WeakAggImplHelper_getTypes( cd::get() ); }
161
        virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE
162
            { return ImplHelper_getImplementationId( cd::get() ); }
163
    };
164
    /** Implementation helper implementing interfaces css::lang::XTypeProvider and
165
        css::uno::XInterface inheriting from a BaseClass.
166
        All acquire() and release() calls are delegated to the BaseClass. Upon queryInterface(),
167
        if a demanded interface is not supported by this class directly, the request is
168
        delegated to the BaseClass.
169
170
        @attention
171
        The BaseClass has to be complete in a sense, that css::uno::XInterface
172
        and css::lang::XTypeProvider are implemented properly.  The
173
        BaseClass must have at least one ctor that can be called with six or
174
        fewer arguments, of which none is of non-const reference type.
175
176
        @derive
177
        Inherit from this class giving your additional interface(s) to be implemented as
178
        template argument(s). Your sub class defines method implementations for these interface(s).
179
    */
180
    template< class BaseClass, class Ifc1 >
181
    class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE ImplInheritanceHelper1
182
        : public BaseClass
183
        , public Ifc1
184
    {
185
        struct cd : public rtl::StaticAggregate< class_data, ImplClassData1< Ifc1, ImplInheritanceHelper1< BaseClass, Ifc1 > > > {};
186
    protected:
187
        template< typename T1 >
188
        explicit ImplInheritanceHelper1(T1 const & arg1): BaseClass(arg1) {}
189
        template< typename T1, typename T2 >
190
        ImplInheritanceHelper1(T1 const & arg1, T2 const & arg2):
191
            BaseClass(arg1, arg2) {}
192
        template< typename T1, typename T2, typename T3 >
193
        ImplInheritanceHelper1(
194
            T1 const & arg1, T2 const & arg2, T3 const & arg3):
195
            BaseClass(arg1, arg2, arg3) {}
196
        template< typename T1, typename T2, typename T3, typename T4 >
197
        ImplInheritanceHelper1(
198
            T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4):
199
            BaseClass(arg1, arg2, arg3, arg4) {}
200
        template<
201
            typename T1, typename T2, typename T3, typename T4, typename T5 >
202
        ImplInheritanceHelper1(
203
            T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4,
204
            T5 const & arg5):
205
            BaseClass(arg1, arg2, arg3, arg4, arg5) {}
206
        template<
207
            typename T1, typename T2, typename T3, typename T4, typename T5,
208
            typename T6 >
209
        ImplInheritanceHelper1(
210
            T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4,
211
            T5 const & arg5, T6 const & arg6):
212
            BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {}
213
    public:
214
        ImplInheritanceHelper1() {}
215
        virtual css::uno::Any SAL_CALL queryInterface( css::uno::Type const & rType ) SAL_OVERRIDE
216
            {
217
                css::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) );
218
                if (aRet.hasValue())
219
                    return aRet;
220
                return BaseClass::queryInterface( rType );
221
            }
222
        virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE
223
            { BaseClass::acquire(); }
224
        virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE
225
            { BaseClass::release(); }
226
        virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE
227
            { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); }
228
        virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE
229
            { return ImplHelper_getImplementationId( cd::get() ); }
230
    };
231
    /** Implementation helper implementing interfaces css::lang::XTypeProvider and
232
        css::uno::XInterface inheriting from a BaseClass.
233
        All acquire(),  release() and queryInterface() calls are delegated to the BaseClass.
234
        Upon queryAggregation(), if a demanded interface is not supported by this class directly,
235
        the request is delegated to the BaseClass.
236
237
        @attention
238
        The BaseClass has to be complete in a sense, that css::uno::XInterface,
239
        css::uno::XAggregation and css::lang::XTypeProvider
240
        are implemented properly.  The BaseClass must have at least one ctor
241
        that can be called with six or fewer arguments, of which none is of
242
        non-const reference type.
243
244
        @derive
245
        Inherit from this class giving your additional interface(s) to be implemented as
246
        template argument(s). Your sub class defines method implementations for these interface(s).
247
    */
248
    template< class BaseClass, class Ifc1 >
249
    class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE AggImplInheritanceHelper1
250
        : public BaseClass
251
        , public Ifc1
252
    {
253
        struct cd : public rtl::StaticAggregate< class_data, ImplClassData1< Ifc1, AggImplInheritanceHelper1< BaseClass, Ifc1 > > > {};
254
    protected:
255
        template< typename T1 >
256
0
        explicit AggImplInheritanceHelper1(T1 const & arg1): BaseClass(arg1) {}
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::XItemList>::AggImplInheritanceHelper1<com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> >(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&)
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::XItemList>::AggImplInheritanceHelper1<UnoControlListBoxModel>(UnoControlListBoxModel const&)
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::tab::XTabPageContainerModel>::AggImplInheritanceHelper1<UnoControlTabPageContainerModel>(UnoControlTabPageContainerModel const&)
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::tab::XTabPageContainerModel>::AggImplInheritanceHelper1<com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> >(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&)
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<ControlContainerBase, com::sun::star::awt::tab::XTabPageContainer>::AggImplInheritanceHelper1<com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> >(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&)
257
        template< typename T1, typename T2 >
258
        AggImplInheritanceHelper1(T1 const & arg1, T2 const & arg2):
259
            BaseClass(arg1, arg2) {}
260
        template< typename T1, typename T2, typename T3 >
261
        AggImplInheritanceHelper1(
262
            T1 const & arg1, T2 const & arg2, T3 const & arg3):
263
            BaseClass(arg1, arg2, arg3) {}
264
        template< typename T1, typename T2, typename T3, typename T4 >
265
        AggImplInheritanceHelper1(
266
            T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4):
267
            BaseClass(arg1, arg2, arg3, arg4) {}
268
        template<
269
            typename T1, typename T2, typename T3, typename T4, typename T5 >
270
        AggImplInheritanceHelper1(
271
            T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4,
272
            T5 const & arg5):
273
            BaseClass(arg1, arg2, arg3, arg4, arg5) {}
274
        template<
275
            typename T1, typename T2, typename T3, typename T4, typename T5,
276
            typename T6 >
277
        AggImplInheritanceHelper1(
278
            T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4,
279
            T5 const & arg5, T6 const & arg6):
280
            BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {}
281
    public:
282
0
        AggImplInheritanceHelper1() {}
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlBase, com::sun::star::awt::tree::XTreeControl>::AggImplInheritanceHelper1()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlBase, com::sun::star::awt::XLayoutConstrains>::AggImplInheritanceHelper1()
283
        virtual css::uno::Any SAL_CALL queryInterface( css::uno::Type const & rType ) SAL_OVERRIDE
284
0
            { return BaseClass::queryInterface( rType ); }
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlBase, com::sun::star::awt::tree::XTreeControl>::queryInterface(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::XItemList>::queryInterface(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlBase, com::sun::star::awt::XLayoutConstrains>::queryInterface(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::tab::XTabPageContainerModel>::queryInterface(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<ControlContainerBase, com::sun::star::awt::tab::XTabPageContainer>::queryInterface(com::sun::star::uno::Type const&)
285
        virtual css::uno::Any SAL_CALL queryAggregation( css::uno::Type const & rType ) SAL_OVERRIDE
286
0
            {
287
0
                css::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) );
288
0
                if (aRet.hasValue())
289
0
                    return aRet;
290
0
                return BaseClass::queryAggregation( rType );
291
0
            }
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlBase, com::sun::star::awt::tree::XTreeControl>::queryAggregation(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::XItemList>::queryAggregation(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlBase, com::sun::star::awt::XLayoutConstrains>::queryAggregation(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::tab::XTabPageContainerModel>::queryAggregation(com::sun::star::uno::Type const&)
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<ControlContainerBase, com::sun::star::awt::tab::XTabPageContainer>::queryAggregation(com::sun::star::uno::Type const&)
292
        virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE
293
0
            { BaseClass::acquire(); }
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlBase, com::sun::star::awt::tree::XTreeControl>::acquire()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::XItemList>::acquire()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlBase, com::sun::star::awt::XLayoutConstrains>::acquire()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::tab::XTabPageContainerModel>::acquire()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<ControlContainerBase, com::sun::star::awt::tab::XTabPageContainer>::acquire()
294
        virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE
295
0
            { BaseClass::release(); }
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlBase, com::sun::star::awt::tree::XTreeControl>::release()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::XItemList>::release()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlBase, com::sun::star::awt::XLayoutConstrains>::release()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::tab::XTabPageContainerModel>::release()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<ControlContainerBase, com::sun::star::awt::tab::XTabPageContainer>::release()
296
        virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE
297
0
            { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); }
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlBase, com::sun::star::awt::tree::XTreeControl>::getTypes()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::XItemList>::getTypes()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlBase, com::sun::star::awt::XLayoutConstrains>::getTypes()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::tab::XTabPageContainerModel>::getTypes()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<ControlContainerBase, com::sun::star::awt::tab::XTabPageContainer>::getTypes()
298
        virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE
299
0
            { return ImplHelper_getImplementationId( cd::get() ); }
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlBase, com::sun::star::awt::tree::XTreeControl>::getImplementationId()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::XItemList>::getImplementationId()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlBase, com::sun::star::awt::XLayoutConstrains>::getImplementationId()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<UnoControlModel, com::sun::star::awt::tab::XTabPageContainerModel>::getImplementationId()
Unexecuted instantiation: cppu::AggImplInheritanceHelper1<ControlContainerBase, com::sun::star::awt::tab::XTabPageContainer>::getImplementationId()
300
    };
301
}
302
303
#endif
304
305
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */