LibreOffice Module configmgr (master) 1
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
configmgr::ChildAccess Class Reference

#include <childaccess.hxx>

Inheritance diagram for configmgr::ChildAccess:
[legend]
Collaboration diagram for configmgr::ChildAccess:
[legend]

Public Member Functions

 ChildAccess (Components &components, rtl::Reference< RootAccess > const &root, rtl::Reference< Access > const &parent, OUString name, rtl::Reference< Node > const &node)
 
 ChildAccess (Components &components, rtl::Reference< RootAccess > const &root, rtl::Reference< Node > const &node)
 
virtual std::vector< OUString > getAbsolutePath () override
 
virtual std::vector< OUString > getRelativePath () override
 
virtual OUString getRelativePathRepresentation () override
 
virtual rtl::Reference< NodegetNode () override
 
virtual bool isFinalized () override
 
virtual const OUString & getNameInternal () override
 
virtual rtl::Reference< RootAccessgetRootAccess () override
 
virtual rtl::Reference< AccessgetParentAccess () override
 
virtual void SAL_CALL acquire () noexcept override
 
virtual void SAL_CALL release () noexcept override
 
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getParent () override
 
virtual void SAL_CALL setParent (css::uno::Reference< css::uno::XInterface > const &) override
 
void bind (rtl::Reference< RootAccess > const &root, rtl::Reference< Access > const &parent, OUString const &name) noexcept
 
void unbind () noexcept
 
bool isInTransaction () const
 
void committed ()
 
void setNode (rtl::Reference< Node > const &node)
 
void setProperty (css::uno::Any const &value, Modifications *localModifications)
 
css::uno::Any asValue ()
 
void commitChanges (bool valid, Modifications *globalModifications)
 
- Public Member Functions inherited from configmgr::Access
oslInterlockedCount acquireCounting ()
 
void releaseNondeleting ()
 
bool isValue ()
 
void markChildAsModified (rtl::Reference< ChildAccess > const &child)
 
void releaseChild (OUString const &name)
 
virtual std::vector< OUString > getAbsolutePath ()=0
 
virtual std::vector< OUString > getRelativePath ()=0
 
virtual OUString getRelativePathRepresentation ()=0
 
virtual rtl::Reference< NodegetNode ()=0
 
virtual bool isFinalized ()=0
 
virtual void initBroadcaster (Modifications::Node const &modifications, Broadcaster *broadcaster)
 
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes () override
 
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId () override
 
virtual OUString SAL_CALL getImplementationName () override
 
virtual sal_Bool SAL_CALL supportsService (OUString const &ServiceName) override
 
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames () override
 
virtual void SAL_CALL dispose () override
 
virtual void SAL_CALL addEventListener (css::uno::Reference< css::lang::XEventListener > const &xListener) override
 
virtual void SAL_CALL removeEventListener (css::uno::Reference< css::lang::XEventListener > const &aListener) override
 
virtual css::uno::Type SAL_CALL getElementType () override
 
virtual sal_Bool SAL_CALL hasElements () override
 
virtual css::uno::Any SAL_CALL getByName (OUString const &aName) override
 
virtual css::uno::Sequence< OUString > SAL_CALL getElementNames () override
 
virtual sal_Bool SAL_CALL hasByName (OUString const &aName) override
 
virtual css::uno::Any SAL_CALL getByHierarchicalName (OUString const &aName) override
 
virtual sal_Bool SAL_CALL hasByHierarchicalName (OUString const &aName) override
 
virtual void SAL_CALL replaceByHierarchicalName (OUString const &aName, css::uno::Any const &aElement) override
 
virtual void SAL_CALL addContainerListener (css::uno::Reference< css::container::XContainerListener > const &xListener) override
 
virtual void SAL_CALL removeContainerListener (css::uno::Reference< css::container::XContainerListener > const &xListener) override
 
virtual OUString SAL_CALL getExactName (OUString const &aApproximateName) override
 
virtual css::uno::Sequence< css::beans::Property > SAL_CALL getProperties () override
 
virtual css::beans::Property SAL_CALL getPropertyByName (OUString const &aName) override
 
virtual sal_Bool SAL_CALL hasPropertyByName (OUString const &Name) override
 
virtual OUString SAL_CALL getHierarchicalName () override
 
virtual OUString SAL_CALL composeHierarchicalName (OUString const &aRelativeName) override
 
virtual OUString SAL_CALL getName () override
 
virtual void SAL_CALL setName (OUString const &aName) override
 
virtual css::beans::Property SAL_CALL getAsProperty () override
 
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo () override
 
virtual void SAL_CALL setPropertyValue (OUString const &aPropertyName, css::uno::Any const &aValue) override
 
virtual css::uno::Any SAL_CALL getPropertyValue (OUString const &PropertyName) override
 
virtual void SAL_CALL addPropertyChangeListener (OUString const &aPropertyName, css::uno::Reference< css::beans::XPropertyChangeListener > const &xListener) override
 
virtual void SAL_CALL removePropertyChangeListener (OUString const &aPropertyName, css::uno::Reference< css::beans::XPropertyChangeListener > const &aListener) override
 
virtual void SAL_CALL addVetoableChangeListener (OUString const &PropertyName, css::uno::Reference< css::beans::XVetoableChangeListener > const &aListener) override
 
virtual void SAL_CALL removeVetoableChangeListener (OUString const &PropertyName, css::uno::Reference< css::beans::XVetoableChangeListener > const &aListener) override
 
virtual void SAL_CALL setPropertyValues (css::uno::Sequence< OUString > const &aPropertyNames, css::uno::Sequence< css::uno::Any > const &aValues) override
 
virtual css::uno::Sequence< css::uno::Any > SAL_CALL getPropertyValues (css::uno::Sequence< OUString > const &aPropertyNames) override
 
virtual void SAL_CALL addPropertiesChangeListener (css::uno::Sequence< OUString > const &aPropertyNames, css::uno::Reference< css::beans::XPropertiesChangeListener > const &xListener) override
 
virtual void SAL_CALL removePropertiesChangeListener (css::uno::Reference< css::beans::XPropertiesChangeListener > const &xListener) override
 
virtual void SAL_CALL firePropertiesChangeEvent (css::uno::Sequence< OUString > const &aPropertyNames, css::uno::Reference< css::beans::XPropertiesChangeListener > const &xListener) override
 
virtual css::uno::Reference< css::beans::XHierarchicalPropertySetInfo > SAL_CALL getHierarchicalPropertySetInfo () override
 
virtual void SAL_CALL setHierarchicalPropertyValue (OUString const &aHierarchicalPropertyName, css::uno::Any const &aValue) override
 
virtual css::uno::Any SAL_CALL getHierarchicalPropertyValue (OUString const &aHierarchicalPropertyName) override
 
virtual void SAL_CALL setHierarchicalPropertyValues (css::uno::Sequence< OUString > const &aHierarchicalPropertyNames, css::uno::Sequence< css::uno::Any > const &Values) override
 
virtual css::uno::Sequence< css::uno::Any > SAL_CALL getHierarchicalPropertyValues (css::uno::Sequence< OUString > const &aHierarchicalPropertyNames) override
 
virtual css::beans::Property SAL_CALL getPropertyByHierarchicalName (OUString const &aHierarchicalName) override
 
virtual sal_Bool SAL_CALL hasPropertyByHierarchicalName (OUString const &aHierarchicalName) override
 
virtual void SAL_CALL replaceByName (OUString const &aName, css::uno::Any const &aElement) override
 
virtual void SAL_CALL insertByName (OUString const &aName, css::uno::Any const &aElement) override
 
virtual void SAL_CALL removeByName (OUString const &aName) override
 
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance () override
 
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArguments (css::uno::Sequence< css::uno::Any > const &aArguments) override
 
- Public Member Functions inherited from cppu::OWeakObject
 OWeakObject ()
 
 OWeakObject (const OWeakObject &)
 
OWeakObject &SAL_CALL operator= (const OWeakObject &)
 
virtual css::uno::Any SAL_CALL queryInterface (const css::uno::Type &rType) SAL_OVERRIDE
 
virtual void SAL_CALL acquire () SAL_NOEXCEPT SAL_OVERRIDE
 
virtual void SAL_CALL release () SAL_NOEXCEPT SAL_OVERRIDE
 
virtual css::uno::Reference< css::uno::XAdapter > SAL_CALL queryAdapter () SAL_OVERRIDE
 
SAL_CALL operator css::uno::Reference< css::uno::XInterface > ()
 

Static Public Member Functions

static bool asSimpleValue (const rtl::Reference< Node > &rNode, css::uno::Any &value, Components &components)
 Can we quickly extract a simple value into value ? if so returns true. More...
 

Private Member Functions

virtual ~ChildAccess () override
 
virtual void addTypes (std::vector< css::uno::Type > *types) const override
 
virtual void addSupportedServiceNames (std::vector< OUString > *services) override
 
virtual css::uno::Any SAL_CALL queryInterface (css::uno::Type const &aType) override
 

Private Attributes

rtl::Reference< RootAccessroot_
 
rtl::Reference< Accessparent_
 
OUString name_
 
rtl::Reference< Nodenode_
 
std::optional< css::uno::Any > changedValue_
 
bool inTransaction_
 
std::shared_ptr< osl::Mutex > lock_
 

Additional Inherited Members

- Protected Types inherited from configmgr::Access
enum  {
  IS_ANY = 0 ,
  IS_GROUP = 0x01 ,
  IS_SET = 0x02 ,
  IS_EXTENSIBLE = 0x04 ,
  IS_GROUP_MEMBER = 0x08 ,
  IS_SET_MEMBER = 0x10 ,
  IS_UPDATE = 0x20
}
 
- Protected Member Functions inherited from configmgr::Access
 Access (Components &components)
 
virtual ~Access () override
 
virtual const OUString & getNameInternal ()=0
 
virtual rtl::Reference< RootAccessgetRootAccess ()=0
 
virtual rtl::Reference< AccessgetParentAccess ()=0
 
virtual void addTypes (std::vector< css::uno::Type > *types) const =0
 
virtual void addSupportedServiceNames (std::vector< OUString > *services)=0
 
virtual void initDisposeBroadcaster (Broadcaster *broadcaster)
 
virtual void clearListeners () noexcept
 
virtual css::uno::Any SAL_CALL queryInterface (css::uno::Type const &aType) override
 
ComponentsgetComponents () const
 
void checkLocalizedPropertyAccess ()
 
rtl::Reference< NodegetParentNode ()
 
rtl::Reference< ChildAccessgetChild (OUString const &name)
 
std::vector< rtl::Reference< ChildAccess > > getAllChildren ()
 
void checkValue (css::uno::Any const &value, Type type, bool nillable)
 
void insertLocalizedValueChild (OUString const &name, css::uno::Any const &value, Modifications *localModifications)
 
void reportChildChanges (std::vector< css::util::ElementChange > *changes)
 
void commitChildChanges (bool valid, Modifications *globalModifications)
 
void initBroadcasterAndChanges (Modifications::Node const &modifications, Broadcaster *broadcaster, std::vector< css::util::ElementChange > *changes)
 
bool isDisposed () const
 
bool thisIs (int what)
 
- Protected Member Functions inherited from cppu::OWeakObject
virtual ~OWeakObject () COVERITY_NOEXCEPT_FALSE
 
void disposeWeakConnectionPoint ()
 
- Protected Attributes inherited from cppu::OWeakObject
oslInterlockedCount m_refCount
 

Detailed Description

Definition at line 49 of file childaccess.hxx.

Constructor & Destructor Documentation

◆ ChildAccess() [1/2]

configmgr::ChildAccess::ChildAccess ( Components components,
rtl::Reference< RootAccess > const &  root,
rtl::Reference< Access > const &  parent,
OUString  name,
rtl::Reference< Node > const &  node 
)

Definition at line 59 of file childaccess.cxx.

References name_.

◆ ChildAccess() [2/2]

configmgr::ChildAccess::ChildAccess ( Components components,
rtl::Reference< RootAccess > const &  root,
rtl::Reference< Node > const &  node 
)

Definition at line 70 of file childaccess.cxx.

◆ ~ChildAccess()

configmgr::ChildAccess::~ChildAccess ( )
overrideprivatevirtual

Definition at line 296 of file childaccess.cxx.

References lock_, name_, and parent_.

Member Function Documentation

◆ acquire()

void configmgr::ChildAccess::acquire ( )
overridevirtualnoexcept

Reimplemented from cppu::OWeakObject.

Definition at line 131 of file childaccess.cxx.

References cppu::OWeakObject::acquire().

◆ addSupportedServiceNames()

void configmgr::ChildAccess::addSupportedServiceNames ( std::vector< OUString > *  services)
overrideprivatevirtual

◆ addTypes()

void configmgr::ChildAccess::addTypes ( std::vector< css::uno::Type > *  types) const
overrideprivatevirtual

Implements configmgr::Access.

Definition at line 303 of file childaccess.cxx.

◆ asSimpleValue()

bool configmgr::ChildAccess::asSimpleValue ( const rtl::Reference< Node > &  rNode,
css::uno::Any &  value,
Components components 
)
static

Can we quickly extract a simple value into value ? if so returns true.

Definition at line 254 of file childaccess.cxx.

References getValue(), configmgr::Node::KIND_LOCALIZED_VALUE, configmgr::Node::KIND_PROPERTY, and value.

Referenced by asValue(), and configmgr::Access::getByNameFast().

◆ asValue()

css::uno::Any configmgr::ChildAccess::asValue ( )

◆ bind()

void configmgr::ChildAccess::bind ( rtl::Reference< RootAccess > const &  root,
rtl::Reference< Access > const &  parent,
OUString const &  name 
)
noexcept

Definition at line 156 of file childaccess.cxx.

References name, name_, and root_.

◆ commitChanges()

void configmgr::ChildAccess::commitChanges ( bool  valid,
Modifications globalModifications 
)

◆ committed()

void configmgr::ChildAccess::committed ( )

Definition at line 174 of file childaccess.cxx.

References inTransaction_.

◆ getAbsolutePath()

std::vector< OUString > configmgr::ChildAccess::getAbsolutePath ( )
overridevirtual

Implements configmgr::Access.

Definition at line 79 of file childaccess.cxx.

References getParentAccess(), and name_.

Referenced by commitChanges().

◆ getNameInternal()

const OUString & configmgr::ChildAccess::getNameInternal ( )
overridevirtual

Implements configmgr::Access.

Definition at line 119 of file childaccess.cxx.

References name_.

◆ getNode()

rtl::Reference< Node > configmgr::ChildAccess::getNode ( )
overridevirtual

Implements configmgr::Access.

Definition at line 110 of file childaccess.cxx.

References node_.

◆ getParent()

css::uno::Reference< css::uno::XInterface > configmgr::ChildAccess::getParent ( )
overridevirtual

◆ getParentAccess()

rtl::Reference< Access > configmgr::ChildAccess::getParentAccess ( )
overridevirtual

Implements configmgr::Access.

Definition at line 127 of file childaccess.cxx.

References parent_.

Referenced by getAbsolutePath(), getRelativePath(), getRelativePathRepresentation(), and setProperty().

◆ getRelativePath()

std::vector< OUString > configmgr::ChildAccess::getRelativePath ( )
overridevirtual

Implements configmgr::Access.

Definition at line 87 of file childaccess.cxx.

References getParentAccess(), and name_.

Referenced by setProperty().

◆ getRelativePathRepresentation()

OUString configmgr::ChildAccess::getRelativePathRepresentation ( )
overridevirtual

Implements configmgr::Access.

Definition at line 97 of file childaccess.cxx.

References configmgr::Data::createSegment(), getParentAccess(), name_, and node_.

◆ getRootAccess()

rtl::Reference< RootAccess > configmgr::ChildAccess::getRootAccess ( )
overridevirtual

Implements configmgr::Access.

Definition at line 123 of file childaccess.cxx.

References root_.

Referenced by asValue(), and setProperty().

◆ isFinalized()

bool configmgr::ChildAccess::isFinalized ( )
overridevirtual

Implements configmgr::Access.

Definition at line 114 of file childaccess.cxx.

References configmgr::Data::NO_LAYER, node_, and parent_.

◆ isInTransaction()

bool configmgr::ChildAccess::isInTransaction ( ) const
inline

Definition at line 92 of file childaccess.hxx.

References inTransaction_.

◆ queryInterface()

css::uno::Any configmgr::ChildAccess::queryInterface ( css::uno::Type const &  aType)
overrideprivatevirtual

◆ release()

void configmgr::ChildAccess::release ( )
overridevirtualnoexcept

Reimplemented from cppu::OWeakObject.

Definition at line 135 of file childaccess.cxx.

References cppu::OWeakObject::release().

◆ setNode()

void configmgr::ChildAccess::setNode ( rtl::Reference< Node > const &  node)

Definition at line 178 of file childaccess.cxx.

References node_.

◆ setParent()

void configmgr::ChildAccess::setParent ( css::uno::Reference< css::uno::XInterface > const &  )
overridevirtual

◆ setProperty()

void configmgr::ChildAccess::setProperty ( css::uno::Any const &  value,
Modifications localModifications 
)

◆ unbind()

void configmgr::ChildAccess::unbind ( )
noexcept

Definition at line 167 of file childaccess.cxx.

References inTransaction_, name_, and parent_.

Member Data Documentation

◆ changedValue_

std::optional< css::uno::Any > configmgr::ChildAccess::changedValue_
private

Definition at line 123 of file childaccess.hxx.

Referenced by asValue(), commitChanges(), and setProperty().

◆ inTransaction_

bool configmgr::ChildAccess::inTransaction_
private

Definition at line 124 of file childaccess.hxx.

Referenced by committed(), isInTransaction(), and unbind().

◆ lock_

std::shared_ptr<osl::Mutex> configmgr::ChildAccess::lock_
private

Definition at line 126 of file childaccess.hxx.

Referenced by getParent(), queryInterface(), setParent(), and ~ChildAccess().

◆ name_

OUString configmgr::ChildAccess::name_
private

◆ node_

rtl::Reference< Node > configmgr::ChildAccess::node_
private

◆ parent_

rtl::Reference< Access > configmgr::ChildAccess::parent_
private

Definition at line 120 of file childaccess.hxx.

Referenced by getParent(), getParentAccess(), isFinalized(), unbind(), and ~ChildAccess().

◆ root_

rtl::Reference< RootAccess > configmgr::ChildAccess::root_
private

Definition at line 119 of file childaccess.hxx.

Referenced by getRootAccess().


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