summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/configuration/UpdateRootElement.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/configuration/UpdateRootElement.idl')
-rw-r--r--offapi/com/sun/star/configuration/UpdateRootElement.idl110
1 files changed, 110 insertions, 0 deletions
diff --git a/offapi/com/sun/star/configuration/UpdateRootElement.idl b/offapi/com/sun/star/configuration/UpdateRootElement.idl
new file mode 100644
index 000000000000..16ffa9450a08
--- /dev/null
+++ b/offapi/com/sun/star/configuration/UpdateRootElement.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_configuration_UpdateRootElement_idl__
+#define __com_sun_star_configuration_UpdateRootElement_idl__
+
+#ifndef __com_sun_star_configuration_AccessRootElement_idl__
+#include <com/sun/star/configuration/AccessRootElement.idl>
+#endif
+
+#ifndef __com_sun_star_util_XChangesBatch_idl__
+#include <com/sun/star/util/XChangesBatch.idl>
+#endif
+
+//=============================================================================
+
+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 <type>AccessRootElement</type> 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 <type>AccessRootElement</type>]. 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
+ <type scope="com::sun::star::util">XChangesBatch</type>. Pending changes
+ will become persistent and visible from other overlapping hierarchies
+ only when <member scope="com::sun::star::util">XChangesBatch::commitChanges()</member>
+ 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><member scope="com::sun::star::util">XChangesBatch::getPendingChanges()</member>
+ 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
+ <member scope="com::sun::star::util">XChangesBatch::commitChanges()</member>
+ is invoked.
+ </p>
+
+ <p>If the implementation supports
+ <member scope="com::sun::star::lang">XLocalizable::setLocale()</member>, changes
+ will be considered to apply to the locale that is set when
+ <member scope="com::sun::star::util">XChangesBatch::commitChanges()</member>
+ is invoked.
+ </p>
+
+ @ see AccessRootElement
+ @ see com::sun::star::util::XChangesNotifier
+*/
+ interface com::sun::star::util::XChangesBatch;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif