23#ifndef INCLUDED_CPPUHELPER_IMPLBASE5_HXX 
   24#define INCLUDED_CPPUHELPER_IMPLBASE5_HXX 
   30#include "com/sun/star/lang/XTypeProvider.hpp" 
   42        type_entry m_typeEntries[ 5 + 1 ];
 
   45    template< 
typename Ifc1, 
typename Ifc2, 
typename Ifc3, 
typename Ifc4, 
typename Ifc5, 
typename Impl >
 
   48        class_data* operator ()()
 
   50            static class_data5 s_cd =
 
   53                { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
 
   55                    CPPUHELPER_DETAIL_TYPEENTRY(Ifc1),
 
   56                    CPPUHELPER_DETAIL_TYPEENTRY(Ifc2),
 
   57                    CPPUHELPER_DETAIL_TYPEENTRY(Ifc3),
 
   58                    CPPUHELPER_DETAIL_TYPEENTRY(Ifc4),
 
   59                    CPPUHELPER_DETAIL_TYPEENTRY(Ifc5),
 
   60                    CPPUHELPER_DETAIL_TYPEENTRY(css::lang::XTypeProvider)
 
   63            return reinterpret_cast< class_data * 
>(&s_cd);
 
   77    template< 
class Ifc1, 
class Ifc2, 
class Ifc3, 
class Ifc4, 
class Ifc5 >
 
   79        : 
public css::lang::XTypeProvider
 
   80        , 
public Ifc1, 
public Ifc2, 
public Ifc3, 
public Ifc4, 
public Ifc5
 
   82        struct cd : 
public rtl::StaticAggregate< class_data, ImplClassData5 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, ImplHelper5<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5> > > {};
 
   84#if defined LIBO_INTERNAL_ONLY 
   93            { 
return ImplHelper_query( rType, 
cd::get(), 
this ); }
 
 
   95            { 
return ImplHelper_getTypes( 
cd::get() ); }
 
 
   97            { 
return ImplHelper_getImplementationId( 
cd::get() ); }
 
 
 
  112    template< 
class Ifc1, 
class Ifc2, 
class Ifc3, 
class Ifc4, 
class Ifc5 >
 
  115        , 
public css::lang::XTypeProvider
 
  116        , 
public Ifc1, 
public Ifc2, 
public Ifc3, 
public Ifc4, 
public Ifc5
 
  118        struct cd : 
public rtl::StaticAggregate< class_data, ImplClassData5 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, WeakImplHelper5<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5> > > {};
 
  121            { 
return WeakImplHelper_query( rType, 
cd::get(), 
this, 
static_cast<OWeakObject *
>(
this) ); }
 
 
  127            { 
return WeakImplHelper_getTypes( 
cd::get() ); }
 
 
  129            { 
return ImplHelper_getImplementationId( 
cd::get() ); }
 
 
 
  144    template< 
class Ifc1, 
class Ifc2, 
class Ifc3, 
class Ifc4, 
class Ifc5 >
 
  147        , 
public css::lang::XTypeProvider
 
  148        , 
public Ifc1, 
public Ifc2, 
public Ifc3, 
public Ifc4, 
public Ifc5
 
  150        struct cd : 
public rtl::StaticAggregate< class_data, ImplClassData5 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, WeakAggImplHelper5<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5> > > {};
 
  155            { 
return WeakAggImplHelper_queryAgg( rType, 
cd::get(), 
this, 
static_cast<OWeakAggObject *
>(
this) ); }
 
 
  161            { 
return WeakAggImplHelper_getTypes( 
cd::get() ); }
 
 
  163            { 
return ImplHelper_getImplementationId( 
cd::get() ); }
 
 
 
  181    template< 
class BaseClass, 
class Ifc1, 
class Ifc2, 
class Ifc3, 
class Ifc4, 
class Ifc5 >
 
  184        , 
public Ifc1, 
public Ifc2, 
public Ifc3, 
public Ifc4, 
public Ifc5
 
  186        struct cd : 
public rtl::StaticAggregate< class_data, ImplClassData5 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, ImplInheritanceHelper5<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5> > > {};
 
  188        template< 
typename T1 >
 
  190        template< 
typename T1, 
typename T2 >
 
  192            BaseClass(arg1, arg2) {}
 
 
  193        template< 
typename T1, 
typename T2, 
typename T3 >
 
  195            T1 
const & arg1, T2 
const & arg2, T3 
const & arg3):
 
  196            BaseClass(arg1, arg2, arg3) {}
 
 
  197        template< 
typename T1, 
typename T2, 
typename T3, 
typename T4 >
 
  199            T1 
const & arg1, T2 
const & arg2, T3 
const & arg3, T4 
const & arg4):
 
  200            BaseClass(arg1, arg2, arg3, arg4) {}
 
 
  202            typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5 >
 
  204            T1 
const & arg1, T2 
const & arg2, T3 
const & arg3, T4 
const & arg4,
 
  206            BaseClass(arg1, arg2, arg3, arg4, arg5) {}
 
 
  208            typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5,
 
  211            T1 
const & arg1, T2 
const & arg2, T3 
const & arg3, T4 
const & arg4,
 
  212            T5 
const & arg5, T6 
const & arg6):
 
  213            BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {}
 
 
  221                return BaseClass::queryInterface( rType );
 
 
  224            { BaseClass::acquire(); }
 
 
  226            { BaseClass::release(); }
 
 
  228            { 
return ImplInhHelper_getTypes( 
cd::get(), BaseClass::getTypes() ); }
 
 
  230            { 
return ImplHelper_getImplementationId( 
cd::get() ); }
 
 
 
  249    template< 
class BaseClass, 
class Ifc1, 
class Ifc2, 
class Ifc3, 
class Ifc4, 
class Ifc5 >
 
  252        , 
public Ifc1, 
public Ifc2, 
public Ifc3, 
public Ifc4, 
public Ifc5
 
  254        struct cd : 
public rtl::StaticAggregate< class_data, ImplClassData5 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, AggImplInheritanceHelper5<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5> > > {};
 
  256        template< 
typename T1 >
 
  258        template< 
typename T1, 
typename T2 >
 
  260            BaseClass(arg1, arg2) {}
 
 
  261        template< 
typename T1, 
typename T2, 
typename T3 >
 
  263            T1 
const & arg1, T2 
const & arg2, T3 
const & arg3):
 
  264            BaseClass(arg1, arg2, arg3) {}
 
 
  265        template< 
typename T1, 
typename T2, 
typename T3, 
typename T4 >
 
  267            T1 
const & arg1, T2 
const & arg2, T3 
const & arg3, T4 
const & arg4):
 
  268            BaseClass(arg1, arg2, arg3, arg4) {}
 
 
  270            typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5 >
 
  272            T1 
const & arg1, T2 
const & arg2, T3 
const & arg3, T4 
const & arg4,
 
  274            BaseClass(arg1, arg2, arg3, arg4, arg5) {}
 
 
  276            typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5,
 
  279            T1 
const & arg1, T2 
const & arg2, T3 
const & arg3, T4 
const & arg4,
 
  280            T5 
const & arg5, T6 
const & arg6):
 
  281            BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {}
 
 
  285            { 
return BaseClass::queryInterface( rType ); }
 
 
  291                return BaseClass::queryAggregation( rType );
 
 
  294            { BaseClass::acquire(); }
 
 
  296            { BaseClass::release(); }
 
 
  298            { 
return ImplInhHelper_getTypes( 
cd::get(), BaseClass::getTypes() ); }
 
 
  300            { 
return ImplHelper_getImplementationId( 
cd::get() ); }
 
 
 
#define SAL_NOEXCEPT
Macro for C++11 "noexcept" vs.
Definition types.h:434
#define SAL_NO_VTABLE
Use this for pure virtual classes, e.g.
Definition types.h:312
unsigned char sal_Bool
Definition types.h:38
#define SAL_OVERRIDE
C++11 "override" feature.
Definition types.h:409
signed char sal_Int8
Definition types.h:43
#define SAL_WARN_UNUSED
Annotate classes where a compiler should warn if an instance is unused.
Definition types.h:611
Definition Enterable.hxx:31
Helper class for a late-initialized static aggregate, e.g.
Definition instance.hxx:548
rtl::StaticAggregate< class_data, ImplClassData5< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, ImplHelper5< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5 > > >::get static class_data * get()
Definition instance.hxx:556
Template C++ class representing an IDL sequence.
Definition Sequence.h:61
Implementation helper implementing interface css::lang::XTypeProvider and method XInterface::queryInt...
Definition implbase5.hxx:81
~ImplHelper5() SAL_NOEXCEPT
Definition implbase5.hxx:102
virtual css::uno::Sequence< sal_Int8 > getImplementationId() SAL_OVERRIDE
Definition implbase5.hxx:96
virtual css::uno::Sequence< css::uno::Type > getTypes() SAL_OVERRIDE
Definition implbase5.hxx:94
virtual css::uno::Any queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
Definition implbase5.hxx:92
Implementation helper implementing interfaces css::lang::XTypeProvider and css::uno::XInterface which...
Definition implbase5.hxx:117
virtual css::uno::Sequence< css::uno::Type > getTypes() SAL_OVERRIDE
Definition implbase5.hxx:126
virtual css::uno::Sequence< sal_Int8 > getImplementationId() SAL_OVERRIDE
Definition implbase5.hxx:128
virtual void acquire() SAL_NOEXCEPT SAL_OVERRIDE
increasing m_refCount
Definition implbase5.hxx:122
virtual void release() SAL_NOEXCEPT SAL_OVERRIDE
decreasing m_refCount
Definition implbase5.hxx:124
virtual css::uno::Any queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
Basic queryInterface() implementation supporting com::sun::star::uno::XWeak and com::sun::star::uno::...
Definition implbase5.hxx:120
Implementation helper implementing interfaces css::lang::XTypeProvider and css::uno::XInterface which...
Definition implbase5.hxx:149
virtual css::uno::Any queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
If a delegator is set, then the delegator is queried for the demanded interface.
Definition implbase5.hxx:152
virtual css::uno::Any queryAggregation(css::uno::Type const &rType) SAL_OVERRIDE
Called by the delegator or queryInterface.
Definition implbase5.hxx:154
virtual css::uno::Sequence< sal_Int8 > getImplementationId() SAL_OVERRIDE
Definition implbase5.hxx:162
virtual void release() SAL_NOEXCEPT SAL_OVERRIDE
If a delegator is set, then the delegators gets released.
Definition implbase5.hxx:158
virtual css::uno::Sequence< css::uno::Type > getTypes() SAL_OVERRIDE
Definition implbase5.hxx:160
virtual void acquire() SAL_NOEXCEPT SAL_OVERRIDE
If a delegator is set, then the delegators gets acquired.
Definition implbase5.hxx:156
virtual css::uno::Any queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
Definition implbase5.hxx:216
virtual css::uno::Sequence< css::uno::Type > getTypes() SAL_OVERRIDE
Definition implbase5.hxx:227
ImplInheritanceHelper5(T1 const &arg1, T2 const &arg2, T3 const &arg3)
Definition implbase5.hxx:194
ImplInheritanceHelper5(T1 const &arg1)
Definition implbase5.hxx:189
ImplInheritanceHelper5(T1 const &arg1, T2 const &arg2, T3 const &arg3, T4 const &arg4, T5 const &arg5)
Definition implbase5.hxx:203
ImplInheritanceHelper5(T1 const &arg1, T2 const &arg2, T3 const &arg3, T4 const &arg4)
Definition implbase5.hxx:198
ImplInheritanceHelper5(T1 const &arg1, T2 const &arg2)
Definition implbase5.hxx:191
ImplInheritanceHelper5(T1 const &arg1, T2 const &arg2, T3 const &arg3, T4 const &arg4, T5 const &arg5, T6 const &arg6)
Definition implbase5.hxx:210
virtual css::uno::Sequence< sal_Int8 > getImplementationId() SAL_OVERRIDE
Definition implbase5.hxx:229
virtual void acquire() SAL_NOEXCEPT SAL_OVERRIDE
Definition implbase5.hxx:223
virtual void release() SAL_NOEXCEPT SAL_OVERRIDE
Definition implbase5.hxx:225
ImplInheritanceHelper5()
Definition implbase5.hxx:215
AggImplInheritanceHelper5(T1 const &arg1, T2 const &arg2, T3 const &arg3, T4 const &arg4, T5 const &arg5, T6 const &arg6)
Definition implbase5.hxx:278
virtual css::uno::Any queryAggregation(css::uno::Type const &rType) SAL_OVERRIDE
Definition implbase5.hxx:286
AggImplInheritanceHelper5(T1 const &arg1, T2 const &arg2, T3 const &arg3)
Definition implbase5.hxx:262
AggImplInheritanceHelper5(T1 const &arg1, T2 const &arg2, T3 const &arg3, T4 const &arg4, T5 const &arg5)
Definition implbase5.hxx:271
virtual css::uno::Sequence< css::uno::Type > getTypes() SAL_OVERRIDE
Definition implbase5.hxx:297
AggImplInheritanceHelper5(T1 const &arg1)
Definition implbase5.hxx:257
virtual void acquire() SAL_NOEXCEPT SAL_OVERRIDE
Definition implbase5.hxx:293
virtual void release() SAL_NOEXCEPT SAL_OVERRIDE
Definition implbase5.hxx:295
virtual css::uno::Any queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
Definition implbase5.hxx:284
AggImplInheritanceHelper5(T1 const &arg1, T2 const &arg2)
Definition implbase5.hxx:259
virtual css::uno::Sequence< sal_Int8 > getImplementationId() SAL_OVERRIDE
Definition implbase5.hxx:299
AggImplInheritanceHelper5()
Definition implbase5.hxx:283
AggImplInheritanceHelper5(T1 const &arg1, T2 const &arg2, T3 const &arg3, T4 const &arg4)
Definition implbase5.hxx:266
OWeakObject()
Default Constructor.
Definition weak.hxx:100
virtual void acquire() SAL_NOEXCEPT SAL_OVERRIDE
increasing m_refCount
virtual void release() SAL_NOEXCEPT SAL_OVERRIDE
decreasing m_refCount
virtual void acquire() SAL_NOEXCEPT SAL_OVERRIDE
If a delegator is set, then the delegators gets acquired.
OWeakAggObject()
Constructor.
Definition weakagg.hxx:52
virtual css::uno::Any queryInterface(const css::uno::Type &rType) SAL_OVERRIDE
If a delegator is set, then the delegator is queried for the demanded interface.
virtual void release() SAL_NOEXCEPT SAL_OVERRIDE
If a delegator is set, then the delegators gets released.
C++ class representing an IDL any.
Definition Any.h:58
bool hasValue() const
Tests if any contains a value.
Definition Any.h:193
C++ class representing an IDL meta type.
Definition Type.h:59