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