LibreOffice Module ucb (master) 1
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
PropertySetRegistry Class Reference

#include <ucbstore.hxx>

Inheritance diagram for PropertySetRegistry:
[legend]
Collaboration diagram for PropertySetRegistry:
[legend]

Public Member Functions

 PropertySetRegistry (const css::uno::Reference< css::uno::XComponentContext > &xContext, const css::uno::Sequence< css::uno::Any > &rInitArgs)
 
virtual ~PropertySetRegistry () override
 
virtual OUString SAL_CALL getImplementationName () override
 
virtual sal_Bool SAL_CALL supportsService (const OUString &ServiceName) override
 
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames () override
 
virtual css::uno::Reference< css::ucb::XPersistentPropertySet > SAL_CALL openPropertySet (const OUString &key, sal_Bool create) override
 
virtual void SAL_CALL removePropertySet (const OUString &key) override
 
virtual css::uno::Type SAL_CALL getElementType () override
 
virtual sal_Bool SAL_CALL hasElements () override
 
virtual css::uno::Any SAL_CALL getByName (const OUString &aName) override
 
virtual css::uno::Sequence< OUString > SAL_CALL getElementNames () override
 
virtual sal_Bool SAL_CALL hasByName (const OUString &aName) override
 
css::uno::Reference< css::uno::XInterface > getRootConfigReadAccess ()
 
css::uno::Reference< css::uno::XInterface > getConfigWriteAccess (const OUString &rPath)
 

Private Member Functions

css::uno::Reference< css::lang::XMultiServiceFactory > getConfigProvider (std::unique_lock< std::mutex > &l)
 
void add (std::unique_lock< std::mutex > &rCreatorGuard, PersistentPropertySet *pSet)
 
void remove (PersistentPropertySet *pSet)
 
void renamePropertySet (const OUString &rOldKey, const OUString &rNewKey)
 
css::uno::Reference< css::uno::XInterface > getRootConfigReadAccessImpl (std::unique_lock< std::mutex > &l)
 
css::uno::Reference< css::uno::XInterface > getConfigWriteAccessImpl (std::unique_lock< std::mutex > &l, const OUString &rPath)
 

Private Attributes

css::uno::Reference< css::uno::XComponentContext > m_xContext
 
const css::uno::Sequence< css::uno::Any > m_aInitArgs
 
PropertySetMap_Impl m_aPropSets
 
css::uno::Reference< css::lang::XMultiServiceFactory > m_xConfigProvider
 
css::uno::Reference< css::uno::XInterface > m_xRootReadAccess
 
css::uno::Reference< css::uno::XInterface > m_xRootWriteAccess
 
std::mutex m_aMutex
 
bool m_bTriedToGetRootReadAccess
 
bool m_bTriedToGetRootWriteAccess
 

Friends

class PersistentPropertySet
 

Detailed Description

Definition at line 77 of file ucbstore.hxx.

Constructor & Destructor Documentation

◆ PropertySetRegistry()

PropertySetRegistry::PropertySetRegistry ( const css::uno::Reference< css::uno::XComponentContext > &  xContext,
const css::uno::Sequence< css::uno::Any > &  rInitArgs 
)

Definition at line 199 of file ucbstore.cxx.

References m_xContext.

◆ ~PropertySetRegistry()

PropertySetRegistry::~PropertySetRegistry ( )
overridevirtual

Definition at line 211 of file ucbstore.cxx.

Member Function Documentation

◆ add()

void PropertySetRegistry::add ( std::unique_lock< std::mutex > &  rCreatorGuard,
PersistentPropertySet pSet 
)
private

◆ getByName()

Any SAL_CALL PropertySetRegistry::getByName ( const OUString &  aName)
overridevirtual

Definition at line 444 of file ucbstore.cxx.

References aName, Any, and getRootConfigReadAccess().

◆ getConfigProvider()

Reference< XMultiServiceFactory > PropertySetRegistry::getConfigProvider ( std::unique_lock< std::mutex > &  l)
private

◆ getConfigWriteAccess()

Reference< XInterface > PropertySetRegistry::getConfigWriteAccess ( const OUString &  rPath)

Definition at line 915 of file ucbstore.cxx.

References getConfigWriteAccessImpl(), and m_aMutex.

Referenced by renamePropertySet().

◆ getConfigWriteAccessImpl()

Reference< XInterface > PropertySetRegistry::getConfigWriteAccessImpl ( std::unique_lock< std::mutex > &  l,
const OUString &  rPath 
)
private

◆ getElementNames()

Sequence< OUString > SAL_CALL PropertySetRegistry::getElementNames ( )
overridevirtual

Definition at line 470 of file ucbstore.cxx.

References getRootConfigReadAccess().

◆ getElementType()

css::uno::Type SAL_CALL PropertySetRegistry::getElementType ( )
overridevirtual

Definition at line 422 of file ucbstore.cxx.

References cppu::UnoType< typename T >::get().

◆ getImplementationName()

OUString SAL_CALL PropertySetRegistry::getImplementationName ( )
overridevirtual

Definition at line 219 of file ucbstore.cxx.

◆ getRootConfigReadAccess()

Reference< XInterface > PropertySetRegistry::getRootConfigReadAccess ( )

◆ getRootConfigReadAccessImpl()

Reference< XInterface > PropertySetRegistry::getRootConfigReadAccessImpl ( std::unique_lock< std::mutex > &  l)
private

◆ getSupportedServiceNames()

css::uno::Sequence< OUString > SAL_CALL PropertySetRegistry::getSupportedServiceNames ( )
overridevirtual

Definition at line 229 of file ucbstore.cxx.

◆ hasByName()

sal_Bool SAL_CALL PropertySetRegistry::hasByName ( const OUString &  aName)
overridevirtual

Definition at line 483 of file ucbstore.cxx.

References aName, and getRootConfigReadAccess().

◆ hasElements()

sal_Bool SAL_CALL PropertySetRegistry::hasElements ( )
overridevirtual

Definition at line 429 of file ucbstore.cxx.

References getRootConfigReadAccess().

◆ openPropertySet()

Reference< XPersistentPropertySet > SAL_CALL PropertySetRegistry::openPropertySet ( const OUString &  key,
sal_Bool  create 
)
overridevirtual

◆ remove()

void PropertySetRegistry::remove ( PersistentPropertySet pSet)
private

Definition at line 509 of file ucbstore.cxx.

References PersistentPropertySet::getKey(), m_aMutex, and m_aPropSets.

◆ removePropertySet()

void SAL_CALL PropertySetRegistry::removePropertySet ( const OUString &  key)
overridevirtual

◆ renamePropertySet()

void PropertySetRegistry::renamePropertySet ( const OUString &  rOldKey,
const OUString &  rNewKey 
)
private

Definition at line 529 of file ucbstore.cxx.

References Any, Exception, getConfigWriteAccess(), and makeHierarchalNameSegment().

◆ supportsService()

sal_Bool SAL_CALL PropertySetRegistry::supportsService ( const OUString &  ServiceName)
overridevirtual

Definition at line 224 of file ucbstore.cxx.

References ServiceName, and cppu::supportsService().

Friends And Related Function Documentation

◆ PersistentPropertySet

friend class PersistentPropertySet
friend

Definition at line 82 of file ucbstore.hxx.

Referenced by openPropertySet().

Member Data Documentation

◆ m_aInitArgs

const css::uno::Sequence< css::uno::Any > PropertySetRegistry::m_aInitArgs
private

Definition at line 85 of file ucbstore.hxx.

Referenced by getConfigProvider().

◆ m_aMutex

std::mutex PropertySetRegistry::m_aMutex
private

◆ m_aPropSets

PropertySetMap_Impl PropertySetRegistry::m_aPropSets
private

Definition at line 86 of file ucbstore.hxx.

Referenced by add(), openPropertySet(), and remove().

◆ m_bTriedToGetRootReadAccess

bool PropertySetRegistry::m_bTriedToGetRootReadAccess
private

Definition at line 91 of file ucbstore.hxx.

Referenced by getRootConfigReadAccessImpl().

◆ m_bTriedToGetRootWriteAccess

bool PropertySetRegistry::m_bTriedToGetRootWriteAccess
private

Definition at line 92 of file ucbstore.hxx.

Referenced by getConfigWriteAccessImpl().

◆ m_xConfigProvider

css::uno::Reference< css::lang::XMultiServiceFactory > PropertySetRegistry::m_xConfigProvider
private

◆ m_xContext

css::uno::Reference< css::uno::XComponentContext > PropertySetRegistry::m_xContext
private

Definition at line 84 of file ucbstore.hxx.

Referenced by getConfigProvider().

◆ m_xRootReadAccess

css::uno::Reference< css::uno::XInterface > PropertySetRegistry::m_xRootReadAccess
private

Definition at line 88 of file ucbstore.hxx.

Referenced by getRootConfigReadAccessImpl().

◆ m_xRootWriteAccess

css::uno::Reference< css::uno::XInterface > PropertySetRegistry::m_xRootWriteAccess
private

Definition at line 89 of file ucbstore.hxx.

Referenced by getConfigWriteAccessImpl().


The documentation for this class was generated from the following files: