summaryrefslogtreecommitdiff
path: root/configmgr/source/access.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'configmgr/source/access.hxx')
-rw-r--r--configmgr/source/access.hxx28
1 files changed, 19 insertions, 9 deletions
diff --git a/configmgr/source/access.hxx b/configmgr/source/access.hxx
index 910df97a50bc..bd93b4222177 100644
--- a/configmgr/source/access.hxx
+++ b/configmgr/source/access.hxx
@@ -17,8 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#ifndef INCLUDED_CONFIGMGR_SOURCE_ACCESS_HXX
-#define INCLUDED_CONFIGMGR_SOURCE_ACCESS_HXX
+#pragma once
#include <sal/config.h>
@@ -36,6 +35,8 @@
#include <com/sun/star/beans/XPropertySetInfo.hpp>
#include <com/sun/star/container/XContainer.hpp>
#include <com/sun/star/container/XHierarchicalName.hpp>
+#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
+#include <com/sun/star/configuration/XDocumentation.hpp>
#include <com/sun/star/container/XHierarchicalNameReplace.hpp>
#include <com/sun/star/container/XNameContainer.hpp>
#include <com/sun/star/container/XNamed.hpp>
@@ -83,6 +84,7 @@ class Access:
public cppu::OWeakObject, public css::lang::XTypeProvider,
public css::lang::XServiceInfo,
public css::lang::XComponent,
+ public css::configuration::XDocumentation,
public css::container::XHierarchicalNameReplace,
public css::container::XContainer,
public css::beans::XExactName,
@@ -112,7 +114,7 @@ public:
virtual std::vector<OUString> getRelativePath() = 0;
virtual OUString getRelativePathRepresentation() = 0;
- virtual rtl::Reference< Node > getNode() = 0;
+ virtual const rtl::Reference< Node > & getNode() = 0;
virtual bool isFinalized() = 0;
@@ -160,6 +162,15 @@ public:
virtual css::uno::Any SAL_CALL getByHierarchicalName(
OUString const & aName) override;
+ virtual OUString SAL_CALL getDescriptionByHierarchicalName(
+ OUString const & aName) override;
+
+ virtual css::uno::Type SAL_CALL getTypeByHierarchicalName(
+ OUString const & aName) override;
+
+ virtual sal_Bool SAL_CALL getModifiedByHierarchicalName(
+ OUString const & aName) override;
+
virtual sal_Bool SAL_CALL hasByHierarchicalName(OUString const & aName) override;
virtual void SAL_CALL replaceByHierarchicalName(
@@ -302,7 +313,7 @@ protected:
virtual ~Access() override;
- virtual OUString getNameInternal() = 0;
+ virtual const OUString & getNameInternal() = 0;
virtual rtl::Reference< RootAccess > getRootAccess() = 0;
virtual rtl::Reference< Access > getParentAccess() = 0;
@@ -313,7 +324,7 @@ protected:
std::vector<OUString> * services) = 0;
virtual void initDisposeBroadcaster(Broadcaster * broadcaster);
- virtual void clearListeners() throw ();
+ virtual void clearListeners() noexcept;
virtual css::uno::Any SAL_CALL queryInterface(
css::uno::Type const & aType) override;
@@ -324,7 +335,8 @@ protected:
rtl::Reference< Node > getParentNode();
rtl::Reference< ChildAccess > getChild(OUString const & name);
- std::vector< rtl::Reference< ChildAccess > > getAllChildren();
+ void forAllChildren(const std::function<bool(ChildAccess&)> & f);
+ bool isAllChildrenEmpty();
void checkValue(
css::uno::Any const & value, Type type, bool nillable);
@@ -355,7 +367,7 @@ private:
ModifiedChild();
ModifiedChild(
- rtl::Reference< ChildAccess > const & theChild,
+ rtl::Reference< ChildAccess > theChild,
bool theDirectlyModified);
};
@@ -448,6 +460,4 @@ protected:
}
-#endif
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */