From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- .../configuration/ConfigurationUpdateAccess.idl | 123 +++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 offapi/com/sun/star/configuration/ConfigurationUpdateAccess.idl (limited to 'offapi/com/sun/star/configuration/ConfigurationUpdateAccess.idl') diff --git a/offapi/com/sun/star/configuration/ConfigurationUpdateAccess.idl b/offapi/com/sun/star/configuration/ConfigurationUpdateAccess.idl new file mode 100644 index 000000000..7d151349d --- /dev/null +++ b/offapi/com/sun/star/configuration/ConfigurationUpdateAccess.idl @@ -0,0 +1,123 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_configuration_ConfigurationUpdateAccess_idl__ +#define __com_sun_star_configuration_ConfigurationUpdateAccess_idl__ + +#include +#include +#include +#include + + +module com { module sun { module star { module configuration { + +/** provides modifying access to a fragment of the configuration hierarchy. + +

Extends ConfigurationAccess to support modifying values + or inserting and removing elements. +

+ +

Descendants of this service also implement this service + unless they are marked read-only (which is indicated by attribute + com::sun::star::beans::PropertyAttribute::READONLY), + in which case they only need implement ConfigurationAccess. +

+ +

The classification of implementations that is described for + ConfigurationAccess applies to implementations of this service + as well. Therefore an implementation will support one of several alternate + services describing its Container role and one of several alternate + services describing its Element role. These services are + extensions of the respective services documented for ConfigurationAccess. +

+
    +
  • Container role: + A group permits changing child values. + A set permits inserting and removing contained elements. +
  • +
  • Element role: + The root element of a modifiable tree provides extended functionality + to control processing of changes for the entire tree (fragment) by + supporting com::sun::star::util::XChangesBatch. + For elements of a set or a group no additional + interfaces are supported. +
  • +
+ + @see ConfigurationProvider + Root instances of this service can be requested from a + ConfigurationProvider +*/ +published service ConfigurationUpdateAccess +{ + /** is the basic service providing read access to an element of the + configuration hierarchy and its child and descendent elements. + +

The HierarchyAccess specialization implemented will be + further specialized to support modifying access. + Implementations shall therefore implement one of SetUpdate or + GroupUpdate depending on the Container role. +

+ +

If the HierarchyElement specialization that is implemented + is AccessRootElement, the implementation must support the + extended functionality of UpdateRootElement. Otherwise, there + are no new requirements mandated by the Element role. +

+ + */ + service ConfigurationAccess; + + /** specializes SetAccess to support modifying the element. + +

Implemented, if this element is a Set. + Otherwise service GroupUpdate is provided. +

+ */ + [optional] service SetUpdate; + + /** specializes GroupAccess to support modifying contained + data. + +

Implemented, if this element is a Group. + Otherwise service SetUpdate is provided. +

+ */ + [optional] service GroupUpdate; + + /** specializes AccessRootElement to support transaction-like + control over a batch of changes accumulated within the tree fragment. + +

Implemented, if this element is the Root of the whole hierarchy. + Otherwise either SetElement or GroupElement is provided. +

+ + @see ConfigurationProvider + Instances obtained from a ConfigurationProvider will + implement this version of HierarchyElement. + */ + [optional] service UpdateRootElement; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit v1.2.3