16da5f311SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 36da5f311SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 46da5f311SAndrew Rist * or more contributor license agreements. See the NOTICE file 56da5f311SAndrew Rist * distributed with this work for additional information 66da5f311SAndrew Rist * regarding copyright ownership. The ASF licenses this file 76da5f311SAndrew Rist * to you under the Apache License, Version 2.0 (the 86da5f311SAndrew Rist * "License"); you may not use this file except in compliance 96da5f311SAndrew Rist * with the License. You may obtain a copy of the License at 106da5f311SAndrew Rist * 116da5f311SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 126da5f311SAndrew Rist * 136da5f311SAndrew Rist * Unless required by applicable law or agreed to in writing, 146da5f311SAndrew Rist * software distributed under the License is distributed on an 156da5f311SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 166da5f311SAndrew Rist * KIND, either express or implied. See the License for the 176da5f311SAndrew Rist * specific language governing permissions and limitations 186da5f311SAndrew Rist * under the License. 196da5f311SAndrew Rist * 206da5f311SAndrew Rist *************************************************************/ 216da5f311SAndrew Rist 226da5f311SAndrew Rist 23cdf0e10cSrcweir #ifndef _CPPUHELPER_IMPLBASE12_HXX_ 24cdf0e10cSrcweir #define _CPPUHELPER_IMPLBASE12_HXX_ 25cdf0e10cSrcweir 26cdf0e10cSrcweir #include <cppuhelper/implbase_ex.hxx> 27cdf0e10cSrcweir #include <rtl/instance.hxx> 28cdf0e10cSrcweir 29cdf0e10cSrcweir namespace cppu 30cdf0e10cSrcweir { 31cdf0e10cSrcweir /** @internal */ 32cdf0e10cSrcweir struct class_data12 33cdf0e10cSrcweir { 34cdf0e10cSrcweir sal_Int16 m_nTypes; 35cdf0e10cSrcweir sal_Bool m_storedTypeRefs; 36cdf0e10cSrcweir sal_Bool m_storedId; 37cdf0e10cSrcweir sal_Int8 m_id[ 16 ]; 38cdf0e10cSrcweir type_entry m_typeEntries[ 12 + 1 ]; 39cdf0e10cSrcweir }; 40cdf0e10cSrcweir 41cdf0e10cSrcweir /** @internal */ 42cdf0e10cSrcweir template< typename Ifc1, typename Ifc2, typename Ifc3, typename Ifc4, typename Ifc5, typename Ifc6, typename Ifc7, typename Ifc8, typename Ifc9, typename Ifc10, typename Ifc11, typename Ifc12, typename Impl > 43cdf0e10cSrcweir struct ImplClassData12 44cdf0e10cSrcweir { operator ()cppu::ImplClassData1245cdf0e10cSrcweir class_data* operator ()() 46cdf0e10cSrcweir { 47cdf0e10cSrcweir static class_data12 s_cd = 48cdf0e10cSrcweir { 49cdf0e10cSrcweir 12 +1, sal_False, sal_False, 50cdf0e10cSrcweir { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, 51cdf0e10cSrcweir { 52cdf0e10cSrcweir { { Ifc1::static_type }, ((sal_IntPtr)(Ifc1 *) (Impl *) 16) - 16 }, 53cdf0e10cSrcweir { { Ifc2::static_type }, ((sal_IntPtr)(Ifc2 *) (Impl *) 16) - 16 }, 54cdf0e10cSrcweir { { Ifc3::static_type }, ((sal_IntPtr)(Ifc3 *) (Impl *) 16) - 16 }, 55cdf0e10cSrcweir { { Ifc4::static_type }, ((sal_IntPtr)(Ifc4 *) (Impl *) 16) - 16 }, 56cdf0e10cSrcweir { { Ifc5::static_type }, ((sal_IntPtr)(Ifc5 *) (Impl *) 16) - 16 }, 57cdf0e10cSrcweir { { Ifc6::static_type }, ((sal_IntPtr)(Ifc6 *) (Impl *) 16) - 16 }, 58cdf0e10cSrcweir { { Ifc7::static_type }, ((sal_IntPtr)(Ifc7 *) (Impl *) 16) - 16 }, 59cdf0e10cSrcweir { { Ifc8::static_type }, ((sal_IntPtr)(Ifc8 *) (Impl *) 16) - 16 }, 60cdf0e10cSrcweir { { Ifc9::static_type }, ((sal_IntPtr)(Ifc9 *) (Impl *) 16) - 16 }, 61cdf0e10cSrcweir { { Ifc10::static_type }, ((sal_IntPtr)(Ifc10 *) (Impl *) 16) - 16 }, 62cdf0e10cSrcweir { { Ifc11::static_type }, ((sal_IntPtr)(Ifc11 *) (Impl *) 16) - 16 }, 63cdf0e10cSrcweir { { Ifc12::static_type }, ((sal_IntPtr)(Ifc12 *) (Impl *) 16) - 16 }, 64cdf0e10cSrcweir { { ::com::sun::star::lang::XTypeProvider::static_type }, ((sal_IntPtr)(::com::sun::star::lang::XTypeProvider *) (Impl *) 16) - 16 } 65cdf0e10cSrcweir } 66cdf0e10cSrcweir }; 67cdf0e10cSrcweir return reinterpret_cast< class_data * >(&s_cd); 68cdf0e10cSrcweir } 69cdf0e10cSrcweir }; 70cdf0e10cSrcweir 71cdf0e10cSrcweir /** Implementation helper implementing interface ::com::sun::star::lang::XTypeProvider 72cdf0e10cSrcweir and method XInterface::queryInterface(), but no reference counting. 73cdf0e10cSrcweir 74cdf0e10cSrcweir @derive 75cdf0e10cSrcweir Inherit from this class giving your interface(s) to be implemented as template argument(s). 76cdf0e10cSrcweir Your sub class defines method implementations for these interface(s) including acquire()/ 77cdf0e10cSrcweir release() and delegates incoming queryInterface() calls to this base class. 78cdf0e10cSrcweir */ 79cdf0e10cSrcweir template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 > 80cdf0e10cSrcweir class SAL_NO_VTABLE ImplHelper12 81cdf0e10cSrcweir : public ::com::sun::star::lang::XTypeProvider 82cdf0e10cSrcweir , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12 83cdf0e10cSrcweir { 84cdf0e10cSrcweir /** @internal */ 85cdf0e10cSrcweir struct cd : public rtl::StaticAggregate< class_data, ImplClassData12< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, ImplHelper12<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12> > > {}; 86cdf0e10cSrcweir public: queryInterface(::com::sun::star::uno::Type const & rType)87cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) 88cdf0e10cSrcweir { return ImplHelper_query( rType, cd::get(), this ); } getTypes()89cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) 90cdf0e10cSrcweir { return ImplHelper_getTypes( cd::get() ); } getImplementationId()91cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) 92cdf0e10cSrcweir { return ImplHelper_getImplementationId( cd::get() ); } 93cdf0e10cSrcweir }; 94cdf0e10cSrcweir /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and 95cdf0e10cSrcweir ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly 96cdf0e10cSrcweir (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakObject). 97cdf0e10cSrcweir 98cdf0e10cSrcweir @derive 99cdf0e10cSrcweir Inherit from this class giving your interface(s) to be implemented as template argument(s). 100cdf0e10cSrcweir Your sub class defines method implementations for these interface(s). 101cdf0e10cSrcweir */ 102cdf0e10cSrcweir template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 > 103*4c5dbbf0SDamjan Jovanovic class SAL_DLLPUBLIC_EXPORT SAL_NO_VTABLE WeakImplHelper12 104cdf0e10cSrcweir : public OWeakObject 105cdf0e10cSrcweir , public ::com::sun::star::lang::XTypeProvider 106cdf0e10cSrcweir , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12 107cdf0e10cSrcweir { 108cdf0e10cSrcweir /** @internal */ 109cdf0e10cSrcweir struct cd : public rtl::StaticAggregate< class_data, ImplClassData12< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, WeakImplHelper12<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12> > > {}; 110cdf0e10cSrcweir public: queryInterface(::com::sun::star::uno::Type const & rType)111cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) 112cdf0e10cSrcweir { return WeakImplHelper_query( rType, cd::get(), this, (OWeakObject *)this ); } acquire()113cdf0e10cSrcweir virtual void SAL_CALL acquire() throw () 114cdf0e10cSrcweir { OWeakObject::acquire(); } release()115cdf0e10cSrcweir virtual void SAL_CALL release() throw () 116cdf0e10cSrcweir { OWeakObject::release(); } getTypes()117cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) 118cdf0e10cSrcweir { return WeakImplHelper_getTypes( cd::get() ); } getImplementationId()119cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) 120cdf0e10cSrcweir { return ImplHelper_getImplementationId( cd::get() ); } 121cdf0e10cSrcweir }; 122cdf0e10cSrcweir /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and 123cdf0e10cSrcweir ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly 124cdf0e10cSrcweir (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakAggObject). 125cdf0e10cSrcweir In addition, it supports also aggregation meaning object of this class can be aggregated 126cdf0e10cSrcweir (::com::sun::star::uno::XAggregation thru ::cppu::OWeakAggObject). 127cdf0e10cSrcweir If a delegator is set (this object is aggregated), then incoming queryInterface() 128cdf0e10cSrcweir calls are delegated to the delegator object. If the delegator does not support the 129cdf0e10cSrcweir demanded interface, it calls queryAggregation() on its aggregated objects. 130cdf0e10cSrcweir 131cdf0e10cSrcweir @derive 132cdf0e10cSrcweir Inherit from this class giving your interface(s) to be implemented as template argument(s). 133cdf0e10cSrcweir Your sub class defines method implementations for these interface(s). 134cdf0e10cSrcweir */ 135cdf0e10cSrcweir template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 > 136cdf0e10cSrcweir class SAL_NO_VTABLE WeakAggImplHelper12 137cdf0e10cSrcweir : public OWeakAggObject 138cdf0e10cSrcweir , public ::com::sun::star::lang::XTypeProvider 139cdf0e10cSrcweir , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12 140cdf0e10cSrcweir { 141cdf0e10cSrcweir /** @internal */ 142cdf0e10cSrcweir struct cd : public rtl::StaticAggregate< class_data, ImplClassData12< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, WeakAggImplHelper12<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12> > > {}; 143cdf0e10cSrcweir public: queryInterface(::com::sun::star::uno::Type const & rType)144cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) 145cdf0e10cSrcweir { return OWeakAggObject::queryInterface( rType ); } queryAggregation(::com::sun::star::uno::Type const & rType)146cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) 147cdf0e10cSrcweir { return WeakAggImplHelper_queryAgg( rType, cd::get(), this, (OWeakAggObject *)this ); } acquire()148cdf0e10cSrcweir virtual void SAL_CALL acquire() throw () 149cdf0e10cSrcweir { OWeakAggObject::acquire(); } release()150cdf0e10cSrcweir virtual void SAL_CALL release() throw () 151cdf0e10cSrcweir { OWeakAggObject::release(); } getTypes()152cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) 153cdf0e10cSrcweir { return WeakAggImplHelper_getTypes( cd::get() ); } getImplementationId()154cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) 155cdf0e10cSrcweir { return ImplHelper_getImplementationId( cd::get() ); } 156cdf0e10cSrcweir }; 157cdf0e10cSrcweir /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and 158cdf0e10cSrcweir ::com::sun::star::uno::XInterface inherting from a BaseClass. 159cdf0e10cSrcweir All acquire() and release() calls are delegated to the BaseClass. Upon queryInterface(), 160cdf0e10cSrcweir if a demanded interface is not supported by this class directly, the request is 161cdf0e10cSrcweir delegated to the BaseClass. 162cdf0e10cSrcweir 163cdf0e10cSrcweir @attention 164cdf0e10cSrcweir The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface 165cdf0e10cSrcweir and ::com::sun::star::lang::XTypeProvider are implemented properly. The 166cdf0e10cSrcweir BaseClass must have at least one ctor that can be called with six or 167cdf0e10cSrcweir fewer arguments, of which none is of non-const reference type. 168cdf0e10cSrcweir 169cdf0e10cSrcweir @derive 170cdf0e10cSrcweir Inherit from this class giving your additional interface(s) to be implemented as 171cdf0e10cSrcweir template argument(s). Your sub class defines method implementations for these interface(s). 172cdf0e10cSrcweir */ 173cdf0e10cSrcweir template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 > 174cdf0e10cSrcweir class SAL_NO_VTABLE ImplInheritanceHelper12 175cdf0e10cSrcweir : public BaseClass 176cdf0e10cSrcweir , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12 177cdf0e10cSrcweir { 178cdf0e10cSrcweir /** @internal */ 179cdf0e10cSrcweir struct cd : public rtl::StaticAggregate< class_data, ImplClassData12< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, ImplInheritanceHelper12<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12> > > {}; 180cdf0e10cSrcweir protected: 181cdf0e10cSrcweir template< typename T1 > ImplInheritanceHelper12(T1 const & arg1)182cdf0e10cSrcweir explicit ImplInheritanceHelper12(T1 const & arg1): BaseClass(arg1) {} 183cdf0e10cSrcweir template< typename T1, typename T2 > ImplInheritanceHelper12(T1 const & arg1,T2 const & arg2)184cdf0e10cSrcweir ImplInheritanceHelper12(T1 const & arg1, T2 const & arg2): 185cdf0e10cSrcweir BaseClass(arg1, arg2) {} 186cdf0e10cSrcweir template< typename T1, typename T2, typename T3 > ImplInheritanceHelper12(T1 const & arg1,T2 const & arg2,T3 const & arg3)187cdf0e10cSrcweir ImplInheritanceHelper12( 188cdf0e10cSrcweir T1 const & arg1, T2 const & arg2, T3 const & arg3): 189cdf0e10cSrcweir BaseClass(arg1, arg2, arg3) {} 190cdf0e10cSrcweir template< typename T1, typename T2, typename T3, typename T4 > ImplInheritanceHelper12(T1 const & arg1,T2 const & arg2,T3 const & arg3,T4 const & arg4)191cdf0e10cSrcweir ImplInheritanceHelper12( 192cdf0e10cSrcweir T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): 193cdf0e10cSrcweir BaseClass(arg1, arg2, arg3, arg4) {} 194cdf0e10cSrcweir template< 195cdf0e10cSrcweir typename T1, typename T2, typename T3, typename T4, typename T5 > ImplInheritanceHelper12(T1 const & arg1,T2 const & arg2,T3 const & arg3,T4 const & arg4,T5 const & arg5)196cdf0e10cSrcweir ImplInheritanceHelper12( 197cdf0e10cSrcweir T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, 198cdf0e10cSrcweir T5 const & arg5): 199cdf0e10cSrcweir BaseClass(arg1, arg2, arg3, arg4, arg5) {} 200cdf0e10cSrcweir template< 201cdf0e10cSrcweir typename T1, typename T2, typename T3, typename T4, typename T5, 202cdf0e10cSrcweir typename T6 > ImplInheritanceHelper12(T1 const & arg1,T2 const & arg2,T3 const & arg3,T4 const & arg4,T5 const & arg5,T6 const & arg6)203cdf0e10cSrcweir ImplInheritanceHelper12( 204cdf0e10cSrcweir T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, 205cdf0e10cSrcweir T5 const & arg5, T6 const & arg6): 206cdf0e10cSrcweir BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} 207cdf0e10cSrcweir public: ImplInheritanceHelper12()208cdf0e10cSrcweir ImplInheritanceHelper12() {} queryInterface(::com::sun::star::uno::Type const & rType)209cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) 210cdf0e10cSrcweir { 211cdf0e10cSrcweir ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); 212cdf0e10cSrcweir if (aRet.hasValue()) 213cdf0e10cSrcweir return aRet; 214cdf0e10cSrcweir return BaseClass::queryInterface( rType ); 215cdf0e10cSrcweir } acquire()216cdf0e10cSrcweir virtual void SAL_CALL acquire() throw () 217cdf0e10cSrcweir { BaseClass::acquire(); } release()218cdf0e10cSrcweir virtual void SAL_CALL release() throw () 219cdf0e10cSrcweir { BaseClass::release(); } getTypes()220cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) 221cdf0e10cSrcweir { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } getImplementationId()222cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) 223cdf0e10cSrcweir { return ImplHelper_getImplementationId( cd::get() ); } 224cdf0e10cSrcweir }; 225cdf0e10cSrcweir /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and 226cdf0e10cSrcweir ::com::sun::star::uno::XInterface inherting from a BaseClass. 227cdf0e10cSrcweir All acquire(), release() and queryInterface() calls are delegated to the BaseClass. 228cdf0e10cSrcweir Upon queryAggregation(), if a demanded interface is not supported by this class directly, 229cdf0e10cSrcweir the request is delegated to the BaseClass. 230cdf0e10cSrcweir 231cdf0e10cSrcweir @attention 232cdf0e10cSrcweir The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface, 233cdf0e10cSrcweir ::com::sun::star::uno::XAggregation and ::com::sun::star::lang::XTypeProvider 234cdf0e10cSrcweir are implemented properly. The BaseClass must have at least one ctor 235cdf0e10cSrcweir that can be called with six or fewer arguments, of which none is of 236cdf0e10cSrcweir non-const reference type. 237cdf0e10cSrcweir 238cdf0e10cSrcweir @derive 239cdf0e10cSrcweir Inherit from this class giving your additional interface(s) to be implemented as 240cdf0e10cSrcweir template argument(s). Your sub class defines method implementations for these interface(s). 241cdf0e10cSrcweir */ 242cdf0e10cSrcweir template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 > 243cdf0e10cSrcweir class SAL_NO_VTABLE AggImplInheritanceHelper12 244cdf0e10cSrcweir : public BaseClass 245cdf0e10cSrcweir , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12 246cdf0e10cSrcweir { 247cdf0e10cSrcweir /** @internal */ 248cdf0e10cSrcweir struct cd : public rtl::StaticAggregate< class_data, ImplClassData12< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, AggImplInheritanceHelper12<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12> > > {}; 249cdf0e10cSrcweir protected: 250cdf0e10cSrcweir template< typename T1 > AggImplInheritanceHelper12(T1 const & arg1)251cdf0e10cSrcweir explicit AggImplInheritanceHelper12(T1 const & arg1): BaseClass(arg1) {} 252cdf0e10cSrcweir template< typename T1, typename T2 > AggImplInheritanceHelper12(T1 const & arg1,T2 const & arg2)253cdf0e10cSrcweir AggImplInheritanceHelper12(T1 const & arg1, T2 const & arg2): 254cdf0e10cSrcweir BaseClass(arg1, arg2) {} 255cdf0e10cSrcweir template< typename T1, typename T2, typename T3 > AggImplInheritanceHelper12(T1 const & arg1,T2 const & arg2,T3 const & arg3)256cdf0e10cSrcweir AggImplInheritanceHelper12( 257cdf0e10cSrcweir T1 const & arg1, T2 const & arg2, T3 const & arg3): 258cdf0e10cSrcweir BaseClass(arg1, arg2, arg3) {} 259cdf0e10cSrcweir template< typename T1, typename T2, typename T3, typename T4 > AggImplInheritanceHelper12(T1 const & arg1,T2 const & arg2,T3 const & arg3,T4 const & arg4)260cdf0e10cSrcweir AggImplInheritanceHelper12( 261cdf0e10cSrcweir T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): 262cdf0e10cSrcweir BaseClass(arg1, arg2, arg3, arg4) {} 263cdf0e10cSrcweir template< 264cdf0e10cSrcweir typename T1, typename T2, typename T3, typename T4, typename T5 > AggImplInheritanceHelper12(T1 const & arg1,T2 const & arg2,T3 const & arg3,T4 const & arg4,T5 const & arg5)265cdf0e10cSrcweir AggImplInheritanceHelper12( 266cdf0e10cSrcweir T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, 267cdf0e10cSrcweir T5 const & arg5): 268cdf0e10cSrcweir BaseClass(arg1, arg2, arg3, arg4, arg5) {} 269cdf0e10cSrcweir template< 270cdf0e10cSrcweir typename T1, typename T2, typename T3, typename T4, typename T5, 271cdf0e10cSrcweir typename T6 > AggImplInheritanceHelper12(T1 const & arg1,T2 const & arg2,T3 const & arg3,T4 const & arg4,T5 const & arg5,T6 const & arg6)272cdf0e10cSrcweir AggImplInheritanceHelper12( 273cdf0e10cSrcweir T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, 274cdf0e10cSrcweir T5 const & arg5, T6 const & arg6): 275cdf0e10cSrcweir BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} 276cdf0e10cSrcweir public: AggImplInheritanceHelper12()277cdf0e10cSrcweir AggImplInheritanceHelper12() {} queryInterface(::com::sun::star::uno::Type const & rType)278cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) 279cdf0e10cSrcweir { return BaseClass::queryInterface( rType ); } queryAggregation(::com::sun::star::uno::Type const & rType)280cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) 281cdf0e10cSrcweir { 282cdf0e10cSrcweir ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); 283cdf0e10cSrcweir if (aRet.hasValue()) 284cdf0e10cSrcweir return aRet; 285cdf0e10cSrcweir return BaseClass::queryAggregation( rType ); 286cdf0e10cSrcweir } acquire()287cdf0e10cSrcweir virtual void SAL_CALL acquire() throw () 288cdf0e10cSrcweir { BaseClass::acquire(); } release()289cdf0e10cSrcweir virtual void SAL_CALL release() throw () 290cdf0e10cSrcweir { BaseClass::release(); } getTypes()291cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) 292cdf0e10cSrcweir { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } getImplementationId()293cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) 294cdf0e10cSrcweir { return ImplHelper_getImplementationId( cd::get() ); } 295cdf0e10cSrcweir }; 296cdf0e10cSrcweir } 297cdf0e10cSrcweir 298cdf0e10cSrcweir #endif 299