diff options
Diffstat (limited to 'configmgr/source/access.hxx')
-rw-r--r-- | configmgr/source/access.hxx | 28 |
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: */ |