1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski #ifndef _UCBSTORE_HXX 25*b1cdbd2cSJim Jagielski #define _UCBSTORE_HXX 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XTypeProvider.hpp> 28*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XServiceInfo.hpp> 29*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XMultiServiceFactory.hpp> 30*b1cdbd2cSJim Jagielski #include <com/sun/star/container/XNamed.hpp> 31*b1cdbd2cSJim Jagielski #include <com/sun/star/container/XNameAccess.hpp> 32*b1cdbd2cSJim Jagielski #include <com/sun/star/ucb/XPropertySetRegistryFactory.hpp> 33*b1cdbd2cSJim Jagielski #include <com/sun/star/ucb/XPropertySetRegistry.hpp> 34*b1cdbd2cSJim Jagielski #include <com/sun/star/ucb/XPersistentPropertySet.hpp> 35*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/XPropertyContainer.hpp> 36*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/XPropertySetInfoChangeNotifier.hpp> 37*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/XPropertyAccess.hpp> 38*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XComponent.hpp> 39*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XInitialization.hpp> 40*b1cdbd2cSJim Jagielski #include <cppuhelper/weak.hxx> 41*b1cdbd2cSJim Jagielski #include <ucbhelper/macros.hxx> 42*b1cdbd2cSJim Jagielski 43*b1cdbd2cSJim Jagielski //========================================================================= 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim Jagielski #define STORE_SERVICE_NAME "com.sun.star.ucb.Store" 46*b1cdbd2cSJim Jagielski #define PROPSET_REG_SERVICE_NAME "com.sun.star.ucb.PropertySetRegistry" 47*b1cdbd2cSJim Jagielski #define PERS_PROPSET_SERVICE_NAME "com.sun.star.ucb.PersistentPropertySet" 48*b1cdbd2cSJim Jagielski 49*b1cdbd2cSJim Jagielski //========================================================================= 50*b1cdbd2cSJim Jagielski 51*b1cdbd2cSJim Jagielski struct UcbStore_Impl; 52*b1cdbd2cSJim Jagielski 53*b1cdbd2cSJim Jagielski class UcbStore : 54*b1cdbd2cSJim Jagielski public cppu::OWeakObject, 55*b1cdbd2cSJim Jagielski public com::sun::star::lang::XTypeProvider, 56*b1cdbd2cSJim Jagielski public com::sun::star::lang::XServiceInfo, 57*b1cdbd2cSJim Jagielski public com::sun::star::ucb::XPropertySetRegistryFactory, 58*b1cdbd2cSJim Jagielski public com::sun::star::lang::XInitialization 59*b1cdbd2cSJim Jagielski { 60*b1cdbd2cSJim Jagielski com::sun::star::uno::Reference< 61*b1cdbd2cSJim Jagielski com::sun::star::lang::XMultiServiceFactory > m_xSMgr; 62*b1cdbd2cSJim Jagielski UcbStore_Impl* m_pImpl; 63*b1cdbd2cSJim Jagielski 64*b1cdbd2cSJim Jagielski public: 65*b1cdbd2cSJim Jagielski UcbStore( 66*b1cdbd2cSJim Jagielski const com::sun::star::uno::Reference< 67*b1cdbd2cSJim Jagielski com::sun::star::lang::XMultiServiceFactory >& rXSMgr ); 68*b1cdbd2cSJim Jagielski virtual ~UcbStore(); 69*b1cdbd2cSJim Jagielski 70*b1cdbd2cSJim Jagielski // XInterface 71*b1cdbd2cSJim Jagielski XINTERFACE_DECL() 72*b1cdbd2cSJim Jagielski 73*b1cdbd2cSJim Jagielski // XTypeProvider 74*b1cdbd2cSJim Jagielski XTYPEPROVIDER_DECL() 75*b1cdbd2cSJim Jagielski 76*b1cdbd2cSJim Jagielski // XServiceInfo 77*b1cdbd2cSJim Jagielski XSERVICEINFO_DECL() 78*b1cdbd2cSJim Jagielski 79*b1cdbd2cSJim Jagielski // XPropertySetRegistryFactory 80*b1cdbd2cSJim Jagielski virtual com::sun::star::uno::Reference< 81*b1cdbd2cSJim Jagielski com::sun::star::ucb::XPropertySetRegistry > SAL_CALL 82*b1cdbd2cSJim Jagielski createPropertySetRegistry( const rtl::OUString& URL ) 83*b1cdbd2cSJim Jagielski throw( com::sun::star::uno::RuntimeException ); 84*b1cdbd2cSJim Jagielski 85*b1cdbd2cSJim Jagielski // XInitialization 86*b1cdbd2cSJim Jagielski virtual void SAL_CALL 87*b1cdbd2cSJim Jagielski initialize( const ::com::sun::star::uno::Sequence< 88*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Any >& aArguments ) 89*b1cdbd2cSJim Jagielski throw( ::com::sun::star::uno::Exception, 90*b1cdbd2cSJim Jagielski ::com::sun::star::uno::RuntimeException ); 91*b1cdbd2cSJim Jagielski 92*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& 93*b1cdbd2cSJim Jagielski getInitArgs() const; 94*b1cdbd2cSJim Jagielski }; 95*b1cdbd2cSJim Jagielski 96*b1cdbd2cSJim Jagielski //========================================================================= 97*b1cdbd2cSJim Jagielski 98*b1cdbd2cSJim Jagielski struct PropertySetRegistry_Impl; 99*b1cdbd2cSJim Jagielski class PersistentPropertySet; 100*b1cdbd2cSJim Jagielski 101*b1cdbd2cSJim Jagielski class PropertySetRegistry : 102*b1cdbd2cSJim Jagielski public cppu::OWeakObject, 103*b1cdbd2cSJim Jagielski public com::sun::star::lang::XTypeProvider, 104*b1cdbd2cSJim Jagielski public com::sun::star::lang::XServiceInfo, 105*b1cdbd2cSJim Jagielski public com::sun::star::ucb::XPropertySetRegistry, 106*b1cdbd2cSJim Jagielski public com::sun::star::container::XNameAccess 107*b1cdbd2cSJim Jagielski { 108*b1cdbd2cSJim Jagielski friend class PersistentPropertySet; 109*b1cdbd2cSJim Jagielski 110*b1cdbd2cSJim Jagielski com::sun::star::uno::Reference< 111*b1cdbd2cSJim Jagielski com::sun::star::lang::XMultiServiceFactory > m_xSMgr; 112*b1cdbd2cSJim Jagielski PropertySetRegistry_Impl* m_pImpl; 113*b1cdbd2cSJim Jagielski 114*b1cdbd2cSJim Jagielski private: 115*b1cdbd2cSJim Jagielski com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory > 116*b1cdbd2cSJim Jagielski getConfigProvider(); 117*b1cdbd2cSJim Jagielski 118*b1cdbd2cSJim Jagielski void add ( PersistentPropertySet* pSet ); 119*b1cdbd2cSJim Jagielski void remove( PersistentPropertySet* pSet ); 120*b1cdbd2cSJim Jagielski 121*b1cdbd2cSJim Jagielski void renamePropertySet( const rtl::OUString& rOldKey, 122*b1cdbd2cSJim Jagielski const rtl::OUString& rNewKey ); 123*b1cdbd2cSJim Jagielski 124*b1cdbd2cSJim Jagielski public: 125*b1cdbd2cSJim Jagielski PropertySetRegistry( 126*b1cdbd2cSJim Jagielski const com::sun::star::uno::Reference< 127*b1cdbd2cSJim Jagielski com::sun::star::lang::XMultiServiceFactory >& rXSMgr, 128*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Sequence< 129*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Any >& rInitArgs); 130*b1cdbd2cSJim Jagielski virtual ~PropertySetRegistry(); 131*b1cdbd2cSJim Jagielski 132*b1cdbd2cSJim Jagielski // XInterface 133*b1cdbd2cSJim Jagielski XINTERFACE_DECL() 134*b1cdbd2cSJim Jagielski 135*b1cdbd2cSJim Jagielski // XTypeProvider 136*b1cdbd2cSJim Jagielski XTYPEPROVIDER_DECL() 137*b1cdbd2cSJim Jagielski 138*b1cdbd2cSJim Jagielski // XServiceInfo 139*b1cdbd2cSJim Jagielski XSERVICEINFO_NOFACTORY_DECL() 140*b1cdbd2cSJim Jagielski 141*b1cdbd2cSJim Jagielski // XPropertySetRegistry 142*b1cdbd2cSJim Jagielski virtual com::sun::star::uno::Reference< 143*b1cdbd2cSJim Jagielski com::sun::star::ucb::XPersistentPropertySet > SAL_CALL 144*b1cdbd2cSJim Jagielski openPropertySet( const rtl::OUString& key, sal_Bool create ) 145*b1cdbd2cSJim Jagielski throw( com::sun::star::uno::RuntimeException ); 146*b1cdbd2cSJim Jagielski virtual void SAL_CALL 147*b1cdbd2cSJim Jagielski removePropertySet( const rtl::OUString& key ) 148*b1cdbd2cSJim Jagielski throw( com::sun::star::uno::RuntimeException ); 149*b1cdbd2cSJim Jagielski 150*b1cdbd2cSJim Jagielski // XElementAccess ( XNameAccess is derived from it ) 151*b1cdbd2cSJim Jagielski virtual com::sun::star::uno::Type SAL_CALL 152*b1cdbd2cSJim Jagielski getElementType() 153*b1cdbd2cSJim Jagielski throw( com::sun::star::uno::RuntimeException ); 154*b1cdbd2cSJim Jagielski virtual sal_Bool SAL_CALL 155*b1cdbd2cSJim Jagielski hasElements() 156*b1cdbd2cSJim Jagielski throw( com::sun::star::uno::RuntimeException ); 157*b1cdbd2cSJim Jagielski 158*b1cdbd2cSJim Jagielski // XNameAccess 159*b1cdbd2cSJim Jagielski virtual com::sun::star::uno::Any SAL_CALL 160*b1cdbd2cSJim Jagielski getByName( const rtl::OUString& aName ) 161*b1cdbd2cSJim Jagielski throw( com::sun::star::container::NoSuchElementException, 162*b1cdbd2cSJim Jagielski com::sun::star::lang::WrappedTargetException, 163*b1cdbd2cSJim Jagielski com::sun::star::uno::RuntimeException ); 164*b1cdbd2cSJim Jagielski virtual com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL 165*b1cdbd2cSJim Jagielski getElementNames() 166*b1cdbd2cSJim Jagielski throw( com::sun::star::uno::RuntimeException ); 167*b1cdbd2cSJim Jagielski virtual sal_Bool SAL_CALL 168*b1cdbd2cSJim Jagielski hasByName( const rtl::OUString& aName ) 169*b1cdbd2cSJim Jagielski throw( com::sun::star::uno::RuntimeException ); 170*b1cdbd2cSJim Jagielski 171*b1cdbd2cSJim Jagielski // Non-interface methods 172*b1cdbd2cSJim Jagielski com::sun::star::uno::Reference< com::sun::star::uno::XInterface > 173*b1cdbd2cSJim Jagielski getRootConfigReadAccess(); 174*b1cdbd2cSJim Jagielski com::sun::star::uno::Reference< com::sun::star::uno::XInterface > 175*b1cdbd2cSJim Jagielski getConfigWriteAccess( const rtl::OUString& rPath ); 176*b1cdbd2cSJim Jagielski }; 177*b1cdbd2cSJim Jagielski 178*b1cdbd2cSJim Jagielski //========================================================================= 179*b1cdbd2cSJim Jagielski 180*b1cdbd2cSJim Jagielski struct PersistentPropertySet_Impl; 181*b1cdbd2cSJim Jagielski 182*b1cdbd2cSJim Jagielski class PersistentPropertySet : 183*b1cdbd2cSJim Jagielski public cppu::OWeakObject, 184*b1cdbd2cSJim Jagielski public com::sun::star::lang::XTypeProvider, 185*b1cdbd2cSJim Jagielski public com::sun::star::lang::XServiceInfo, 186*b1cdbd2cSJim Jagielski public com::sun::star::lang::XComponent, 187*b1cdbd2cSJim Jagielski public com::sun::star::ucb::XPersistentPropertySet, 188*b1cdbd2cSJim Jagielski public com::sun::star::container::XNamed, 189*b1cdbd2cSJim Jagielski public com::sun::star::beans::XPropertyContainer, 190*b1cdbd2cSJim Jagielski public com::sun::star::beans::XPropertySetInfoChangeNotifier, 191*b1cdbd2cSJim Jagielski public com::sun::star::beans::XPropertyAccess 192*b1cdbd2cSJim Jagielski { 193*b1cdbd2cSJim Jagielski com::sun::star::uno::Reference< 194*b1cdbd2cSJim Jagielski com::sun::star::lang::XMultiServiceFactory > m_xSMgr; 195*b1cdbd2cSJim Jagielski PersistentPropertySet_Impl* m_pImpl; 196*b1cdbd2cSJim Jagielski 197*b1cdbd2cSJim Jagielski private: 198*b1cdbd2cSJim Jagielski void notifyPropertyChangeEvent( 199*b1cdbd2cSJim Jagielski const com::sun::star::beans::PropertyChangeEvent& rEvent ) const; 200*b1cdbd2cSJim Jagielski void notifyPropertySetInfoChange( 201*b1cdbd2cSJim Jagielski const com::sun::star::beans::PropertySetInfoChangeEvent& evt ) const; 202*b1cdbd2cSJim Jagielski 203*b1cdbd2cSJim Jagielski public: 204*b1cdbd2cSJim Jagielski PersistentPropertySet( 205*b1cdbd2cSJim Jagielski const com::sun::star::uno::Reference< 206*b1cdbd2cSJim Jagielski com::sun::star::lang::XMultiServiceFactory >& rXSMgr, 207*b1cdbd2cSJim Jagielski PropertySetRegistry& rCreator, 208*b1cdbd2cSJim Jagielski const rtl::OUString& rKey ); 209*b1cdbd2cSJim Jagielski virtual ~PersistentPropertySet(); 210*b1cdbd2cSJim Jagielski 211*b1cdbd2cSJim Jagielski // XInterface 212*b1cdbd2cSJim Jagielski XINTERFACE_DECL() 213*b1cdbd2cSJim Jagielski 214*b1cdbd2cSJim Jagielski // XTypeProvider 215*b1cdbd2cSJim Jagielski XTYPEPROVIDER_DECL() 216*b1cdbd2cSJim Jagielski 217*b1cdbd2cSJim Jagielski // XServiceInfo 218*b1cdbd2cSJim Jagielski XSERVICEINFO_NOFACTORY_DECL() 219*b1cdbd2cSJim Jagielski 220*b1cdbd2cSJim Jagielski // XComponent 221*b1cdbd2cSJim Jagielski virtual void SAL_CALL 222*b1cdbd2cSJim Jagielski dispose() 223*b1cdbd2cSJim Jagielski throw( com::sun::star::uno::RuntimeException ); 224*b1cdbd2cSJim Jagielski virtual void SAL_CALL 225*b1cdbd2cSJim Jagielski addEventListener( const com::sun::star::uno::Reference< 226*b1cdbd2cSJim Jagielski com::sun::star::lang::XEventListener >& Listener ) 227*b1cdbd2cSJim Jagielski throw( com::sun::star::uno::RuntimeException ); 228*b1cdbd2cSJim Jagielski virtual void SAL_CALL 229*b1cdbd2cSJim Jagielski removeEventListener( const com::sun::star::uno::Reference< 230*b1cdbd2cSJim Jagielski com::sun::star::lang::XEventListener >& Listener ) 231*b1cdbd2cSJim Jagielski throw( com::sun::star::uno::RuntimeException ); 232*b1cdbd2cSJim Jagielski 233*b1cdbd2cSJim Jagielski // XPropertySet 234*b1cdbd2cSJim Jagielski virtual com::sun::star::uno::Reference< 235*b1cdbd2cSJim Jagielski com::sun::star::beans::XPropertySetInfo > SAL_CALL 236*b1cdbd2cSJim Jagielski getPropertySetInfo() 237*b1cdbd2cSJim Jagielski throw( com::sun::star::uno::RuntimeException ); 238*b1cdbd2cSJim Jagielski virtual void SAL_CALL 239*b1cdbd2cSJim Jagielski setPropertyValue( const rtl::OUString& aPropertyName, 240*b1cdbd2cSJim Jagielski const com::sun::star::uno::Any& aValue ) 241*b1cdbd2cSJim Jagielski throw( com::sun::star::beans::UnknownPropertyException, 242*b1cdbd2cSJim Jagielski com::sun::star::beans::PropertyVetoException, 243*b1cdbd2cSJim Jagielski com::sun::star::lang::IllegalArgumentException, 244*b1cdbd2cSJim Jagielski com::sun::star::lang::WrappedTargetException, 245*b1cdbd2cSJim Jagielski com::sun::star::uno::RuntimeException ); 246*b1cdbd2cSJim Jagielski virtual com::sun::star::uno::Any SAL_CALL 247*b1cdbd2cSJim Jagielski getPropertyValue( const rtl::OUString& PropertyName ) 248*b1cdbd2cSJim Jagielski throw( com::sun::star::beans::UnknownPropertyException, 249*b1cdbd2cSJim Jagielski com::sun::star::lang::WrappedTargetException, 250*b1cdbd2cSJim Jagielski com::sun::star::uno::RuntimeException ); 251*b1cdbd2cSJim Jagielski virtual void SAL_CALL 252*b1cdbd2cSJim Jagielski addPropertyChangeListener( const rtl::OUString& aPropertyName, 253*b1cdbd2cSJim Jagielski const com::sun::star::uno::Reference< 254*b1cdbd2cSJim Jagielski com::sun::star::beans::XPropertyChangeListener >& xListener ) 255*b1cdbd2cSJim Jagielski throw( com::sun::star::beans::UnknownPropertyException, 256*b1cdbd2cSJim Jagielski com::sun::star::lang::WrappedTargetException, 257*b1cdbd2cSJim Jagielski com::sun::star::uno::RuntimeException ); 258*b1cdbd2cSJim Jagielski virtual void SAL_CALL 259*b1cdbd2cSJim Jagielski removePropertyChangeListener( const rtl::OUString& aPropertyName, 260*b1cdbd2cSJim Jagielski const com::sun::star::uno::Reference< 261*b1cdbd2cSJim Jagielski com::sun::star::beans::XPropertyChangeListener >& aListener ) 262*b1cdbd2cSJim Jagielski throw( com::sun::star::beans::UnknownPropertyException, 263*b1cdbd2cSJim Jagielski com::sun::star::lang::WrappedTargetException, 264*b1cdbd2cSJim Jagielski com::sun::star::uno::RuntimeException ); 265*b1cdbd2cSJim Jagielski virtual void SAL_CALL 266*b1cdbd2cSJim Jagielski addVetoableChangeListener( const rtl::OUString& PropertyName, 267*b1cdbd2cSJim Jagielski const com::sun::star::uno::Reference< 268*b1cdbd2cSJim Jagielski com::sun::star::beans::XVetoableChangeListener >& aListener ) 269*b1cdbd2cSJim Jagielski throw( com::sun::star::beans::UnknownPropertyException, 270*b1cdbd2cSJim Jagielski com::sun::star::lang::WrappedTargetException, 271*b1cdbd2cSJim Jagielski com::sun::star::uno::RuntimeException ); 272*b1cdbd2cSJim Jagielski virtual void SAL_CALL 273*b1cdbd2cSJim Jagielski removeVetoableChangeListener( const rtl::OUString& PropertyName, 274*b1cdbd2cSJim Jagielski const com::sun::star::uno::Reference< 275*b1cdbd2cSJim Jagielski com::sun::star::beans::XVetoableChangeListener >& aListener ) 276*b1cdbd2cSJim Jagielski throw( com::sun::star::beans::UnknownPropertyException, 277*b1cdbd2cSJim Jagielski com::sun::star::lang::WrappedTargetException, 278*b1cdbd2cSJim Jagielski com::sun::star::uno::RuntimeException ); 279*b1cdbd2cSJim Jagielski 280*b1cdbd2cSJim Jagielski // XPersistentPropertySet 281*b1cdbd2cSJim Jagielski virtual com::sun::star::uno::Reference< 282*b1cdbd2cSJim Jagielski com::sun::star::ucb::XPropertySetRegistry > SAL_CALL 283*b1cdbd2cSJim Jagielski getRegistry() 284*b1cdbd2cSJim Jagielski throw( com::sun::star::uno::RuntimeException ); 285*b1cdbd2cSJim Jagielski virtual rtl::OUString SAL_CALL 286*b1cdbd2cSJim Jagielski getKey() 287*b1cdbd2cSJim Jagielski throw( com::sun::star::uno::RuntimeException ); 288*b1cdbd2cSJim Jagielski 289*b1cdbd2cSJim Jagielski // XNamed 290*b1cdbd2cSJim Jagielski virtual rtl::OUString SAL_CALL 291*b1cdbd2cSJim Jagielski getName() 292*b1cdbd2cSJim Jagielski throw( ::com::sun::star::uno::RuntimeException ); 293*b1cdbd2cSJim Jagielski virtual void SAL_CALL 294*b1cdbd2cSJim Jagielski setName( const ::rtl::OUString& aName ) 295*b1cdbd2cSJim Jagielski throw( ::com::sun::star::uno::RuntimeException ); 296*b1cdbd2cSJim Jagielski 297*b1cdbd2cSJim Jagielski // XPropertyContainer 298*b1cdbd2cSJim Jagielski virtual void SAL_CALL 299*b1cdbd2cSJim Jagielski addProperty( const rtl::OUString& Name, 300*b1cdbd2cSJim Jagielski sal_Int16 Attributes, 301*b1cdbd2cSJim Jagielski const com::sun::star::uno::Any& DefaultValue ) 302*b1cdbd2cSJim Jagielski throw( com::sun::star::beans::PropertyExistException, 303*b1cdbd2cSJim Jagielski com::sun::star::beans::IllegalTypeException, 304*b1cdbd2cSJim Jagielski com::sun::star::lang::IllegalArgumentException, 305*b1cdbd2cSJim Jagielski com::sun::star::uno::RuntimeException ); 306*b1cdbd2cSJim Jagielski virtual void SAL_CALL 307*b1cdbd2cSJim Jagielski removeProperty( const rtl::OUString& Name ) 308*b1cdbd2cSJim Jagielski throw( com::sun::star::beans::UnknownPropertyException, 309*b1cdbd2cSJim Jagielski com::sun::star::beans::NotRemoveableException, 310*b1cdbd2cSJim Jagielski com::sun::star::uno::RuntimeException ); 311*b1cdbd2cSJim Jagielski 312*b1cdbd2cSJim Jagielski // XPropertySetInfoChangeNotifier 313*b1cdbd2cSJim Jagielski virtual void SAL_CALL 314*b1cdbd2cSJim Jagielski addPropertySetInfoChangeListener( const com::sun::star::uno::Reference< 315*b1cdbd2cSJim Jagielski com::sun::star::beans::XPropertySetInfoChangeListener >& Listener ) 316*b1cdbd2cSJim Jagielski throw( com::sun::star::uno::RuntimeException ); 317*b1cdbd2cSJim Jagielski virtual void SAL_CALL 318*b1cdbd2cSJim Jagielski removePropertySetInfoChangeListener( const com::sun::star::uno::Reference< 319*b1cdbd2cSJim Jagielski com::sun::star::beans::XPropertySetInfoChangeListener >& Listener ) 320*b1cdbd2cSJim Jagielski throw( com::sun::star::uno::RuntimeException ); 321*b1cdbd2cSJim Jagielski 322*b1cdbd2cSJim Jagielski // XPropertyAccess 323*b1cdbd2cSJim Jagielski virtual com::sun::star::uno::Sequence< 324*b1cdbd2cSJim Jagielski com::sun::star::beans::PropertyValue > SAL_CALL 325*b1cdbd2cSJim Jagielski getPropertyValues() 326*b1cdbd2cSJim Jagielski throw( com::sun::star::uno::RuntimeException ); 327*b1cdbd2cSJim Jagielski virtual void SAL_CALL 328*b1cdbd2cSJim Jagielski setPropertyValues( const com::sun::star::uno::Sequence< 329*b1cdbd2cSJim Jagielski com::sun::star::beans::PropertyValue >& aProps ) 330*b1cdbd2cSJim Jagielski throw( com::sun::star::beans::UnknownPropertyException, 331*b1cdbd2cSJim Jagielski com::sun::star::beans::PropertyVetoException, 332*b1cdbd2cSJim Jagielski com::sun::star::lang::IllegalArgumentException, 333*b1cdbd2cSJim Jagielski com::sun::star::lang::WrappedTargetException, 334*b1cdbd2cSJim Jagielski com::sun::star::uno::RuntimeException ); 335*b1cdbd2cSJim Jagielski 336*b1cdbd2cSJim Jagielski // Non-interface methods. 337*b1cdbd2cSJim Jagielski PropertySetRegistry& getPropertySetRegistry(); 338*b1cdbd2cSJim Jagielski const rtl::OUString& getFullKey(); 339*b1cdbd2cSJim Jagielski }; 340*b1cdbd2cSJim Jagielski 341*b1cdbd2cSJim Jagielski #endif /* !_UCBSTORE_HXX */ 342