xref: /AOO41X/main/ucbhelper/inc/ucbhelper/propertyvalueset.hxx (revision b3b486c3fa1b38c2de306d076387b46c94e4246f)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef _UCBHELPER_PROPERTYVALUESET_HXX
25 #define _UCBHELPER_PROPERTYVALUESET_HXX
26 
27 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
28 #include <com/sun/star/lang/XTypeProvider.hpp>
29 #include <com/sun/star/sdbc/XColumnLocate.hpp>
30 #include <com/sun/star/sdbc/XRow.hpp>
31 #include <com/sun/star/beans/Property.hpp>
32 #include <cppuhelper/weak.hxx>
33 
34 #include "osl/mutex.hxx"
35 #include <ucbhelper/macros.hxx>
36 #include "ucbhelper/ucbhelperdllapi.h"
37 
38 namespace com { namespace sun { namespace star { namespace script {
39     class XTypeConverter;
40 } } } }
41 
42 namespace com { namespace sun { namespace star { namespace beans {
43     struct PropertyValue;
44     class XPropertySet;
45 } } } }
46 
47 namespace ucbhelper {
48 
49 class PropertyValues;
50 
51 //=========================================================================
52 
53 /**
54   * This class implements the interface XRow. After construction of a valueset
55   * the user can append properties ( incl. its values ) to the set. This class
56   * is useful when implementing the command "getPropertyValues", because the
57   * values to return can easyly appended to a valueset object. That object can
58   * directly be returned by the implementation of the command.
59   */
60 class UCBHELPER_DLLPUBLIC PropertyValueSet :
61                 public cppu::OWeakObject,
62                 public com::sun::star::lang::XTypeProvider,
63                 public com::sun::star::sdbc::XRow,
64                 public com::sun::star::sdbc::XColumnLocate
65 {
66     com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >
67                                      m_xSMgr;
68     com::sun::star::uno::Reference< com::sun::star::script::XTypeConverter >
69                                      m_xTypeConverter;
70     osl::Mutex      m_aMutex;
71     PropertyValues* m_pValues;
72     sal_Bool        m_bWasNull;
73     sal_Bool        m_bTriedToGetTypeConverter;
74 
75 private:
76     UCBHELPER_DLLPRIVATE const com::sun::star::uno::Reference<
77             com::sun::star::script::XTypeConverter >&
78     getTypeConverter();
79 
80 public:
81     PropertyValueSet(
82             const com::sun::star::uno::Reference<
83                 com::sun::star::lang::XMultiServiceFactory >& rxSMgr );
84     PropertyValueSet(
85             const com::sun::star::uno::Reference<
86                 com::sun::star::lang::XMultiServiceFactory >& rxSMgr,
87             const com::sun::star::uno::Sequence<
88                 com::sun::star::beans::PropertyValue >& rValues );
89     virtual ~PropertyValueSet();
90 
91     // XInterface
92     XINTERFACE_DECL()
93 
94     // XTypeProvider
95     XTYPEPROVIDER_DECL()
96 
97     // XRow
98     virtual sal_Bool SAL_CALL
99     wasNull()
100         throw( ::com::sun::star::sdbc::SQLException,
101                ::com::sun::star::uno::RuntimeException );
102     virtual ::rtl::OUString SAL_CALL
103     getString( sal_Int32 columnIndex )
104         throw( ::com::sun::star::sdbc::SQLException,
105                ::com::sun::star::uno::RuntimeException );
106     virtual sal_Bool SAL_CALL
107     getBoolean( sal_Int32 columnIndex )
108         throw( ::com::sun::star::sdbc::SQLException,
109                ::com::sun::star::uno::RuntimeException );
110     virtual sal_Int8 SAL_CALL
111     getByte( sal_Int32 columnIndex )
112         throw( ::com::sun::star::sdbc::SQLException,
113                ::com::sun::star::uno::RuntimeException );
114     virtual sal_Int16 SAL_CALL
115     getShort( sal_Int32 columnIndex )
116         throw( ::com::sun::star::sdbc::SQLException,
117                ::com::sun::star::uno::RuntimeException );
118     virtual sal_Int32 SAL_CALL
119     getInt( sal_Int32 columnIndex )
120         throw( ::com::sun::star::sdbc::SQLException,
121                ::com::sun::star::uno::RuntimeException );
122     virtual sal_Int64 SAL_CALL
123     getLong( sal_Int32 columnIndex )
124         throw( ::com::sun::star::sdbc::SQLException,
125                ::com::sun::star::uno::RuntimeException );
126     virtual float SAL_CALL
127     getFloat( sal_Int32 columnIndex )
128         throw( ::com::sun::star::sdbc::SQLException,
129                ::com::sun::star::uno::RuntimeException );
130     virtual double SAL_CALL
131     getDouble( sal_Int32 columnIndex )
132         throw( ::com::sun::star::sdbc::SQLException,
133                ::com::sun::star::uno::RuntimeException );
134     virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL
135     getBytes( sal_Int32 columnIndex )
136         throw( ::com::sun::star::sdbc::SQLException,
137                ::com::sun::star::uno::RuntimeException );
138     virtual ::com::sun::star::util::Date SAL_CALL
139     getDate( sal_Int32 columnIndex )
140         throw( ::com::sun::star::sdbc::SQLException,
141                ::com::sun::star::uno::RuntimeException );
142     virtual ::com::sun::star::util::Time SAL_CALL
143     getTime( sal_Int32 columnIndex )
144         throw( ::com::sun::star::sdbc::SQLException,
145                ::com::sun::star::uno::RuntimeException );
146     virtual ::com::sun::star::util::DateTime SAL_CALL
147     getTimestamp( sal_Int32 columnIndex )
148         throw( ::com::sun::star::sdbc::SQLException,
149                ::com::sun::star::uno::RuntimeException );
150     virtual ::com::sun::star::uno::Reference<
151                 ::com::sun::star::io::XInputStream > SAL_CALL
152     getBinaryStream( sal_Int32 columnIndex )
153         throw( ::com::sun::star::sdbc::SQLException,
154                ::com::sun::star::uno::RuntimeException );
155     virtual ::com::sun::star::uno::Reference<
156                 ::com::sun::star::io::XInputStream > SAL_CALL
157     getCharacterStream( sal_Int32 columnIndex )
158         throw( ::com::sun::star::sdbc::SQLException,
159                ::com::sun::star::uno::RuntimeException );
160     virtual ::com::sun::star::uno::Any SAL_CALL
161     getObject( sal_Int32 columnIndex,
162                const ::com::sun::star::uno::Reference<
163                 ::com::sun::star::container::XNameAccess >& typeMap )
164         throw( ::com::sun::star::sdbc::SQLException,
165                ::com::sun::star::uno::RuntimeException );
166     virtual ::com::sun::star::uno::Reference<
167                 ::com::sun::star::sdbc::XRef > SAL_CALL
168     getRef( sal_Int32 columnIndex )
169         throw( ::com::sun::star::sdbc::SQLException,
170                ::com::sun::star::uno::RuntimeException );
171     virtual ::com::sun::star::uno::Reference<
172                 ::com::sun::star::sdbc::XBlob > SAL_CALL
173     getBlob( sal_Int32 columnIndex )
174         throw( ::com::sun::star::sdbc::SQLException,
175                ::com::sun::star::uno::RuntimeException );
176     virtual ::com::sun::star::uno::Reference<
177                 ::com::sun::star::sdbc::XClob > SAL_CALL
178     getClob( sal_Int32 columnIndex )
179         throw( ::com::sun::star::sdbc::SQLException,
180                ::com::sun::star::uno::RuntimeException );
181     virtual ::com::sun::star::uno::Reference<
182                 ::com::sun::star::sdbc::XArray > SAL_CALL
183     getArray( sal_Int32 columnIndex )
184         throw( ::com::sun::star::sdbc::SQLException,
185                ::com::sun::star::uno::RuntimeException );
186 
187     // XColumnLocate
188     virtual sal_Int32 SAL_CALL
189     findColumn( const ::rtl::OUString& columnName )
190         throw( ::com::sun::star::sdbc::SQLException,
191                ::com::sun::star::uno::RuntimeException );
192 
193     //////////////////////////////////////////////////////////////////////
194     // Non-interface methods
195     //////////////////////////////////////////////////////////////////////
196 
197     /**
198       * This method returns the number of elements of the value set.
199       *
200       * @return the number of elements of the value set.
201       */
202     sal_Int32 getLength() const;
203 
204     void appendString( const ::rtl::OUString& rPropName, const ::rtl::OUString& rValue );
appendString(const sal_Char * pAsciiPropName,const::rtl::OUString & rValue)205     void appendString( const sal_Char* pAsciiPropName, const ::rtl::OUString& rValue )
206     {
207         appendString( ::rtl::OUString::createFromAscii( pAsciiPropName ), rValue );
208     }
appendString(const::com::sun::star::beans::Property & rProp,const::rtl::OUString & rValue)209     void appendString( const ::com::sun::star::beans::Property& rProp, const ::rtl::OUString& rValue )
210     {
211         appendString( rProp.Name, rValue );
212     }
213 
214     void appendBoolean( const ::rtl::OUString& rPropName, sal_Bool bValue );
appendBoolean(const sal_Char * pAsciiPropName,sal_Bool bValue)215     void appendBoolean( const sal_Char* pAsciiPropName, sal_Bool bValue )
216     {
217         appendBoolean( ::rtl::OUString::createFromAscii( pAsciiPropName ), bValue );
218     }
appendBoolean(const::com::sun::star::beans::Property & rProp,sal_Bool bValue)219     void appendBoolean( const ::com::sun::star::beans::Property& rProp, sal_Bool bValue )
220     {
221         appendBoolean( rProp.Name, bValue );
222     }
223 
224     void appendByte( const ::rtl::OUString& rPropName, sal_Int8 nValue );
appendByte(const sal_Char * pAsciiPropName,sal_Int8 nValue)225     void appendByte( const sal_Char* pAsciiPropName, sal_Int8 nValue )
226     {
227         appendByte( ::rtl::OUString::createFromAscii( pAsciiPropName ), nValue );
228     }
appendByte(const::com::sun::star::beans::Property & rProp,sal_Int8 nValue)229     void appendByte( const ::com::sun::star::beans::Property& rProp, sal_Int8 nValue )
230     {
231         appendByte( rProp.Name, nValue );
232     }
233 
234     void appendShort( const ::rtl::OUString& rPropName, sal_Int16 nValue );
appendShort(const sal_Char * pAsciiPropName,sal_Int16 nValue)235     void appendShort( const sal_Char* pAsciiPropName, sal_Int16 nValue )
236     {
237         appendShort( ::rtl::OUString::createFromAscii( pAsciiPropName ), nValue );
238     }
appendShort(const::com::sun::star::beans::Property & rProp,sal_Int16 nValue)239     void appendShort( const ::com::sun::star::beans::Property& rProp, sal_Int16 nValue )
240     {
241         appendShort( rProp.Name, nValue );
242     }
243 
244     void appendInt( const ::rtl::OUString& rPropName, sal_Int32 nValue );
appendInt(const sal_Char * pAsciiPropName,sal_Int32 nValue)245     void appendInt( const sal_Char* pAsciiPropName, sal_Int32 nValue )
246     {
247         appendInt( ::rtl::OUString::createFromAscii( pAsciiPropName ), nValue );
248     }
appendInt(const::com::sun::star::beans::Property & rProp,sal_Int32 nValue)249     void appendInt( const ::com::sun::star::beans::Property& rProp, sal_Int32 nValue )
250     {
251         appendInt( rProp.Name, nValue );
252     }
253 
254     void appendLong( const ::rtl::OUString& rPropName, sal_Int64 nValue );
appendLong(const sal_Char * pAsciiPropName,sal_Int64 nValue)255     void appendLong( const sal_Char* pAsciiPropName, sal_Int64 nValue )
256     {
257         appendLong( ::rtl::OUString::createFromAscii( pAsciiPropName ), nValue );
258     }
appendLong(const::com::sun::star::beans::Property & rProp,sal_Int64 nValue)259     void appendLong( const ::com::sun::star::beans::Property& rProp, sal_Int64 nValue )
260     {
261         appendLong( rProp.Name, nValue );
262     }
263 
264     void appendFloat( const ::rtl::OUString& rPropName, float nValue );
appendFloat(const sal_Char * pAsciiPropName,float nValue)265     void appendFloat( const sal_Char* pAsciiPropName, float nValue )
266     {
267         appendFloat( ::rtl::OUString::createFromAscii( pAsciiPropName ), nValue );
268     }
appendFloat(const::com::sun::star::beans::Property & rProp,float nValue)269     void appendFloat( const ::com::sun::star::beans::Property& rProp, float nValue )
270     {
271         appendFloat( rProp.Name, nValue );
272     }
273 
274     void appendDouble( const ::rtl::OUString& rPropName, double nValue );
appendDouble(const sal_Char * pAsciiPropName,double nValue)275     void appendDouble( const sal_Char* pAsciiPropName, double nValue )
276     {
277         appendDouble( ::rtl::OUString::createFromAscii( pAsciiPropName ), nValue );
278     }
appendDouble(const::com::sun::star::beans::Property & rProp,double nValue)279     void appendDouble( const ::com::sun::star::beans::Property& rProp, double nValue )
280     {
281         appendDouble( rProp.Name, nValue );
282     }
283 
284     void appendBytes( const ::rtl::OUString& rPropName, const ::com::sun::star::uno::Sequence< sal_Int8 >& rValue );
appendBytes(const sal_Char * pAsciiPropName,const::com::sun::star::uno::Sequence<sal_Int8> & rValue)285     void appendBytes( const sal_Char* pAsciiPropName, const ::com::sun::star::uno::Sequence< sal_Int8 >& rValue )
286     {
287         appendBytes( ::rtl::OUString::createFromAscii( pAsciiPropName ), rValue );
288     }
appendBytes(const::com::sun::star::beans::Property & rProp,const::com::sun::star::uno::Sequence<sal_Int8> & rValue)289     void appendBytes( const ::com::sun::star::beans::Property& rProp, const ::com::sun::star::uno::Sequence< sal_Int8 >& rValue )
290     {
291         appendBytes( rProp.Name, rValue );
292     }
293 
294     void appendDate( const ::rtl::OUString& rPropName, const ::com::sun::star::util::Date& rValue );
appendDate(const sal_Char * pAsciiPropName,const::com::sun::star::util::Date & rValue)295     void appendDate( const sal_Char* pAsciiPropName, const ::com::sun::star::util::Date& rValue )
296     {
297         appendDate( ::rtl::OUString::createFromAscii( pAsciiPropName ), rValue );
298     }
appendDate(const::com::sun::star::beans::Property & rProp,const::com::sun::star::util::Date & rValue)299     void appendDate( const ::com::sun::star::beans::Property& rProp, const ::com::sun::star::util::Date& rValue )
300     {
301         appendDate( rProp.Name, rValue );
302     }
303 
304     void appendTime( const ::rtl::OUString& rPropName, const ::com::sun::star::util::Time& rValue );
appendTime(const sal_Char * pAsciiPropName,const::com::sun::star::util::Time & rValue)305     void appendTime( const sal_Char* pAsciiPropName, const ::com::sun::star::util::Time& rValue )
306     {
307         appendTime( ::rtl::OUString::createFromAscii( pAsciiPropName ), rValue );
308     }
appendTime(const::com::sun::star::beans::Property & rProp,const::com::sun::star::util::Time & rValue)309     void appendTime( const ::com::sun::star::beans::Property& rProp, const ::com::sun::star::util::Time& rValue )
310     {
311         appendTime( rProp.Name, rValue );
312     }
313 
314     void appendTimestamp( const ::rtl::OUString& rPropName, const ::com::sun::star::util::DateTime& rValue );
appendTimestamp(const sal_Char * pAsciiPropName,const::com::sun::star::util::DateTime & rValue)315     void appendTimestamp( const sal_Char* pAsciiPropName, const ::com::sun::star::util::DateTime& rValue )
316     {
317         appendTimestamp( ::rtl::OUString::createFromAscii( pAsciiPropName ), rValue );
318     }
appendTimestamp(const::com::sun::star::beans::Property & rProp,const::com::sun::star::util::DateTime & rValue)319     void appendTimestamp( const ::com::sun::star::beans::Property& rProp, const ::com::sun::star::util::DateTime& rValue )
320     {
321         appendTimestamp( rProp.Name, rValue );
322     }
323 
324     void appendBinaryStream( const ::rtl::OUString& rPropName, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& rValue );
appendBinaryStream(const sal_Char * pAsciiPropName,const::com::sun::star::uno::Reference<::com::sun::star::io::XInputStream> & rValue)325     void appendBinaryStream( const sal_Char* pAsciiPropName, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& rValue )
326     {
327         appendBinaryStream( ::rtl::OUString::createFromAscii( pAsciiPropName ), rValue );
328     }
appendBinaryStream(const::com::sun::star::beans::Property & rProp,const::com::sun::star::uno::Reference<::com::sun::star::io::XInputStream> & rValue)329     void appendBinaryStream( const ::com::sun::star::beans::Property& rProp, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& rValue )
330     {
331         appendBinaryStream( rProp.Name, rValue );
332     }
333 
334     void appendCharacterStream( const ::rtl::OUString& rPropName, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& rValue );
appendCharacterStream(const sal_Char * pAsciiPropName,const::com::sun::star::uno::Reference<::com::sun::star::io::XInputStream> & rValue)335     void appendCharacterStream( const sal_Char* pAsciiPropName, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& rValue )
336     {
337         appendCharacterStream( ::rtl::OUString::createFromAscii( pAsciiPropName ), rValue );
338     }
appendCharacterStream(const::com::sun::star::beans::Property & rProp,const::com::sun::star::uno::Reference<::com::sun::star::io::XInputStream> & rValue)339     void appendCharacterStream( const ::com::sun::star::beans::Property& rProp, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& rValue )
340     {
341         appendCharacterStream( rProp.Name, rValue );
342     }
343 
344     void appendObject( const ::rtl::OUString& rPropName, const ::com::sun::star::uno::Any& rValue );
appendObject(const sal_Char * pAsciiPropName,const::com::sun::star::uno::Any & rValue)345     void appendObject( const sal_Char* pAsciiPropName, const ::com::sun::star::uno::Any& rValue )
346     {
347         appendObject( ::rtl::OUString::createFromAscii( pAsciiPropName ), rValue );
348     }
appendObject(const::com::sun::star::beans::Property & rProp,const::com::sun::star::uno::Any & rValue)349     void appendObject( const ::com::sun::star::beans::Property& rProp, const ::com::sun::star::uno::Any& rValue )
350     {
351         appendObject( rProp.Name, rValue );
352     }
353 
354     void appendRef( const ::rtl::OUString& rPropName, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRef >& rValue );
appendRef(const sal_Char * pAsciiPropName,const::com::sun::star::uno::Reference<::com::sun::star::sdbc::XRef> & rValue)355     void appendRef( const sal_Char* pAsciiPropName, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRef >& rValue )
356     {
357         appendRef( ::rtl::OUString::createFromAscii( pAsciiPropName ), rValue );
358     }
appendRef(const::com::sun::star::beans::Property & rProp,const::com::sun::star::uno::Reference<::com::sun::star::sdbc::XRef> & rValue)359     void appendRef( const ::com::sun::star::beans::Property& rProp, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRef >& rValue )
360     {
361         appendRef( rProp.Name, rValue );
362     }
363 
364     void appendBlob( const ::rtl::OUString& rPropName, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob >& rValue );
appendBlob(const sal_Char * pAsciiPropName,const::com::sun::star::uno::Reference<::com::sun::star::sdbc::XBlob> & rValue)365     void appendBlob( const sal_Char* pAsciiPropName, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob >& rValue )
366     {
367         appendBlob( ::rtl::OUString::createFromAscii( pAsciiPropName ), rValue );
368     }
appendBlob(const::com::sun::star::beans::Property & rProp,const::com::sun::star::uno::Reference<::com::sun::star::sdbc::XBlob> & rValue)369     void appendBlob( const ::com::sun::star::beans::Property& rProp, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob >& rValue )
370     {
371         appendBlob( rProp.Name, rValue );
372     }
373 
374     void appendClob( const ::rtl::OUString& rPropName, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XClob >& rValue );
appendClob(const sal_Char * pAsciiPropName,const::com::sun::star::uno::Reference<::com::sun::star::sdbc::XClob> & rValue)375     void appendClob( const sal_Char* pAsciiPropName, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XClob >& rValue )
376     {
377         appendClob( ::rtl::OUString::createFromAscii( pAsciiPropName ), rValue );
378     }
appendClob(const::com::sun::star::beans::Property & rProp,const::com::sun::star::uno::Reference<::com::sun::star::sdbc::XClob> & rValue)379     void appendClob( const ::com::sun::star::beans::Property& rProp, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XClob >& rValue )
380     {
381         appendClob( rProp.Name, rValue );
382     }
383 
384     void appendArray( const ::rtl::OUString& rPropName, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XArray >& rValue );
appendArray(const sal_Char * pAsciiPropName,const::com::sun::star::uno::Reference<::com::sun::star::sdbc::XArray> & rValue)385     void appendArray( const sal_Char* pAsciiPropName, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XArray >& rValue )
386     {
387         appendArray( ::rtl::OUString::createFromAscii( pAsciiPropName ), rValue );
388     }
appendArray(const::com::sun::star::beans::Property & rProp,const::com::sun::star::uno::Reference<::com::sun::star::sdbc::XArray> & rValue)389     void appendArray( const ::com::sun::star::beans::Property& rProp, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XArray >& rValue )
390     {
391         appendArray( rProp.Name, rValue );
392     }
393 
394     void appendVoid( const ::rtl::OUString& rPropName );
appendVoid(const sal_Char * pAsciiPropName)395     void appendVoid( const sal_Char* pAsciiPropName)
396     {
397         appendVoid( ::rtl::OUString::createFromAscii( pAsciiPropName ) );
398     }
appendVoid(const::com::sun::star::beans::Property & rProp)399     void appendVoid( const ::com::sun::star::beans::Property& rProp )
400     {
401         appendVoid( rProp.Name );
402     }
403 
404     /**
405       * This method tries to append all property values contained in a
406       * property set to the value set.
407       *
408       * @param  rSet is a property set containing the property values.
409       */
410     void appendPropertySet( const ::com::sun::star::uno::Reference<
411                                 ::com::sun::star::beans::XPropertySet >& rSet );
412 
413     /** This method tries to append a single property value contained in a
414       * property set to the value set.
415       *
416       * @param  rSet is a property set containing the property values.
417       * @param  rProperty is the property for that the value shall be obtained
418       *         from the given property set.
419       * @return False, if the property value cannot be obtained from the
420       *         given property pet. True, otherwise.
421       */
422     sal_Bool appendPropertySetValue(
423                         const ::com::sun::star::uno::Reference<
424                             ::com::sun::star::beans::XPropertySet >& rSet,
425                         const ::com::sun::star::beans::Property& rProperty );
426 };
427 
428 }
429 
430 #endif /* !_UCBHELPER_PROPERTYVALUESET_HXX */
431