LibreOffice
LibreOffice 4.3 SDK C/C++ API Reference
typeprovider.hxx
Go to the documentation of this file.
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 #ifndef INCLUDED_CPPUHELPER_TYPEPROVIDER_HXX
20 #define INCLUDED_CPPUHELPER_TYPEPROVIDER_HXX
21 
22 #include <rtl/alloc.h>
23 #include <rtl/uuid.h>
26 
27 
28 namespace cppu
29 {
30 
35 {
37 
38 public:
40  // these are here to force memory de/allocation to sal lib.
41  inline static void * SAL_CALL operator new( size_t nSize ) SAL_THROW(())
42  { return ::rtl_allocateMemory( nSize ); }
43  inline static void SAL_CALL operator delete( void * pMem ) SAL_THROW(())
44  { ::rtl_freeMemory( pMem ); }
45  inline static void * SAL_CALL operator new( size_t, void * pMem ) SAL_THROW(())
46  { return pMem; }
47  inline static void SAL_CALL operator delete( void *, void * ) SAL_THROW(())
48  {}
50 
51  inline OTypeCollection( const OTypeCollection & rCollection )
52  SAL_THROW(())
53  : _aTypes( rCollection._aTypes )
54  {}
56  const ::com::sun::star::uno::Type & rType1,
57  const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() )
58  SAL_THROW(());
60  const ::com::sun::star::uno::Type & rType1,
61  const ::com::sun::star::uno::Type & rType2,
62  const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() )
63  SAL_THROW(());
65  const ::com::sun::star::uno::Type & rType1,
66  const ::com::sun::star::uno::Type & rType2,
67  const ::com::sun::star::uno::Type & rType3,
68  const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() )
69  SAL_THROW(());
71  const ::com::sun::star::uno::Type & rType1,
72  const ::com::sun::star::uno::Type & rType2,
73  const ::com::sun::star::uno::Type & rType3,
74  const ::com::sun::star::uno::Type & rType4,
75  const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() )
76  SAL_THROW(());
78  const ::com::sun::star::uno::Type & rType1,
79  const ::com::sun::star::uno::Type & rType2,
80  const ::com::sun::star::uno::Type & rType3,
81  const ::com::sun::star::uno::Type & rType4,
82  const ::com::sun::star::uno::Type & rType5,
83  const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() )
84  SAL_THROW(());
86  const ::com::sun::star::uno::Type & rType1,
87  const ::com::sun::star::uno::Type & rType2,
88  const ::com::sun::star::uno::Type & rType3,
89  const ::com::sun::star::uno::Type & rType4,
90  const ::com::sun::star::uno::Type & rType5,
91  const ::com::sun::star::uno::Type & rType6,
92  const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() )
93  SAL_THROW(());
95  const ::com::sun::star::uno::Type & rType1,
96  const ::com::sun::star::uno::Type & rType2,
97  const ::com::sun::star::uno::Type & rType3,
98  const ::com::sun::star::uno::Type & rType4,
99  const ::com::sun::star::uno::Type & rType5,
100  const ::com::sun::star::uno::Type & rType6,
101  const ::com::sun::star::uno::Type & rType7,
102  const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() )
103  SAL_THROW(());
105  const ::com::sun::star::uno::Type & rType1,
106  const ::com::sun::star::uno::Type & rType2,
107  const ::com::sun::star::uno::Type & rType3,
108  const ::com::sun::star::uno::Type & rType4,
109  const ::com::sun::star::uno::Type & rType5,
110  const ::com::sun::star::uno::Type & rType6,
111  const ::com::sun::star::uno::Type & rType7,
112  const ::com::sun::star::uno::Type & rType8,
113  const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() )
114  SAL_THROW(());
116  const ::com::sun::star::uno::Type & rType1,
117  const ::com::sun::star::uno::Type & rType2,
118  const ::com::sun::star::uno::Type & rType3,
119  const ::com::sun::star::uno::Type & rType4,
120  const ::com::sun::star::uno::Type & rType5,
121  const ::com::sun::star::uno::Type & rType6,
122  const ::com::sun::star::uno::Type & rType7,
123  const ::com::sun::star::uno::Type & rType8,
124  const ::com::sun::star::uno::Type & rType9,
125  const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() )
126  SAL_THROW(());
128  const ::com::sun::star::uno::Type & rType1,
129  const ::com::sun::star::uno::Type & rType2,
130  const ::com::sun::star::uno::Type & rType3,
131  const ::com::sun::star::uno::Type & rType4,
132  const ::com::sun::star::uno::Type & rType5,
133  const ::com::sun::star::uno::Type & rType6,
134  const ::com::sun::star::uno::Type & rType7,
135  const ::com::sun::star::uno::Type & rType8,
136  const ::com::sun::star::uno::Type & rType9,
137  const ::com::sun::star::uno::Type & rType10,
138  const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() )
139  SAL_THROW(());
141  const ::com::sun::star::uno::Type & rType1,
142  const ::com::sun::star::uno::Type & rType2,
143  const ::com::sun::star::uno::Type & rType3,
144  const ::com::sun::star::uno::Type & rType4,
145  const ::com::sun::star::uno::Type & rType5,
146  const ::com::sun::star::uno::Type & rType6,
147  const ::com::sun::star::uno::Type & rType7,
148  const ::com::sun::star::uno::Type & rType8,
149  const ::com::sun::star::uno::Type & rType9,
150  const ::com::sun::star::uno::Type & rType10,
151  const ::com::sun::star::uno::Type & rType11,
152  const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() )
153  SAL_THROW(());
155  const ::com::sun::star::uno::Type & rType1,
156  const ::com::sun::star::uno::Type & rType2,
157  const ::com::sun::star::uno::Type & rType3,
158  const ::com::sun::star::uno::Type & rType4,
159  const ::com::sun::star::uno::Type & rType5,
160  const ::com::sun::star::uno::Type & rType6,
161  const ::com::sun::star::uno::Type & rType7,
162  const ::com::sun::star::uno::Type & rType8,
163  const ::com::sun::star::uno::Type & rType9,
164  const ::com::sun::star::uno::Type & rType10,
165  const ::com::sun::star::uno::Type & rType11,
166  const ::com::sun::star::uno::Type & rType12,
167  const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() )
168  SAL_THROW(());
169 
174  ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() SAL_THROW(())
175  { return _aTypes; }
176 };
177 
182 {
183  mutable ::com::sun::star::uno::Sequence< sal_Int8 > * _pSeq;
184  sal_Bool _bUseEthernetAddress;
185 
186 public:
188 
189  // these are here to force memory de/allocation to sal lib.
190  inline static void * SAL_CALL operator new( size_t nSize ) SAL_THROW(())
191  { return ::rtl_allocateMemory( nSize ); }
192  inline static void SAL_CALL operator delete( void * pMem ) SAL_THROW(())
193  { ::rtl_freeMemory( pMem ); }
194  inline static void * SAL_CALL operator new( size_t, void * pMem ) SAL_THROW(())
195  { return pMem; }
196  inline static void SAL_CALL operator delete( void *, void * ) SAL_THROW(())
197  {}
198 
200 
202 
207  inline OImplementationId( bool bUseEthernetAddress = true ) SAL_THROW(())
208  : _pSeq( 0 )
209  , _bUseEthernetAddress( bUseEthernetAddress )
210  {}
215  inline OImplementationId( const ::com::sun::star::uno::Sequence< sal_Int8 > & rSeq ) SAL_THROW(())
216  : _pSeq( new ::com::sun::star::uno::Sequence< sal_Int8 >( rSeq ) )
217  , _bUseEthernetAddress( false )
218  {}
220  : _pSeq( new ::com::sun::star::uno::Sequence< sal_Int8 >( rId.getImplementationId() ) )
221  , _bUseEthernetAddress( false )
222  {}
223 
228  ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() const SAL_THROW(());
229 };
230 
231 }
232 
233 #endif
234 
235 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
OImplementationId(bool bUseEthernetAddress=true) SAL_THROW(())
Constructor.
Definition: typeprovider.hxx:207
unsigned char sal_Bool
Definition: types.h:46
SAL_DLLPUBLIC void * rtl_allocateMemory(sal_Size Bytes) SAL_THROW_EXTERN_C()
Allocate memory.
OImplementationId(const OImplementationId &rId) SAL_THROW(())
Definition: typeprovider.hxx:219
signed char sal_Int8
Definition: types.h:51
Specification (from draft-leach-uuids-guids-01.txt )
Definition: Enterable.hxx:26
#define SAL_THROW(x)
Exception specification documentation.
Definition: types.h:361
Helper class to implement IDs for XUnoTunnel.
Definition: typeprovider.hxx:181
Helper class to implement com::sun::star::lang::XTypeProvider.
Definition: typeprovider.hxx:34
#define CPPUHELPER_DLLPUBLIC
Definition: cppuhelperdllapi.h:28
OImplementationId(const ::com::sun::star::uno::Sequence< sal_Int8 > &rSeq) SAL_THROW(())
Constructor giving implementation id.
Definition: typeprovider.hxx:215
SAL_DLLPUBLIC void rtl_freeMemory(void *Ptr) SAL_THROW_EXTERN_C()
Free memory.
Definition: types.h:391
OTypeCollection(const OTypeCollection &rCollection)
Definition: typeprovider.hxx:51