summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/configuration/backend/XMultiLayerStratum.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/configuration/backend/XMultiLayerStratum.idl')
-rw-r--r--offapi/com/sun/star/configuration/backend/XMultiLayerStratum.idl347
1 files changed, 347 insertions, 0 deletions
diff --git a/offapi/com/sun/star/configuration/backend/XMultiLayerStratum.idl b/offapi/com/sun/star/configuration/backend/XMultiLayerStratum.idl
new file mode 100644
index 000000000000..0f28433a24f6
--- /dev/null
+++ b/offapi/com/sun/star/configuration/backend/XMultiLayerStratum.idl
@@ -0,0 +1,347 @@
+/*************************************************************************
+ *
+ * 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_backend_XMultiLayerStratum_idl__
+#define __com_sun_star_configuration_backend_XMultiLayerStratum_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XLayer_idl__
+#include <com/sun/star/configuration/backend/XLayer.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_XUpdatableLayer_idl__
+#include <com/sun/star/configuration/backend/XUpdatableLayer.idl>
+#endif
+
+#ifndef __com_sun_star_configuration_backend_BackendAccessException_idl__
+#include <com/sun/star/configuration/backend/BackendAccessException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_NoSupportException_idl__
+#include <com/sun/star/lang/NoSupportException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module configuration { module backend {
+
+//=============================================================================
+
+/**
+ Handles access to a stratum consisting of multiple layers
+ in a single configuration data repository
+
+ <p> The interface provides access to data for multiple entities and
+ timestamp-checking capabilities for efficient caching.
+ </p>
+
+ @see com::sun::star::configuration::backend::XBackendEntities
+ @see com::sun::star::util::XTimeStamped
+ @see com::sun::star::configuration::backend::XSchemaSupplier
+ @see com::sun::star::configuration::backend::XSingleLayerStratum
+
+ @since OOo 1.1.2
+*/
+published interface XMultiLayerStratum : ::com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /**
+ identifies the layers within this stratum which should be read and
+ merged to determine data of a component for an entity
+
+
+ @param aComponent
+ The name of the component to access.
+
+ @param aEntity
+ The name of an entity on behalf of which data will be accessed.
+
+ @return
+ a list of layer identifiers that can be used to
+ retrieve <type>Layer</type> objects.
+ <p> The list ist ordered by priority. Typically
+ the most general layers (global defaults,
+ entire organization) are first, more specific layers
+ (associated to specific groups or roles) are next
+ and the entity's own data is last.
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the component identifier is invalid or
+ if the entity doesn't exist.
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+
+ @see com::sun::star::configuration::backend::XMultiLayerStratum::getLayer()
+ @see com::sun::star::configuration::backend::XMultiLayerStratum::getLayers()
+ @see com::sun::star::configuration::backend::XMultiLayerStratum::getMultipleLayers()
+ @see com::sun::star::configuration::backend::XBackendEntities
+ */
+ sequence<string> listLayerIds([in] string aComponent,
+ [in] string aEntity)
+ raises (BackendAccessException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+ //-------------------------------------------------------------------------
+
+ /**
+ identifies the layer which should be modified
+ to update data of a component on behalf of an entity.
+
+ <p> The layer id returned is one of the layer ids obtained from
+ <member>XMultiLayerStratum::listLayerIds()</member> for the same
+ component and entity.
+ </p>
+
+ @param aComponent
+ The name of the component to access.
+
+ @param aEntity
+ The name of an entity on behalf of which data will be accessed.
+
+ @returns
+ a layer identifier that can be used to obtain
+ an <type>UpdatableLayer</type> object.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the component identifier is invalid or
+ if the entity doesn't exist.
+
+ @throws com::sun::star::lang::NoSupportException
+ if the implementation does not support updates.
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+
+ @see com::sun::star::configuration::backend::XMultiLayerStratum::getUpdatableLayer()
+ @see com::sun::star::configuration::backend::XBackendEntities
+ */
+ string getUpdateLayerId([in] string aComponent,
+ [in] string aEntity)
+ raises (BackendAccessException,
+ com::sun::star::lang::NoSupportException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+ //-------------------------------------------------------------------------
+
+ /**
+ retrieves a layer associated to a layer id, if newer than indicated.
+
+ <p> A timestamp can be provided, which is used to indicate
+ a point in time. The layer should be returned only if is modified
+ since that time.
+ </p>
+
+ @param aLayerId
+ identifier of the layers to be accessed.
+ <p>Layer ids can be obtained from
+ <member>XMultiLayerStratum::listLayerIds()</member> or
+ <member>XMultiLayerStratum::getUpdateLayerId()</member>.
+ </p>
+
+ @param aTimestamp
+ a timestamp for the layer.
+
+ <p> An empty timestamp indicates, that the layer should be
+ retrieved irrespective of its modification time.
+ </p>
+ <p> The format and meaning of a timestamp depends on
+ the implementation. Timestamps can be obtained using
+ <member scope="com::sun::star::util">XTimeStamped::getTimestamp()</member>.
+ </p>
+
+ @returns
+ a <type>Layer</type> object providing access to the layer data,
+ <NULL/> if the layer is newer than indicated by the timestamp.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the layer id is invalid or
+ if the timestamp is invalid
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+
+ @see com::sun::star::util::XTimeStamped
+ */
+ XLayer getLayer([in] string aLayerId,
+ [in] string aTimestamp)
+ raises (BackendAccessException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+ //-------------------------------------------------------------------------
+
+ /**
+ retrieves the layers associated to a series of layer ids,
+ if newer than indicated.
+ <p> A timestamp can be provided, which is used to indicate
+ a point in time. Only layers that are modified since that time
+ should be returned. The same timestamp is used for all layers.
+ </p>
+
+ @param aLayerIds
+ identifiers of the layers to be accessed.
+ <p>Layer ids can be obtained from
+ <member>XMultiLayerStratum::listLayerIds()</member>.
+ </p>
+
+ @param aTimestamp
+ a timestamp for all of the layers.
+ <p> An empty timestamp indicates, that the layers should be
+ retrieved irrespective of their modification time.
+ </p>
+ <p> The format and meaning of a timestamp depends on
+ the implementation. Timestamps can be obtained using
+ <member scope="com::sun::star::util">XTimeStamped::getTimestamp()</member>.
+ </p>
+
+ @returns
+ a list of <type>Layer</type> objects
+ providing access to the layer data.
+ <p> The list has the same length as aLayerIds. Each layer
+ object is associated to the layer id in the corresponding
+ position.
+ </p>
+ <p> For layers that are newer than indicated by the
+ timestamp, the list contains a <NULL/> element.
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the layer ids is invalid or
+ if the timestamp is invalid
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+
+ @see com::sun::star::util::XTimeStamped
+ */
+ sequence<XLayer> getLayers([in] sequence<string> aLayerIds,
+ [in] string aTimestamp)
+ raises (BackendAccessException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+ //-------------------------------------------------------------------------
+
+ /**
+ retrieves the layers associated to a series of layer ids,
+ if newer than indicated for each layer.
+ <p> For each layer an individual timestamp can be provided,
+ which is used to indicate the last known version of the layer.
+ Only layers that are modified since that time should be returned.
+ </p>
+
+ @param aLayerIds
+ identifiers of the layers to be accessed.
+ <p>Layer ids can be obtained from
+ <member>XMultiLayerStratum::listLayerIds()</member>.
+ </p>
+
+ @param aTimestamps
+ timestamps for each of the layers.
+
+ <p> This list must have the same length as aLayerIds.
+ Timestamps are matched to layer ids by their position.
+ </p>
+ <p> An empty timestamp indicates, that the associated layer
+ should be retrieved irrespective of its modification time.
+ </p>
+ <p> The format and meaning of a timestamp depends on
+ the implementation. Timestamps can be obtained using
+ <member scope="com::sun::star::util">XTimeStamped::getTimestamp()</member>.
+ </p>
+
+ @returns
+ a list of <type>Layer</type> objects
+ providing access to the layer data.
+ <p> The list has the same length as aLayerIds. Each layer
+ object is associated to the layer id in the corresponding
+ position.
+ </p>
+ <p> For layers that are newer than indicated by the corresponding
+ timestamp, the list contains a <NULL/> element.
+ </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the layer ids is invalid or
+ if one of the timestamps is invalid or
+ if the lengths of the arguments don't match.
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+
+ @see com::sun::star::util::XTimeStamped
+ */
+ sequence<XLayer> getMultipleLayers([in] sequence<string> aLayerIds,
+ [in] sequence<string> aTimestamps)
+ raises (BackendAccessException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+ //-------------------------------------------------------------------------
+
+ /**
+ retrieves a writable representation of the layer
+ associated to a layer id.
+
+ @param aLayerId
+ identifier of the layer to be accessed for writing.
+ <p>A layer id for writing can be obtained from
+ <member>XMultiLayerStratum::getUpdateLayerId()</member>.
+ </p>
+
+ @return
+ an <type>UpdatableLayer</type> object providing
+ write access to the layer
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the layer id is invalid.
+
+ @throws com::sun::star::lang::NoSupportException
+ if the implementation does not support updates.
+
+ @throws com::sun::star::configuration::backend::BackendAccessException
+ if an error occurs while accessing the data.
+ */
+ XUpdatableLayer getUpdatableLayer([in] string aLayerId)
+ raises (BackendAccessException,
+ com::sun::star::lang::NoSupportException,
+ com::sun::star::lang::IllegalArgumentException) ;
+
+ //-------------------------------------------------------------------------
+} ;
+
+//=============================================================================
+
+} ; } ; } ; } ; } ;
+
+#endif