303 lines
12 KiB
Text
303 lines
12 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 .
|
|
*/
|
|
|
|
|
|
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 Layer objects.
|
|
<p> The list is 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
|
|
XMultiLayerStratum::listLayerIds() 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 UpdatableLayer 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
|
|
XMultiLayerStratum::listLayerIds() or
|
|
XMultiLayerStratum::getUpdateLayerId().
|
|
</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
|
|
com::sun::star::util::XTimeStamped::getTimestamp().
|
|
</p>
|
|
|
|
@returns
|
|
a Layer 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
|
|
XMultiLayerStratum::listLayerIds().
|
|
</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
|
|
com::sun::star::util::XTimeStamped::getTimestamp().
|
|
</p>
|
|
|
|
@returns
|
|
a list of Layer 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
|
|
XMultiLayerStratum::listLayerIds().
|
|
</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
|
|
com::sun::star::util::XTimeStamped::getTimestamp().
|
|
</p>
|
|
|
|
@returns
|
|
a list of Layer 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
|
|
XMultiLayerStratum::getUpdateLayerId().
|
|
</p>
|
|
|
|
@return
|
|
an UpdatableLayer 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) ;
|
|
|
|
} ;
|
|
|
|
|
|
} ; } ; } ; } ; } ;
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|