c7c2488f0a
(cherry picked from commit 902cd9fe198a4e24843b0e4432cbc2dd3c587056) Change-Id: I7cac635d9e7b6eae93466ced0349edc01caab0c2
96 lines
3.6 KiB
Text
96 lines
3.6 KiB
Text
/* -*- 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_UpdateRootElement_idl__
|
|
#define __com_sun_star_configuration_UpdateRootElement_idl__
|
|
|
|
#include <com/sun/star/configuration/AccessRootElement.idl>
|
|
#include <com/sun/star/util/XChangesBatch.idl>
|
|
|
|
|
|
module com { module sun { module star { module configuration {
|
|
|
|
/** provides update control for a hierarchy of configuration items
|
|
and information about the hierarchy as a whole as well as its root.
|
|
|
|
<p>Extends AccessRootElement by adding support for
|
|
collecting changes and applying them to a backend store as a single batch.
|
|
</p>
|
|
|
|
<p>An implementation represents the root of a partial hierarchy. [See the
|
|
documentation for AccessRootElement]. The hierarchy in turn is
|
|
a <em>view</em> onto a fragment of persistent data tree that can be accessed
|
|
through several such views, or even several processes, simultaneously.
|
|
</p>
|
|
|
|
<p>Elements of the hierarchy, such as descendants of this root element,
|
|
may support modification by providing appropriate
|
|
interfaces. Changes done this way initially only affect these objects
|
|
themselves and other objects within the same hierarchy, such as other
|
|
descendants of this root element.
|
|
</p>
|
|
|
|
<p>The accumulated changes within this hierarchy can be managed using
|
|
com::sun::star::util::XChangesBatch. Pending changes
|
|
will become persistent and visible from other overlapping hierarchies
|
|
only when com::sun::star::util::XChangesBatch::commitChanges()
|
|
is called. If the hierarchy is disposed or discarded without committing
|
|
changes, the changes will be lost.
|
|
</p>
|
|
|
|
@see com::sun::star::configuration::GroupUpdate
|
|
@see com::sun::star::configuration::SetUpdate
|
|
*/
|
|
published service UpdateRootElement
|
|
{
|
|
/** provides (read-only) access to information about the root element of
|
|
(a fragment of) the hierarchy. It also provides some functionality concerning
|
|
the hierarchy (fragment) accessible from that element as a whole.
|
|
*/
|
|
service AccessRootElement;
|
|
|
|
/** allows managing changes within the hierarchy.
|
|
|
|
<p>com::sun::star::util::XChangesBatch::getPendingChanges()
|
|
reports all changes within the hierarchy that are done through (direct or
|
|
indirect) descendants of this element. The same set of changes is committed
|
|
to persistent storage and/or made visible to other objects accessing the same
|
|
data set, when
|
|
com::sun::star::util::XChangesBatch::commitChanges()
|
|
is invoked.
|
|
</p>
|
|
|
|
<p>If the implementation supports
|
|
com::sun::star::lang::XLocalizable::setLocale(), changes
|
|
will be considered to apply to the locale that is set when
|
|
com::sun::star::util::XChangesBatch::commitChanges()
|
|
is invoked.
|
|
</p>
|
|
|
|
@see AccessRootElement
|
|
@see com::sun::star::util::XChangesNotifier
|
|
*/
|
|
interface com::sun::star::util::XChangesBatch;
|
|
};
|
|
|
|
|
|
}; }; }; };
|
|
|
|
#endif
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|