diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/configuration/backend | |
parent | Initial commit. (diff) | |
download | libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/configuration/backend')
68 files changed, 6483 insertions, 0 deletions
diff --git a/offapi/com/sun/star/configuration/backend/AuthenticationFailedException.idl b/offapi/com/sun/star/configuration/backend/AuthenticationFailedException.idl new file mode 100644 index 000000000..c004544e4 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/AuthenticationFailedException.idl @@ -0,0 +1,42 @@ +/* -*- 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_backend_AuthenticationFailedException_idl__ +#define __com_sun_star_configuration_backend_AuthenticationFailedException_idl__ + +#include <com/sun/star/configuration/backend/BackendSetupException.idl> + +module com { module sun { module star { module configuration { +module backend { + +/** + Exception thrown when authentication to the underlying backend fails + due to an unknown user-id or invalid credentials. + + @since OOo 1.1.2 + */ +published exception AuthenticationFailedException : BackendSetupException { +} ; + +} ; +} ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/Backend.idl b/offapi/com/sun/star/configuration/backend/Backend.idl new file mode 100644 index 000000000..801f485d7 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/Backend.idl @@ -0,0 +1,79 @@ +/* -*- 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_backend_Backend_idl__ +#define __com_sun_star_configuration_backend_Backend_idl__ + +#include <com/sun/star/configuration/backend/XBackend.idl> +#include <com/sun/star/configuration/backend/XBackendEntities.idl> +#include <com/sun/star/configuration/backend/XSchemaSupplier.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + provides access to a configuration database composed of one or more + storage backends containing settings used by software modules. + + <p> Configuration data is organized into layers which are selected + by components and entities. + </p> + + <p> Components are characterized by configuration schemas. + A component contains configuration data for a particular + application domain or software module. + </p> + <p> Entities are organized hierarchically in organizations, + groups, roles and individual users. Each element of the associated + hierarchy corresponds to a layer that applies to an entity. + </p> + <p> A layer contains data for multiple components + associated to a single entity. + <p> + + @since OOo 1.1.2 +*/ +published service Backend +{ + + /** + provides access to configuration schemas. + */ + interface XSchemaSupplier ; + + + /** + provides access to the layer data. + */ + interface XBackend ; + + + /** + provides information about supported and special entities. + */ + [optional] interface XBackendEntities ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/BackendAccessException.idl b/offapi/com/sun/star/configuration/backend/BackendAccessException.idl new file mode 100644 index 000000000..4a423c417 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/BackendAccessException.idl @@ -0,0 +1,43 @@ +/* -*- 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_backend_BackendAccessException_idl__ +#define __com_sun_star_configuration_backend_BackendAccessException_idl__ + +#include <com/sun/star/lang/WrappedTargetException.idl> + +module com { module sun { module star { module configuration { +module backend { + +/** + Generic exception thrown when physical access to an underlying + backend fails. + <p>Wraps an exception that originates in the underlying access layer.</p> + + @since OOo 1.1.2 + */ +published exception BackendAccessException : ::com::sun::star::lang::WrappedTargetException { +} ; + +} ; +} ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/BackendAdapter.idl b/offapi/com/sun/star/configuration/backend/BackendAdapter.idl new file mode 100644 index 000000000..84e42e4f6 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/BackendAdapter.idl @@ -0,0 +1,73 @@ +/* -*- 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_backend_BackendAdapter_idl__ +#define __com_sun_star_configuration_backend_BackendAdapter_idl__ + +#include <com/sun/star/configuration/backend/Backend.idl> +#include <com/sun/star/configuration/backend/XBackendEntities.idl> +#include <com/sun/star/lang/XInitialization.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + implements Backend retrieving data + from a SingleBackend. + + @since OOo 1.1.2 +*/ +published service BackendAdapter +{ + + /** provides access to configuration data. + */ + service Backend ; + + + /** + This interface, that is optional in Backend, is + mandatory in this service. + */ + interface XBackendEntities ; + + + /** + allows initializing the backend to use. + + <p>If this interface is present, a SingleBackend + may be passed, that is used to access the data. + Also a com::sun::star::configuration::bootstrap::BootstrapContext + can be passed, that provides further settings for the backend. + </p> + + <p>If this interface is missing, the real backend to use is determined + from the com::sun::star::uno::XComponentContext. + </p> + */ + [optional] interface com::sun::star::lang::XInitialization ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/BackendSetupException.idl b/offapi/com/sun/star/configuration/backend/BackendSetupException.idl new file mode 100644 index 000000000..50ff74706 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/BackendSetupException.idl @@ -0,0 +1,51 @@ +/* -*- 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_backend_BackendSetupException_idl__ +#define __com_sun_star_configuration_backend_BackendSetupException_idl__ + +#include <com/sun/star/configuration/CannotLoadConfigurationException.idl> + +module com { module sun { module star { module configuration { +module backend { + +/** + Generic exception thrown when setting up a connection to an underlying + backend fails. + <p>Indicates an error that originates in the underlying access layer.</p> + + @since OOo 1.1.2 + */ +published exception BackendSetupException : ::com::sun::star::configuration::CannotLoadConfigurationException { + + /** The exception that is raised by the underlying backend implementation. + <p>May be a numeric error code, a message `string` or `VOID`, + if the original exception is not represented as a + com::sun::star::uno::Exception. + </p> + */ + any BackendException; +} ; + +} ; +} ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/CannotConnectException.idl b/offapi/com/sun/star/configuration/backend/CannotConnectException.idl new file mode 100644 index 000000000..5a12318b2 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/CannotConnectException.idl @@ -0,0 +1,51 @@ +/* -*- 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_backend_CannotConnectException_idl__ +#define __com_sun_star_configuration_backend_CannotConnectException_idl__ + +#include <com/sun/star/configuration/backend/BackendSetupException.idl> + +module com { module sun { module star { module configuration { +module backend { + +/** + Exception thrown when a connection to the underlying backend + cannot be established. + + <p> Examples of this include + <ul> + <li>Misconfigured backend.</li> + <li>Communications link failure.</li> + <li>Backend is unavailable temporarily or permanently.</li> + <li>Internal failure of the backend access layer.</li> + </ul> + </p> + + @since OOo 1.1.2 + */ +published exception CannotConnectException : BackendSetupException { +} ; + +} ; +} ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/ComponentChangeEvent.idl b/offapi/com/sun/star/configuration/backend/ComponentChangeEvent.idl new file mode 100644 index 000000000..52578dba3 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/ComponentChangeEvent.idl @@ -0,0 +1,46 @@ +/* -*- 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_backend_ComponentChangeEvent_idl__ +#define __com_sun_star_configuration_backend_ComponentChangeEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + +module com { module sun { module star { module configuration { module backend { + + +/** This event is fired when a change becomes effective on the source of the event + + @see XBackendChangesNotifier + + */ +struct ComponentChangeEvent: ::com::sun::star::lang::EventObject +{ + /** The name of the Component that changed + */ + string Component; + +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/ConnectionLostException.idl b/offapi/com/sun/star/configuration/backend/ConnectionLostException.idl new file mode 100644 index 000000000..18849c1ee --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/ConnectionLostException.idl @@ -0,0 +1,46 @@ +/* -*- 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_backend_ConnectionLostException_idl__ +#define __com_sun_star_configuration_backend_ConnectionLostException_idl__ + +#include <com/sun/star/configuration/backend/BackendAccessException.idl> + +module com { module sun { module star { module configuration { +module backend { + +/** + Exception thrown when the connection to the underlying backend was lost + irrecoverably. + + <p> Any future attempts to access data from the backend through this object + will also fail. + </p> + + @since OOo 1.1.2 + */ +published exception ConnectionLostException : BackendAccessException { +} ; + +} ; +} ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/CopyImporter.idl b/offapi/com/sun/star/configuration/backend/CopyImporter.idl new file mode 100644 index 000000000..68bfae8e7 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/CopyImporter.idl @@ -0,0 +1,72 @@ +/* -*- 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_backend_CopyImporter_idl__ +#define __com_sun_star_configuration_backend_CopyImporter_idl__ + +#include <com/sun/star/configuration/backend/Importer.idl> +#include <com/sun/star/lang/XInitialization.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + imports data into a configuration layer by copying over existing data. + + + @since OOo 1.1.2 +*/ +published service CopyImporter +{ + + /** allows importing configuration data into a backend. + + <p> In this implementation, the changes are copied over any + XLayer data that already exists in the Backend, + replacing it completely. + </p> + */ + service Importer ; + + + /** allows initializing the implementation with settings that control + its behavior . + + <p> This interface, which is optional in Importer + is mandatory in this service and supports the following arguments + which must be provided as + com::sun::star::beans::NamedValue: + <dl> + <dt><code>Overwrite</code> : `boolean`</dt> + <dd>If `FALSE`, specifies that the data should be applied + only if the existing layer is empty. + </dd> + </dl> + </p> + */ + interface com::sun::star::lang::XInitialization ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/DataImporter.idl b/offapi/com/sun/star/configuration/backend/DataImporter.idl new file mode 100644 index 000000000..3a1b0aaf3 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/DataImporter.idl @@ -0,0 +1,114 @@ +/* -*- 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_backend_DataImporter_idl__ +#define __com_sun_star_configuration_backend_DataImporter_idl__ + +#include <com/sun/star/task/XJob.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + allows importing data from one configuration repository into another. + + @since OOo 1.1.2 +*/ +published service DataImporter +{ + + /** allows running an import job + + <p> The source and destination repositories are selected by arguments + passed to + com::sun::star::task::XJob::execute(). + The names and meanings of such arguments depend on + the implementation. Each implementation must document such arguments. + </p> + + <p> Implementations may return a value from + com::sun::star::task::XJob::execute() + that indicates the status of job execution. The type and meaning of + such status indicators depend on the implementation. + </p> + <p>If `VOID` or `TRUE` is returned, this indicates successful + execution. If an + com::sun::star::uno::Exception is returned, + it represents an error condition encountered during execution. + </p> + + <p> The following arguments to + com::sun::star::task::XJob::execute() + should be supported by implementations. Implementations must document + a failure to support any of these arguments: + <dl> + <dt><code>ImporterService</code> : `string`</dt> + <dd>A service or implementation name used to instantiate the + Importer to use for importing. If this parameter + is missing, the implementation selects an appropriate importer. + By default, a MergeImporter should be used. + </dd> + <dt><code>OverwriteExisting</code> : `boolean`</dt> + <dd>If `TRUE`, specifies that no existing data should be + overwritten by the import. If the Importer used + does not support such protection, an error may be raised. + If some data is not imported, because there is existing + data, this is indicated by returning an appropriate exception. + </dd> + <dt><code>TruncateExisting</code> : `boolean`</dt> + <dd>If `TRUE`, specifies that existing data should be + discarded and replaced by the imported data. + If the Importer used does not support this + operation, an error may be raised. + By default, a CopyImporter is used to perform + truncating import. + </dd> + <dt><code>Entity</code> : `string`</dt> + <dd>An identifier for the entity in the destination backend for + which the imported data should apply. The value will be passed + to XLayerImporter::importLayerForEntity(). + If this parameter is missing, the implementation uses + XLayerImporter::importLayer() instead. + </dd> + <dt><code>Component</code> : `string`</dt> + <dd>Names the component for which to import data. If this + parameter is missing, the selection of data to import depends + on implementation-specific parameters. + </dd> + <dt><code>LayerFilter</code> : LayerFilter</dt> + <dd>A filter to transform data during import. This parameter is + optional. If this parameter is missing, data will be imported + unaltered. <em>Support for this parameter is optional.</em> + If the implementation does not support a filter it will raise an + com::sun::star::lang::IllegalArgumentException. + </dd> + </dl> + </p> + + */ + interface com::sun::star::task::XJob ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/DefaultBackend.idl b/offapi/com/sun/star/configuration/backend/DefaultBackend.idl new file mode 100644 index 000000000..7135d6324 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/DefaultBackend.idl @@ -0,0 +1,51 @@ +/* -*- 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_backend_DefaultBackend_idl__ +#define __com_sun_star_configuration_backend_DefaultBackend_idl__ + +#include <com/sun/star/configuration/backend/Backend.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + is a DefaultBackend, that is + the default DefaultBackend for its + com::sun::star::uno::XComponentContext. + + <p>This object is accessible as singleton within the context</p>. + + @since OOo 1.1.2 +*/ +service DefaultBackend +{ + + /** characterizes the functionality. + */ + service Backend ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/HierarchyBrowser.idl b/offapi/com/sun/star/configuration/backend/HierarchyBrowser.idl new file mode 100644 index 000000000..2bd96640d --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/HierarchyBrowser.idl @@ -0,0 +1,72 @@ +/* -*- 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_backend_HierarchyBrowser_idl__ +#define __com_sun_star_configuration_backend_HierarchyBrowser_idl__ + +#include <com/sun/star/task/XJob.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + allows scanning a configuration data repository for available components . + + @since OOo 1.1.2 +*/ +published service HierarchyBrowser +{ + + /** allows executing a scan of the repository + + <p> The repository to browse is selected by arguments passed to + com::sun::star::task::XJob::execute(). + The names and meanings of such arguments depend on + the implementation. Each implementation must document such arguments. + </p> + + <p> The following argument to + com::sun::star::task::XJob::execute() + must be supported by all implementations: + <dl> + <dt><code>ExcludeComponents</code> : `string[]` or `string`</dt> + <dd>A component or list of components that should be skipped + and excluded from the result. If this argument appears multiple + times it is handled cumulatively. + </dd> + </dl> + </p> + <p> The return value of + com::sun::star::task::XJob::execute() + is a list of components found. The format in which components are + returned may depend on the implementation. Each implementation + should support returning component identifiers that are compatible + with some implementation of Backend. + </p> + */ + interface com::sun::star::task::XJob ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/Importer.idl b/offapi/com/sun/star/configuration/backend/Importer.idl new file mode 100644 index 000000000..8ea23576b --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/Importer.idl @@ -0,0 +1,70 @@ +/* -*- 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_backend_Importer_idl__ +#define __com_sun_star_configuration_backend_Importer_idl__ + +#include <com/sun/star/lang/XInitialization.idl> +#include <com/sun/star/configuration/backend/XLayerImporter.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + imports data into a configuration layer. + + <p> The configuration changes are read from a XLayer + and stored into a Backend. + </p> + + @since OOo 1.1.2 +*/ +published service Importer +{ + + /** allows importing configuration data into a backend. + */ + interface XLayerImporter ; + + + /** allows initializing the implementation with settings that control + its behavior . + + <p> Arguments are provided as + com::sun::star::beans::NamedValue. + Implementations specify which arguments they support. + + <dl> + <dt><code>Notify</code> : `boolean`</dt> + <dd>If `TRUE`, specifies that the backend should trigger + notification to its listeners. + </dd> + </dl> + </p> + */ + [optional] interface com::sun::star::lang::XInitialization ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/InsufficientAccessRightsException.idl b/offapi/com/sun/star/configuration/backend/InsufficientAccessRightsException.idl new file mode 100644 index 000000000..ac056efc4 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/InsufficientAccessRightsException.idl @@ -0,0 +1,52 @@ +/* -*- 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_backend_InsufficientAccessRightsException_idl__ +#define __com_sun_star_configuration_backend_InsufficientAccessRightsException_idl__ + +#include <com/sun/star/configuration/backend/BackendAccessException.idl> + +module com { module sun { module star { module configuration { +module backend { + +/** + Exception thrown when access to the underlying backend fails because of + insufficient access rights to some needed resource. + + <p> Examples of this include + <ul> + <li>Misconfigured anonymous access.</li> + <li>Missing rights to get internal configuration data.</li> + <li>Missing access to shared or default data.</li> + <li>Missing access to personal data.</li> + <li>Missing write access when updating data.</li> + </ul> + </p> + + @since OOo 1.1.2 + */ +published exception InsufficientAccessRightsException : BackendAccessException { +} ; + +} ; +} ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/InteractionHandler.idl b/offapi/com/sun/star/configuration/backend/InteractionHandler.idl new file mode 100644 index 000000000..f7e9d16cb --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/InteractionHandler.idl @@ -0,0 +1,93 @@ +/* -*- 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_backend_InteractionHandler_idl__ +#define __com_sun_star_configuration_backend_InteractionHandler_idl__ + +module com { module sun { module star { + module lang { published interface XInitialization; }; + module task { published interface XInteractionHandler; }; +}; }; }; + +module com { module sun { module star { module configuration { module backend { + +/** An interaction request handler that lets the user handle a number of well + known requests via GUI dialogs. + + <P>The well known requests handled by this service include + <UL> + <LI>MergeRecoveryRequest*</LI> + </UL> + The requests marked with an asterisk are only handled if (a) their + continuations match certain restrictions (see below), and (b) the + necessary resource strings are available (this can be exploited by + applications that carry only a subset of all resource files with + them).</P> + + <P>The continuation restrictions are as follows: Let <VAR>C</VAR> be the + subset of the provided continuations that are of type + com::sun::star::task::XInteractionApprove, + com::sun::star::task::XInteractionDisapprove, + com::sun::star::task::XInteractionRetry, or + com::sun::star::task::XInteractionAbort (or of a + derived type). All other continuations are ignored for these requests. + The request is only handled if the set <VAR>C</VAR> is any of the + following: + <UL> + <LI>Abort</LI> + <LI>Retry, Abort</LI> + <LI>Approve</LI> + <LI>Approve, Abort</LI> + <LI>Approve, Disapprove</LI> + <LI>Approve, Disapprove, Abort</LI> + </UL></P> + + @since OOo 2.0 + + @see com::sun::star::task::InteractionHandler + */ +published service InteractionHandler +{ + /** Handle an interaction request. + */ + interface com::sun::star::task::XInteractionHandler; + + /** Initialize the interaction handler. + + <P>The arguments must be a sequence of + com::sun::star::beans::PropertyValues. The + currently supported properties are: + <UL> + <LI><code>"Parent"</code> of type + com::sun::star::awt::XWindow denotes the + parent window for any GUI dialogs the interaction handler pops up; + it is strongly recommended that this property is supplied;</LI> + <LI><code>"Context"</code> of type `string` is a + textual description of the current context (used, e.g., as a first + line of text in error boxes); this property is optional.</LI> + </UL></P> + */ + interface com::sun::star::lang::XInitialization; +}; + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/InvalidAuthenticationMechanismException.idl b/offapi/com/sun/star/configuration/backend/InvalidAuthenticationMechanismException.idl new file mode 100644 index 000000000..475d0ccf3 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/InvalidAuthenticationMechanismException.idl @@ -0,0 +1,43 @@ +/* -*- 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_backend_InvalidAuthenticationMechanismException_idl__ +#define __com_sun_star_configuration_backend_InvalidAuthenticationMechanismException_idl__ + +#include <com/sun/star/configuration/backend/BackendSetupException.idl> + +module com { module sun { module star { module configuration { +module backend { + +/** + Exception thrown when authentication to the underlying backend fails + because the configured authentication mechanism is not supported by the + backend or no valid mechanism can be negotiated. + + @since OOo 1.1.2 + */ +published exception InvalidAuthenticationMechanismException : BackendSetupException { +} ; + +} ; +} ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/Layer.idl b/offapi/com/sun/star/configuration/backend/Layer.idl new file mode 100644 index 000000000..8520bbbfa --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/Layer.idl @@ -0,0 +1,94 @@ +/* -*- 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_backend_Layer_idl__ +#define __com_sun_star_configuration_backend_Layer_idl__ + +#include <com/sun/star/configuration/backend/XLayer.idl> +#include <com/sun/star/configuration/backend/XCompositeLayer.idl> +#include <com/sun/star/util/XTimeStamped.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + provides read-only access to a configuration data layer. + + <p> A layer contains the configuration setting changes to be performed + on a default settings tree to obtain the values of those settings + for a given entity and component. + </p> + + @see com::sun::star::configuration::backend::Schema + Service providing access to schema data for a configuration component. + + @see com::sun::star::configuration::backend::UpdatableLayer + Service providing write access to a configuration data layer. + + @since OOo 1.1.2 + */ +published service Layer +{ + + /** + provides read access to the contents of the configuration layer. + */ + interface XLayer ; + + + /** + provides read access to sublayers accessible through an + additional criterion (for instance the locale they contain data for). + */ + [optional] interface XCompositeLayer ; + + + /** + provides a way to detect changes to the layer. + + <p> Timestamps should be considered as opaque markers and + can only safely be compared for equality and + only to timestamps generated by the same implementation. + When the content of the Layer changes, + the timestamp is guaranteed to change to a different value. + </p> + <p> The timestamp format depends on the implementation. + If the timestamp is a representation of the time of the last change, + the recommended format is "YYYYMMDDhhmmssZ". + </p> + */ + [optional] interface com::sun::star::util::XTimeStamped ; + + + /** + The URL of the layer data. + + @since OOo 2.0 + */ + [property,optional,readonly] string URL ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/LayerDescriber.idl b/offapi/com/sun/star/configuration/backend/LayerDescriber.idl new file mode 100644 index 000000000..da89b4254 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/LayerDescriber.idl @@ -0,0 +1,52 @@ +/* -*- 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_backend_LayerDescriber_idl__ +#define __com_sun_star_configuration_backend_LayerDescriber_idl__ + +#include <com/sun/star/configuration/backend/XLayerContentDescriber.idl> +#include <com/sun/star/uno/XInterface.idl> + + + + +module com { module sun { module star { module configuration { module backend { + + +/** + describe the contents of a layer to an XLayerHandler object. The contents of + the layer is contained in the sequence of PropertyInfo structures + @see PropertyInfo + +*/ +service LayerDescriber +{ + + + /** + describes a set of configuration data to an XLayerHandler Object. + */ + interface com::sun::star::configuration::backend::XLayerContentDescriber ; + + +} ; +} ; } ; } ; } ; } ; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/LayerFilter.idl b/offapi/com/sun/star/configuration/backend/LayerFilter.idl new file mode 100644 index 000000000..1e68cdb93 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/LayerFilter.idl @@ -0,0 +1,76 @@ +/* -*- 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_backend_LayerFilter_idl__ +#define __com_sun_star_configuration_backend_LayerFilter_idl__ + +#include <com/sun/star/configuration/backend/XLayer.idl> +#include <com/sun/star/lang/XInitialization.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + provides a filtered version of a configuration data Layer. + + <p> A layer filter wraps a source XLayer object and + provides access to a filtered version of its data. + The data read from the filter usually is produced from the source data + by adding and removing elements or modifying values. + </p> + + @see com::sun::star::configuration::backend::DataImporter + Service that supports applying a LayerFilter to imported data. + + @since OOo 2.0 + */ +published service LayerFilter +{ + + /** + provides read access to the filtered contents. + + <p> Method XLayer::readData() will render a filtered version + of the data produced by the same method of the source object. + </p> + */ + interface XLayer ; + + + /** + provides a means to set the source data for the filter. + + <p> Call com::sun::star::lang::XInitialization::initialize()() + with a single argument of type com::sun::star::beans::NamedValue, + where com::sun::star::beans::NamedValue::Name is <code>"Source"</code> + and com::sun::star::beans::NamedValue::Value + is an object implementing XLayer. + </p> + */ + interface com::sun::star::lang::XInitialization ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/LayerUpdateMerger.idl b/offapi/com/sun/star/configuration/backend/LayerUpdateMerger.idl new file mode 100644 index 000000000..6ddbf686d --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/LayerUpdateMerger.idl @@ -0,0 +1,84 @@ +/* -*- 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_backend_LayerUpdateMerger_idl__ +#define __com_sun_star_configuration_backend_LayerUpdateMerger_idl__ + +#include <com/sun/star/lang/XInitialization.idl> +#include <com/sun/star/configuration/backend/XUpdateHandler.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + applies updates to a configuration layer. + + <p> The configuration layer data is read from a XLayer + and the changed layer is provided as XLayer again or + described to a XLayerHandler. + </p> + + @see com::sun::star::configuration::backend::UpdatableLayer + Service describes a layer and accepts a changed layer... + + @since OOo 1.1.2 +*/ +published service LayerUpdateMerger +{ + + /** accepts events describing the changes. + */ + interface com::sun::star::configuration::backend::XUpdateHandler ; + + + /** allows initializing layer data source and target. + + <p> Both source and target of the update can be provided by passing a + XUpdatableLayer object. Alternatively they can be + provided individually by providing a XLayer object as + data source and an XLayerHandler object to receive the + updated data. + </p> + <p> Implementations can provide more arguments to fine tune the behavior. + Such arguments are provided as + com::sun::star::beans::NamedValue. + Implementations should support the following named arguments: + <dl> + <dt><code>Overwrite</code> : `boolean`</dt> + <dd>If `FALSE`, specifies that changes should be applied + only if the existing layer is empty. + </dd> + <dt><code>Truncate</code> : `boolean`</dt> + <dd>If `TRUE` requests that changes should not be merged onto + existing data, but that the changes should be applied + to a layer that is completely empty. + </dd> + </dl> + </p> + */ + interface com::sun::star::lang::XInitialization ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/LdapMultiLayerStratum.idl b/offapi/com/sun/star/configuration/backend/LdapMultiLayerStratum.idl new file mode 100644 index 000000000..074034cad --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/LdapMultiLayerStratum.idl @@ -0,0 +1,47 @@ +/* -*- 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_backend_LdapMultiLayerStratum_idl__ +#define __com_sun_star_configuration_backend_LdapMultiLayerStratum_idl__ + +#include <com/sun/star/configuration/backend/MultiLayerStratum.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + implements MultiLayerStratum that + provides access to a multiple layers of configuration data from LDAP source +*/ +service LdapMultiLayerStratum +{ + + /** + provides access to multiple layers of configuration data. + */ + service MultiLayerStratum; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/LdapSingleBackend.idl b/offapi/com/sun/star/configuration/backend/LdapSingleBackend.idl new file mode 100644 index 000000000..c39e06333 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/LdapSingleBackend.idl @@ -0,0 +1,48 @@ +/* -*- 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_backend_LdapSingleBackend_idl__ +#define __com_sun_star_configuration_backend_LdapSingleBackend_idl__ + +#include <com/sun/star/configuration/backend/SingleBackend.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + implements SingleBackend that stores data in an + LDAP directory. + + @since OOo 1.1.2 +*/ +published service LdapSingleBackend +{ + + /** provides access to configuration data. + */ + service SingleBackend ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/LdapSingleStratum.idl b/offapi/com/sun/star/configuration/backend/LdapSingleStratum.idl new file mode 100644 index 000000000..db95e6676 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/LdapSingleStratum.idl @@ -0,0 +1,47 @@ +/* -*- 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_backend_LdapSingleStratum_idl__ +#define __com_sun_star_configuration_backend_LdapSingleStratum_idl__ + +#include <com/sun/star/configuration/backend/SingleLayerStratum.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + implements SingleLayerStratum that + provides access to a single layer of configuration data from LDAP source +*/ +service LdapSingleStratum +{ + + /** + provides access to configuration data. + */ + service SingleLayerStratum; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/LocalDataImporter.idl b/offapi/com/sun/star/configuration/backend/LocalDataImporter.idl new file mode 100644 index 000000000..a3b2bdd3e --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/LocalDataImporter.idl @@ -0,0 +1,98 @@ +/* -*- 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_backend_LocalDataImporter_idl__ +#define __com_sun_star_configuration_backend_LocalDataImporter_idl__ + +#include <com/sun/star/configuration/backend/DataImporter.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + allows importing data from a local configuration data repository + or file into any Backend. + + <p> Data to be imported can be a single layer either from a full local + configuration database or from a particular OOR Update XML file. + </p> + <p> Data is imported into the DefaultBackend. + </p> + + @see com::sun::star::configuration::backend::LocalHierarchyBrowser + Service that can be used to locate available layer files or components. + + @see com::sun::star::configuration::backend::LocalSingleBackend + Service that can be used to access a local configuration database. + + @since OOo 1.1.2 +*/ +published service LocalDataImporter +{ + + /** provides for running an import job + + <p> The implementation returns `VOID` from + com::sun::star::task::XJob::execute() + to indicates successful execution. If import is not executed, + because <code>OverwriteExisting = </code>`TRUE` was specified, + a com::sun::star::lang::IllegalAccessException + is returned. + </p> + <p>If `VOID` or `TRUE` is returned, this indicates successful + execution. If an + com::sun::star::uno::Exception is returned, + it represents an error condition encountered during execution. + </p> + + <p> The standard arguments to + com::sun::star::task::XJob::execute() + are all supported by implementations. Additionally the following + argument is required to select the data source: + <dl> + <dt><code>LayerDataUrl</code> : `string`</dt> + <dd>A file URL that specifies the location of the source data. + <p> If no <code>Component</code> is provided, this must be the + location of an OOR Update XML file, which will be imported + directly. + </p> + <p> If a <code>Component</code> is provided, the + <code>LayerDataUrl</code> is treated as Entity + (i.e. Layer directory base URL) for a local + configuration database and the appropriate component + from that repository is imported. + </p> + </dd> + </dl> + </p> + <p> Implementations may support additional parameters to select + a destination Backend, that is not the + DefaultBackend. + </p> + */ + service DataImporter ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/LocalHierarchyBrowser.idl b/offapi/com/sun/star/configuration/backend/LocalHierarchyBrowser.idl new file mode 100644 index 000000000..e097f21df --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/LocalHierarchyBrowser.idl @@ -0,0 +1,79 @@ +/* -*- 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_backend_LocalHierarchyBrowser_idl__ +#define __com_sun_star_configuration_backend_LocalHierarchyBrowser_idl__ + +#include <com/sun/star/configuration/backend/HierarchyBrowser.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + is a HierarchyBrowser, that browses a configuration database + stored in the local file system. + + @see com::sun::star::configuration::backend::LocalSingleBackend + + @since OOo 1.1.2 +*/ +published service LocalHierarchyBrowser +{ + + /** allows browsing a configuration hierarchy for components. + + <p> Either a schema repository or a layer directory can be browsed. + Components can be retrieved either as component names or as + file URLs. + </p> + + <p> The following additional arguments are supported for + com::sun::star::task::XJob::execute():<BR/> + + <dl> + <dt><code>SchemaDataUrl</code> : `string`</dt> + <dd>Base directory to search for schema files. + If this is specified, schema files will be browsed, + so argument <code>LayerDataUrl</code> should not be specified. + </dd> + <dt><code>LayerDataUrl</code> : `string`</dt> + <dd>Base directory to search for layer files. + If this is specified, layer files will be browsed, + so argument <code>SchemaDataUrl</code> should not be specified. + </dd> + <dt><code>FetchComponentNames</code> : `boolean`</dt> + <dd><ul><li>if `TRUE` components will be returned as component names,</li> + <li>if `FALSE` components will be returned as fileURLs,</li> + <li>if this argument is not provided, the default is to + retrieve names when browsing schemas and URLs when + browsing layers.</li> + </dd> + </dl> + </p> + */ + service HierarchyBrowser ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/LocalSchemaSupplier.idl b/offapi/com/sun/star/configuration/backend/LocalSchemaSupplier.idl new file mode 100644 index 000000000..9ccb60363 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/LocalSchemaSupplier.idl @@ -0,0 +1,48 @@ +/* -*- 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_backend_LocalSchemaSupplier_idl__ +#define __com_sun_star_configuration_backend_LocalSchemaSupplier_idl__ + +#include <com/sun/star/configuration/backend/SchemaSupplier.idl> + + + +module com { module sun { module star { module configuration { module backend { + + +/** + implements SchemaSupplier providing access to + local configuration schemas +*/ +service LocalSchemaSupplier +{ + /** + provides access to configuration schemas. + */ + service SchemaSupplier ; + + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/LocalSingleBackend.idl b/offapi/com/sun/star/configuration/backend/LocalSingleBackend.idl new file mode 100644 index 000000000..97a4b883c --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/LocalSingleBackend.idl @@ -0,0 +1,48 @@ +/* -*- 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_backend_LocalSingleBackend_idl__ +#define __com_sun_star_configuration_backend_LocalSingleBackend_idl__ + +#include <com/sun/star/configuration/backend/SingleBackend.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + implements SingleBackend that stores data in the + local file system using the OOR XML formats. + + @since OOo 1.1.2 +*/ +published service LocalSingleBackend +{ + + /** provides access to configuration data. + */ + service SingleBackend ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/LocalSingleStratum.idl b/offapi/com/sun/star/configuration/backend/LocalSingleStratum.idl new file mode 100644 index 000000000..552ee7d5f --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/LocalSingleStratum.idl @@ -0,0 +1,47 @@ +/* -*- 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_backend_LocalSingleStratum_idl__ +#define __com_sun_star_configuration_backend_LocalSingleStratum_idl__ + +#include <com/sun/star/configuration/backend/SingleLayerStratum.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + implements SingleLayerStratum that + provides access to a single layer of configuration data from local file system +*/ +service LocalSingleStratum +{ + + /** + provides access to configuration data. + */ + service SingleLayerStratum; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/MalformedDataException.idl b/offapi/com/sun/star/configuration/backend/MalformedDataException.idl new file mode 100644 index 000000000..b4174d3c3 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/MalformedDataException.idl @@ -0,0 +1,80 @@ +/* -*- 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_backend_MalformedDataException_idl__ +#define __com_sun_star_configuration_backend_MalformedDataException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** is raised when the data of a component schema, layer or update + is not well-formed, violates the schema or is otherwise invalid. + + @since OOo 1.1.2 + */ +published exception MalformedDataException: ::com::sun::star::uno::Exception +{ + /** + data that provides more detailed information about the + reason and location of the error. + + <p> Typically this member should contain an exception characterizing + the error in detail. + </p> + <p> For example the following exceptions may be used: + <dl> + <dt>com::sun::star::container::ElementExistException</dt> + <dd>for duplicate nodes.</dd> + + <dt>com::sun::star::container::NoSuchElementException</dt> + <dd>for nodes that are not in the schema.</dd> + + <dt>com::sun::star::beans::IllegalTypeException</dt> + <dd>for properties having the wrong or an invalid type.</dd> + + <dt>com::sun::star::beans::PropertyExistException</dt> + <dd>for duplicate properties.</dd> + + <dt>com::sun::star::beans::UnknownPropertyException</dt> + <dd>for properties that are not in the schema.</dd> + + <dt>com::sun::star::lang::IllegalArgumentException</dt> + <dd>for data values (names,attributes,etc.) that are invalid.</dd> + + <dt>com::sun::star::lang::IllegalAccessException</dt> + <dd>for changes that violate access restrictions.</dd> + + <dt>com::sun::star::lang::NoSupportException</dt> + <dd>for features that are not supported by the current implementation.</dd> + </dl> + </p> + <p> If no more detail information is available, this may be left `VOID`. + </p> + */ + any ErrorDetails; +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/MergeImporter.idl b/offapi/com/sun/star/configuration/backend/MergeImporter.idl new file mode 100644 index 000000000..e9deb915e --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/MergeImporter.idl @@ -0,0 +1,61 @@ +/* -*- 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_backend_MergeImporter_idl__ +#define __com_sun_star_configuration_backend_MergeImporter_idl__ + +#include <com/sun/star/configuration/backend/Importer.idl> +#include <com/sun/star/lang/XInitialization.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + imports data into a configuration layer by merging with existing data. + + <p> No named arguments to + com::sun::star::lang::XInitialization::initialize() + are supported. + </p> + + @since OOo 1.1.2 +*/ +published service MergeImporter +{ + + /** allows importing configuration data into a backend. + + <p> In this implementation, the changes are merged with any + XLayer data that already exists in the Backend, + replacing it completely. + </p> + + @see LayerUpdateMerger + Service that can be used to perform merging of changes into a layer. + */ + service Importer ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl b/offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl new file mode 100644 index 000000000..569c4a338 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl @@ -0,0 +1,79 @@ +/* -*- 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_backend_MergeRecoveryRequest_idl__ +#define __com_sun_star_configuration_backend_MergeRecoveryRequest_idl__ + +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** is passed to an InteractionHandler when merging fails due to + invalid layer data or access problems. + + @since OOo 2.0 + */ +exception MergeRecoveryRequest: ::com::sun::star::uno::Exception +{ + /** + data that provides more detailed information about the + reason and location of the error. + + <p> Typically this member should contain an exception characterizing + the error in detail. + </p> + <p> For example the following exceptions may be used: + <dl> + <dt>MalformedException</dt> + <dd>for layers containing invalid data.</dd> + + <dt>BackendAccessException</dt> + <dd>for layers that can't be accessed.</dd> + </dl> + </p> + <p> If no more detail information is available, this may be left `VOID`. + </p> + */ + any ErrorDetails; + + /** + Identifier of the layer object containing the invalid data. + */ + string ErrorLayerId; + + /** + specifies whether the requester wants to remove or skip the invalid layer. + + <p> If `TRUE` the requester wants to remove the underlying data of + the layer.<BR/> + If `FALSE` the request is to skip the underlying data this time, + but without removing it. + </p> + */ + boolean IsRemovalRequest; + +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/MultiLayerStratum.idl b/offapi/com/sun/star/configuration/backend/MultiLayerStratum.idl new file mode 100644 index 000000000..6081c77b2 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/MultiLayerStratum.idl @@ -0,0 +1,55 @@ +/* -*- 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_backend_MultiLayerStratum_idl__ +#define __com_sun_star_configuration_backend_MultiLayerStratum_idl__ + +#include <com/sun/star/configuration/backend/XBackendEntities.idl> +#include <com/sun/star/configuration/backend/XMultiLayerStratum.idl> + + + +module com { module sun { module star { module configuration { module backend { + + +/** + Provides access to a single layer of configuration data +*/ +service MultiLayerStratum +{ + /** + provides access to multiple layers of configuration data . + */ + interface XMultiLayerStratum ; + + + + /** + provides information about supported and special entities. + */ + [optional] interface XBackendEntities ; + + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/MultiStratumBackend.idl b/offapi/com/sun/star/configuration/backend/MultiStratumBackend.idl new file mode 100644 index 000000000..50200b76c --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/MultiStratumBackend.idl @@ -0,0 +1,60 @@ +/* -*- 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_backend_MultiStratumBackend_idl__ +#define __com_sun_star_configuration_backend_MultiStratumBackend_idl__ + +#include <com/sun/star/configuration/backend/Backend.idl> +#include <com/sun/star/lang/XInitialization.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + implements Backend provides access to a configuration database + composed of one or more storage backends containing settings used by software modules. +*/ +service MultiStratumBackend +{ + + /** characterizes the functionality. + */ + service Backend ; + + + /** + allows initialization of backend data sources + + <p>If present a type + com::sun::star::configuration::bootstrap::BootstrapContext + must be passed, that provides further backend initialization settings. + </p> + + + */ + + [optional] interface com::sun::star::lang::XInitialization ; + +} ; + + +} ; } ; } ; } ; } ; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/NodeAttribute.idl b/offapi/com/sun/star/configuration/backend/NodeAttribute.idl new file mode 100644 index 000000000..44eea3eea --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/NodeAttribute.idl @@ -0,0 +1,85 @@ +/* -*- 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_backend_NodeAttribute_idl__ +#define __com_sun_star_configuration_backend_NodeAttribute_idl__ + + +module com { module sun { module star { module configuration { module backend { + + +/** These values are used to specify the behavior of a node or property + in a layer. + + <p> The values were chosen so they can be combined with values from + SchemaAttribute + </p> + + @see com::sun::star::configuration::backend::SchemaAttribute + During merging the values may be combined with static attributes + from the schema. + + @since OOo 1.1.2 + */ +published constants NodeAttribute +{ + + /** indicates that a node or property may not be changed or overridden + in subsequent layers + */ + const short FINALIZED = 256; + + + /** indicates that a set item may not be removed or replaced + in subsequent layers. + */ + const short MANDATORY = 512; + + + /** indicates that a node or property may not be changed + in this or subsequent layer. + */ + const short READONLY = 1024; + + + /** indicates that contents shall be fused. + + <p>Used in XLayerHandler::addOrReplaceNode(), + XLayerHandler::addOrReplaceNodeFromTemplate(), + XUpdateHandler::addOrReplaceNode(), and + XUpdateHandler::addOrReplaceNodeFromTemplate().</p> + + @since OOo 2.0.3 + */ + const short FUSE = 2048; + + + /** can be used to mask the node attributes from merged attributes + */ + const short MASK = 32512; // 0xFF00, changed to 0x7F00 because only 3 bits + // are masked and fixing a bug in idlc + +}; + + +}; }; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/OfflineBackend.idl b/offapi/com/sun/star/configuration/backend/OfflineBackend.idl new file mode 100644 index 000000000..4d7a5181d --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/OfflineBackend.idl @@ -0,0 +1,65 @@ +/* -*- 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_backend_OfflineBackend_idl__ +#define __com_sun_star_configuration_backend_OfflineBackend_idl__ + +#include <com/sun/star/configuration/backend/BackendAdapter.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + implements BackendAdapter that maintains a cache so it + can operate even if the SingleBackend holding the data + is inaccessible. + + @see com::sun::star::configuration::backend::OnlineBackend + + @since OOo 1.1.2 +*/ +published service OfflineBackend +{ + + /** provides access to configuration data from a SingleBackend. + + <p>If no backend is provided during initialization or if the context + contains an <code>Offline</code> flag that is `TRUE`, then off-line mode + is activated. This may fail, if the off-line cache has not been filled + during a previous execution. + </p> + <p>Less entities may be available from XBackendEntities, + when operating in off-line mode than when operating with an on-line + SingleBackend. + </p> + <p>If off-line mode is not invoked, the implementation behaves + like any other BackendAdapter. + </p> + + */ + service BackendAdapter ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/OnlineBackend.idl b/offapi/com/sun/star/configuration/backend/OnlineBackend.idl new file mode 100644 index 000000000..9822ae5ba --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/OnlineBackend.idl @@ -0,0 +1,52 @@ +/* -*- 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_backend_OnlineBackend_idl__ +#define __com_sun_star_configuration_backend_OnlineBackend_idl__ + +#include <com/sun/star/configuration/backend/BackendAdapter.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + implements a BackendAdapter that requires that + the SingleBackend holding the data + is continuously accessible. + + @see com::sun::star::configuration::backend::OfflineBackend + + @since OOo 1.1.2 +*/ +published service OnlineBackend +{ + + /** provides access to configuration data from a SingleBackend. + + */ + service BackendAdapter ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/PlatformBackend.idl b/offapi/com/sun/star/configuration/backend/PlatformBackend.idl new file mode 100644 index 000000000..4b6b14857 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/PlatformBackend.idl @@ -0,0 +1,47 @@ +/* -*- 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_backend_PlatformBackend_idl__ +#define __com_sun_star_configuration_backend_PlatformBackend_idl__ + +#include <com/sun/star/configuration/backend/SingleLayerStratum.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + implements SingleLayerStratum that + provides access to a single layer of configuration data from external data store +*/ +service PlatformBackend +{ + + /** + provides access to configuration data. + */ + service SingleLayerStratum; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/PropertyInfo.idl b/offapi/com/sun/star/configuration/backend/PropertyInfo.idl new file mode 100644 index 000000000..02e4672e4 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/PropertyInfo.idl @@ -0,0 +1,59 @@ +/* -*- 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_backend_PropertyInfo_idl__ +#define __com_sun_star_configuration_backend_PropertyInfo_idl__ + + + +module com { module sun { module star { module configuration { module backend { + + +/** This structure contains all the information related to a property + @see XLayerContentDescriber +*/ +struct PropertyInfo +{ + /** The full name of the Property + * for eg. org.openoffice.Inet/Settings/ooInetHTTPProxyName + */ + string Name; + + /** The type of the Property + */ + string Type; + + /** The value of the property + */ + any Value; + + /** Is the property protected, if true the property can not + * be over written in later layer. + */ + boolean Protected; + + +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/Schema.idl b/offapi/com/sun/star/configuration/backend/Schema.idl new file mode 100644 index 000000000..58bad6f00 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/Schema.idl @@ -0,0 +1,72 @@ +/* -*- 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_backend_Schema_idl__ +#define __com_sun_star_configuration_backend_Schema_idl__ + +#include <com/sun/star/configuration/backend/XSchema.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + provides read only access to a configuration component schema. + + <p>A component is a set of hierarchically organized and semantically + related configuration settings, e.g StarWriter settings. + </p> + <p>A component schema contains two separate sections, one which + describes the templates to be used in the dynamic containers (sets) of + the component and one which describes the component's data structure. + </p> + + @see com::sun::star::configuration::backend::Layer + Service providing access to individual + configuration data for an entity. + + @since OOo 1.1.2 + */ +published service Schema +{ + + /** + handles access to the schema data for a component. + <p>The data can be read either in its entirety (templates and component + description) or each of its parts can be accessed. + </p> + */ + interface XSchema ; + + + /** + The URL of the layer data. + + @since OOo 2.0 + */ + [property,optional,readonly] string URL ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/SchemaAttribute.idl b/offapi/com/sun/star/configuration/backend/SchemaAttribute.idl new file mode 100644 index 000000000..dbbf4ebe4 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/SchemaAttribute.idl @@ -0,0 +1,65 @@ +/* -*- 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_backend_SchemaAttribute_idl__ +#define __com_sun_star_configuration_backend_SchemaAttribute_idl__ + + +module com { module sun { module star { module configuration { module backend { + + +/** These values are used to specify the behavior of a node or property + in the schema. + + @see com::sun::star::configuration::backend::NodeAttribute + During merging the values may be combined with node attributes. + + @since OOo 1.1.2 + */ +published constants SchemaAttribute +{ + + /** indicates that a property value can't be null. + */ + const short REQUIRED = 1; + + + /** indicates that the content of the node or the value of the property + may depend on the locale. + */ + const short LOCALIZED = 2; + + + /** indicates that properties can be added to the node at runtime + */ + const short EXTENSIBLE = 4; + + + /** can be used to mask the schema attributes from merged attributes + */ + const short MASK = 255; // 0x00FF + +}; + + +}; }; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/SchemaSupplier.idl b/offapi/com/sun/star/configuration/backend/SchemaSupplier.idl new file mode 100644 index 000000000..d43d4144c --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/SchemaSupplier.idl @@ -0,0 +1,47 @@ +/* -*- 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_backend_SchemaSupplier_idl__ +#define __com_sun_star_configuration_backend_SchemaSupplier_idl__ + +#include <com/sun/star/configuration/backend/XSchemaSupplier.idl> + + + +module com { module sun { module star { module configuration { module backend { + + +/** + provides access to configuration schemas +*/ +service SchemaSupplier +{ + /** + provides access to configuration schemas. + */ + interface XSchemaSupplier ; + + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/SingleBackend.idl b/offapi/com/sun/star/configuration/backend/SingleBackend.idl new file mode 100644 index 000000000..218fe3854 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/SingleBackend.idl @@ -0,0 +1,80 @@ +/* -*- 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_backend_SingleBackend_idl__ +#define __com_sun_star_configuration_backend_SingleBackend_idl__ + +#include <com/sun/star/configuration/backend/XBackendEntities.idl> +#include <com/sun/star/configuration/backend/XSchemaSupplier.idl> +#include <com/sun/star/configuration/backend/XMultiLayerStratum.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + is a configuration storage backends containing a complete + configuration database, including user data, default or + policy layers and schemata. + + <p> Configuration data is organized into layers which are selected + by components and entities. + </p> + + <p> Components are characterized by configuration schemas. + A component contains configuration data for a particular + application domain or software module. + </p> + <p> Entities are organized hierarchically in organizations, + groups, roles and individual users. Each element of the associated + hierarchy corresponds to a layer that applies to an entity. + </p> + <p> Layers contains data for multiple components + associated to a single entity. + <p> + + @since OOo 1.1.2 +*/ +published service SingleBackend +{ + + /** + provides access to configuration schemas. + */ + interface XSchemaSupplier ; + + + /** + provides access to the layer data. + */ + interface XMultiLayerStratum ; + + + /** + provides information about supported and special entities. + */ + interface XBackendEntities ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/SingleBackendAdapter.idl b/offapi/com/sun/star/configuration/backend/SingleBackendAdapter.idl new file mode 100644 index 000000000..da6ecb788 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/SingleBackendAdapter.idl @@ -0,0 +1,52 @@ +/* -*- 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_backend_SingleBackendAdapter_idl__ +#define __com_sun_star_configuration_backend_SingleBackendAdapter_idl__ + +#include <com/sun/star/configuration/backend/BackendAdapter.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + implements a simple BackendAdapter that can be used for + normal configuration operation. + + <p>All real functionality is provided by the wrapped SingleBackend. + + @see com::sun::star::configuration::backend::OnlineBackend + + @since OOo 1.1.2 +*/ +published service SingleBackendAdapter +{ + + /** provides access to configuration data from a SingleBackend. + */ + service BackendAdapter ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/SingleLayerStratum.idl b/offapi/com/sun/star/configuration/backend/SingleLayerStratum.idl new file mode 100644 index 000000000..b59deecbb --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/SingleLayerStratum.idl @@ -0,0 +1,55 @@ +/* -*- 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_backend_SingleLayerStratum_idl__ +#define __com_sun_star_configuration_backend_SingleLayerStratum_idl__ + +#include <com/sun/star/configuration/backend/XBackendEntities.idl> +#include <com/sun/star/configuration/backend/XSingleLayerStratum.idl> + + + +module com { module sun { module star { module configuration { module backend { + + +/** + Provides access to a single layer of configuration data +*/ +service SingleLayerStratum +{ + /** + provides access to single layer of configuration data. + */ + interface XSingleLayerStratum ; + + + + /** + provides information about supported and special entities. + */ + [optional] interface XBackendEntities ; + + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/StratumCreationException.idl b/offapi/com/sun/star/configuration/backend/StratumCreationException.idl new file mode 100644 index 000000000..ce5a62714 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/StratumCreationException.idl @@ -0,0 +1,51 @@ +/* -*- 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_backend_StratumCreationException_idl__ +#define __com_sun_star_configuration_backend_StratumCreationException_idl__ + +#include <com/sun/star/configuration/backend/BackendSetupException.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** is passed to an InteractionHandler when creating a stratum backend fails. + + @since OOo 2.0 + */ +exception StratumCreationException : BackendSetupException +{ + /** + Identifier of the stratum service that could not be created. + */ + string StratumService; + + /** + Initialization data passed to the stratum instance. + */ + string StratumData; + +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/SystemIntegration.idl b/offapi/com/sun/star/configuration/backend/SystemIntegration.idl new file mode 100644 index 000000000..8ace0d125 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/SystemIntegration.idl @@ -0,0 +1,56 @@ +/* -*- 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_backend_SystemIntegration_idl__ +#define __com_sun_star_configuration_backend_SystemIntegration_idl__ + +#include <com/sun/star/configuration/backend/Backend.idl> +#include <com/sun/star/lang/XInitialization.idl> + +module com { module sun { module star { module configuration { module backend { + + +/** + provides access to a configuration data composed of one or more + platform backends containing settings used by software modules. + + */ +service SystemIntegration +{ + /** + provides access to the layer data. + */ + interface XBackend ; + + /** + allows initialization of backend data sources + + <p>no parameters need to be passed as backends are initialized + using the service registration database "services.rdb". + </p> + + */ + + interface com::sun::star::lang::XInitialization ; +} ; + + +} ; } ; } ; } ; } ; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/TemplateIdentifier.idl b/offapi/com/sun/star/configuration/backend/TemplateIdentifier.idl new file mode 100644 index 000000000..17fe57ecc --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/TemplateIdentifier.idl @@ -0,0 +1,55 @@ +/* -*- 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_backend_TemplateIdentifier_idl__ +#define __com_sun_star_configuration_backend_TemplateIdentifier_idl__ + + + +module com { module sun { module star { module configuration { module backend { + + +/** holds the data needed to identify a template. + + @since OOo 1.1.2 + + */ +published struct TemplateIdentifier +{ + /** specifies the name of the template. + + <p>The name is unique within a component.</p> + */ + string Name; + + + /** specifies the component where the template originates. + + */ + string Component; + + +}; + + +}; }; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/UpdatableLayer.idl b/offapi/com/sun/star/configuration/backend/UpdatableLayer.idl new file mode 100644 index 000000000..df9fff0f9 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/UpdatableLayer.idl @@ -0,0 +1,109 @@ +/* -*- 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_backend_UpdatableLayer_idl__ +#define __com_sun_star_configuration_backend_UpdatableLayer_idl__ + +#include <com/sun/star/configuration/backend/Layer.idl> +#include <com/sun/star/configuration/backend/XUpdatableLayer.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + provides read/write access to a configuration data layer. + + <p>A layer contains the configuration setting changes to be performed + on a default layer (or schema) to obtain the values of those settings + for a given entity and component. + </p> + <p>An updatable layer can be read or replaced with another layer. + </p> + + @since OOo 1.1.2 + */ +published service UpdatableLayer +{ + + /** + handles read access to the contents of the layer. + + <p> If the implementation supports + com::sun::star::util::XTimeStamped, + then after executing XUpdatableLayer::replaceWith() + the timestamp will be the one for the replaced contents and + if reading after updates is supported the next read will reproduce the + replaced data. + </p> + */ + service Layer ; + + + /** + provides write access to the contents of the layer. + + <p> Depending of the actual type (simple, i.e pure XLayer or + composite, i.e XCompositeLayer) of the current layer and + the provided replacement layer, the operation performed + by XUpdatableLayer::replaceWith(), will vary. + </p> + <p> For the different current/replacement layer combinations, we have: + <dl> + <dt>Simple/Simple<dt> + <dd>the provided layer's contents replace the current one's.</dd> + + <dt>Composite/Composite<dt> + <dd>all layers (main and sub) present in the + provided layer are used to replace the corresponding current + layer contents. Sublayers present in the current layer but + not in the provided one are left untouched. Sublayers present + in the provided layer but not in the current one are added to + the current layer. + </dd> + + <dt>Simple/Composite<dt> + <dd>the main layer and sublayers of the provided layer + are merged into one whose contents replace the current layer. + </dd> + + <dt>Composite/Simple<dt> + <dd>the provided layer is split into a composite one whose contents + are then used to replace the current layer as described above. + </dd> + + </dl> + <em> Not all implementations of XUpdatableLayer + support conversions of the replacement layer. + In such a case the sublayers of the provided layer may be ignored + or all simple data be merged into the main layer. + </em> + </p> + */ + interface XUpdatableLayer ; + + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/XBackend.idl b/offapi/com/sun/star/configuration/backend/XBackend.idl new file mode 100644 index 000000000..20eab1474 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XBackend.idl @@ -0,0 +1,172 @@ +/* -*- 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_backend_XBackend_idl__ +#define __com_sun_star_configuration_backend_XBackend_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/configuration/backend/XUpdateHandler.idl> +#include <com/sun/star/configuration/backend/XLayer.idl> +#include <com/sun/star/configuration/backend/XSchema.idl> +#include <com/sun/star/configuration/backend/BackendAccessException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/lang/NoSupportException.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + Handles access to layered data stored in a repository. + + <p> Data can be retrieved on behalf of one or more entities.</p> + + <p> There is an implied owner entity associated to the object + when it is created. This entity should be used for normal data access. + For administrative operations data of other entities can be accessed. + </p> + + @see com::sun::star::configuration::backend::XBackendEntities + @see com::sun::star::configuration::backend::XSchemaSupplier + + @since OOo 1.1.2 +*/ +published interface XBackend : ::com::sun::star::uno::XInterface +{ + + /** + retrieves the layers associated to the owner + entity for a component. + + @param aComponent + component whose data will be accessed + + @returns + a list of objects allowing access to the + component data for each layer associated to + the current entity + + @throws com::sun::star::lang::IllegalArgumentException + if the component identifier is invalid + + @throws com::sun::star::configuration::backend::BackendAccessException + if an error occurs while accessing the data. + + @see com::sun::star::configuration::backend::XBackendEntities::getOwnerEntity() + */ + sequence<XLayer> listOwnLayers([in] string aComponent) + raises (BackendAccessException, + com::sun::star::lang::IllegalArgumentException) ; + + + /** + creates an update handler for the owner entity + layer for a component. + + @param aComponent + component whose data will be updated + + @returns + an object allowing manipulation of the + component data for the current entity + + @throws com::sun::star::lang::IllegalArgumentException + if the component identifier is invalid + + @throws com::sun::star::lang::NoSupportException + if updates are not supported for this backend + + @throws com::sun::star::configuration::backend::BackendAccessException + if an error occurs while accessing the data. + + @see com::sun::star::configuration::backend::XBackendEntities::getOwnerEntity() + */ + XUpdateHandler getOwnUpdateHandler([in] string aComponent) + raises (BackendAccessException, + com::sun::star::lang::NoSupportException, + com::sun::star::lang::IllegalArgumentException) ; + + + /** + retrieves the layers associated to an entity for a component. + + @param aComponent + component whose data will be accessed + + @param aEntity + entity whose data will be accessed + + @returns + a list of objects allowing access to the + component data for each layer associated + with the entity. + + @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::XBackendEntities::supportsEntity() + */ + sequence<XLayer> listLayers([in] string aComponent, + [in] string aEntity) + raises (BackendAccessException, + com::sun::star::lang::IllegalArgumentException) ; + + + /** + creates an update handler on an entity's layer for a component. + + @param aComponent + component whose data will be updated + + @param aEntity + entity whose data will be updated + + @returns + an object allowing manipulation of the + component data for the entity + + @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 updates are not supported for this backend + + @throws com::sun::star::configuration::backend::BackendAccessException + if an error occurs while accessing the data. + + @see com::sun::star::configuration::backend::XBackendEntities::supportsEntity() + */ + XUpdateHandler getUpdateHandler([in] string aComponent, + [in] string aEntity) + raises (BackendAccessException, + com::sun::star::lang::NoSupportException, + com::sun::star::lang::IllegalArgumentException) ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/XBackendChangesListener.idl b/offapi/com/sun/star/configuration/backend/XBackendChangesListener.idl new file mode 100644 index 000000000..53818fc21 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XBackendChangesListener.idl @@ -0,0 +1,50 @@ +/* -*- 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_backend_XBackendChangesListener_idl__ +#define __com_sun_star_configuration_backend_XBackendChangesListener_idl__ + +#include <com/sun/star/configuration/backend/ComponentChangeEvent.idl> +#include <com/sun/star/lang/XEventListener.idl> + +module com { module sun { module star { module configuration { module backend { + + +/** receives notification from backend broadcaster objects. + + @see XBackendChangesNotifier + + */ + interface XBackendChangesListener: ::com::sun::star::lang::XEventListener +{ + /** is invoked when component data in backend source changes + + @param Event + Event indicating the component data change + */ + void componentDataChanged( [in] com::sun::star::configuration::backend::ComponentChangeEvent Event ); + +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/XBackendChangesNotifier.idl b/offapi/com/sun/star/configuration/backend/XBackendChangesNotifier.idl new file mode 100644 index 000000000..164a3b4e4 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XBackendChangesNotifier.idl @@ -0,0 +1,64 @@ +/* -*- 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_backend_XBackendChangesNotifier_idl__ +#define __com_sun_star_configuration_backend_XBackendChangesNotifier_idl__ + +#include <com/sun/star/configuration/backend/XBackendChangesListener.idl> +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** broadcasts changes when data from backend sources has changed. + + @see XBackendChangesListener +*/ +interface XBackendChangesNotifier: com::sun::star::uno::XInterface +{ + /** adds the specified listener to receive events when changes occurred. + @param aListener + specifies the listener object. + + @param component + The name of the component the listener is monitoring changes for. + + */ + void addChangesListener( [in] com::sun::star::configuration::backend::XBackendChangesListener aListener, + [in] string component); + + /** removes the specified listener. + @param aListener + specifies the listener object. + + @param component + The name of the component the listener is monitoring changes for. + + */ + void removeChangesListener( [in] com::sun::star::configuration::backend::XBackendChangesListener aListener, + [in] string component); + +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/XBackendEntities.idl b/offapi/com/sun/star/configuration/backend/XBackendEntities.idl new file mode 100644 index 000000000..7f1bf481c --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XBackendEntities.idl @@ -0,0 +1,121 @@ +/* -*- 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_backend_XBackendEntities_idl__ +#define __com_sun_star_configuration_backend_XBackendEntities_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/configuration/backend/BackendAccessException.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + Provides functionality relating to common and supported entities + for a configuration data backend. + + @see com::sun::star::configuration::backend::XBackend + @see com::sun::star::configuration::backend::XMultiLayerStratum + + @since OOo 1.1.2 +*/ +published interface XBackendEntities : ::com::sun::star::uno::XInterface +{ + + /** + provides the entity id of the owner entity of the backend. + + @returns + an entity identifier for the owner entity. + <p> The owner entity is the default entity for the backend. + For normal configuration data access the owner entity + should always be used. + </p> + + @see com::sun::star::configuration::backend::XBackend::listOwnLayers() + @see com::sun::star::configuration::backend::XBackend::getOwnUpdateHandler() + */ + string getOwnerEntity() ; + + + /** + provides the entity id of an entity for general administrative access. + + <p> The admin entity is an entity that should be used to + read and manage configuration data that applies to all entities + within the backend. + </p> + + @returns + an entity identifier for the admin entity or + an empty string, if there is no entity that can be used for + general administrative access. + + */ + string getAdminEntity() ; + + + /** + determines, if a given entity id exists in this backend. + + @param aEntity + The name of an entity. + + @throws com::sun::star::configuration::backend::BackendAccessException + if an error occurs while accessing the backend. + + @returns + `TRUE`, if aEntity is a valid, existing entity for this backend, + `FALSE` otherwise. + */ + boolean supportsEntity([in] string aEntity) + raises( BackendAccessException ); + + + /** + determines, if two given entity ids denote the same entity. + + @param aEntity + The name of an entity. + + @param aOtherEntity + The name of another entity. + + @returns + `TRUE`, if aEntity and aOtherEntity denote the same entity + within this backend, `FALSE` otherwise. + + @throws com::sun::star::configuration::backend::BackendAccessException + if an error occurs while accessing the backend. + + @throws com::sun::star::lang::IllegalArgumentException + if either entity does not exist. + */ + boolean isEqualEntity([in] string aEntity, [in] string aOtherEntity) + raises( BackendAccessException, com::sun::star::lang::IllegalArgumentException) ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/XCompositeLayer.idl b/offapi/com/sun/star/configuration/backend/XCompositeLayer.idl new file mode 100644 index 000000000..a918488f2 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XCompositeLayer.idl @@ -0,0 +1,92 @@ +/* -*- 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_backend_XCompositeLayer_idl__ +#define __com_sun_star_configuration_backend_XCompositeLayer_idl__ + +#include <com/sun/star/configuration/backend/XLayer.idl> +#include <com/sun/star/lang/NullPointerException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/lang/WrappedTargetException.idl> +#include <com/sun/star/configuration/backend/MalformedDataException.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + provides read access to layers that contain sublayers accessible through an + additional criterion (for instance the locale they contain data for). + + @since OOo 1.1.2 + */ +published interface XCompositeLayer : XLayer +{ + + /** + Returns a list of the criteria that can be used to access the + sublayers. + + @return + a list supported sublayer identifiers + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs in the retrieval of the data. + */ + sequence<string> listSubLayerIds() + raises (com::sun::star::lang::WrappedTargetException) ; + + + /** + Describes the content of a particular sublayer to + an XLayerHandler. + + @param aHandler + Handler object that will receive calls + describing the contents of the sublayer. + + @param aSubLayerId + Identifier of the sublayer to be read. + <p> Must be one the identifiers returned by + XCompositeLayer::listSubLayerIds() + </p> + + @throws com::sun::star::lang::NullPointerException + if a `NULL` handler is passed. + @throws com::sun::star::lang::IllegalArgumentException + if the identifier is invalid. + @throws com::sun::star::lang::WrappedTargetException + if an error occurs in the access to or processing of the data. + @throws com::sun::star::configuration::backend::MalformedDataException + if the data read from the layer is rejected as invalid by the + XLayerHandler. + */ + void readSubLayerData([in] XLayerHandler aHandler, [in] string aSubLayerId) + raises (com::sun::star::lang::NullPointerException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException, + MalformedDataException) ; + +} ; + + +} ; } ; } ; } ; } ; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/XLayer.idl b/offapi/com/sun/star/configuration/backend/XLayer.idl new file mode 100644 index 000000000..e2948554f --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XLayer.idl @@ -0,0 +1,66 @@ +/* -*- 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_backend_XLayer_idl__ +#define __com_sun_star_configuration_backend_XLayer_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/configuration/backend/XLayerHandler.idl> +#include <com/sun/star/lang/NullPointerException.idl> +#include <com/sun/star/lang/WrappedTargetException.idl> +#include <com/sun/star/configuration/backend/MalformedDataException.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + provides read access to the data contained in a layer. + + @since OOo 1.1.2 +*/ +published interface XLayer : ::com::sun::star::uno::XInterface +{ + + /** + describes the contents of the layer to an XLayerHandler. + + @param aHandler + Handler object that will receive calls + describing the contents of the layer + + @throws com::sun::star::lang::NullPointerException + if a `NULL` handler is passed. + @throws com::sun::star::lang::WrappedTargetException + if an error occurs in the access to or processing of the data. + @throws com::sun::star::configuration::backend::MalformedDataException + if the data read from the layer is rejected as invalid by the + XLayerHandler. + */ + void readData([in] XLayerHandler aHandler) + raises (com::sun::star::lang::NullPointerException, + com::sun::star::lang::WrappedTargetException, + MalformedDataException) ; + +} ; + + +} ; } ; } ; } ; } ; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/XLayerContentDescriber.idl b/offapi/com/sun/star/configuration/backend/XLayerContentDescriber.idl new file mode 100644 index 000000000..355ab485f --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XLayerContentDescriber.idl @@ -0,0 +1,70 @@ +/* -*- 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_backend_XLayerContentDescriber_idl__ +#define __com_sun_star_configuration_backend_XLayerContentDescriber_idl__ + +#include <com/sun/star/configuration/backend/PropertyInfo.idl> +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/configuration/backend/XLayerHandler.idl> +#include <com/sun/star/lang/NullPointerException.idl> +#include <com/sun/star/configuration/backend/MalformedDataException.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + describe the contents of a layer to an XLayerHandler object. The contents of + the layer is contained in the sequence of PropertyInfo structures + @see PropertyInfo + +*/ +interface XLayerContentDescriber : ::com::sun::star::uno::XInterface +{ + + /** + describes the contents of the layer to an XLayerHandler. + + @param aHandler + Handler object that will receive calls + describing the contents of the layer + + @param aPropertyInfos + sequence of PropertyInfo structs contained + all required property information + + @throws com::sun::star::lang::NullPointerException + if a `NULL` handler is passed. + @throws com::sun::star::configuration::backend::MalformedDataException + if the data read from the layer is rejected as invalid by the + XLayerHandler. + */ + void describeLayer([in] XLayerHandler aHandler, + [in] sequence<PropertyInfo> aPropertyInfos) + raises (com::sun::star::lang::NullPointerException, + com::sun::star::lang::WrappedTargetException, + MalformedDataException) ; + +} ; + + +} ; } ; } ; } ; } ; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/XLayerHandler.idl b/offapi/com/sun/star/configuration/backend/XLayerHandler.idl new file mode 100644 index 000000000..df735c632 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XLayerHandler.idl @@ -0,0 +1,536 @@ +/* -*- 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_backend_XLayerHandler_idl__ +#define __com_sun_star_configuration_backend_XLayerHandler_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/configuration/backend/TemplateIdentifier.idl> + +#include <com/sun/star/configuration/backend/MalformedDataException.idl> +#include <com/sun/star/lang/WrappedTargetException.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** receives a description of a configuration layer + as a sequence of events. + + @since OOo 1.1.2 + */ +published interface XLayerHandler: ::com::sun::star::uno::XInterface +{ + + /** receives notification that a layer description is started + for a component. + + <p> Subsequent calls describe the contents of the layer + until a matching call to XLayerHandler::endLayer() + is encountered. + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + if there is an unfinished layer in progress + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void startLayer( ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a layer description is complete. + + <p> Must match a previous call to XLayerHandler::startLayer(). + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if invalid data is detected in the layer</li> + <li>if there is an unfinished subnode in progress</li> + <li>if no layer is started at all</li> + <li>if the layer tries to override read-only or final data</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void endLayer( ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a description of a node override is started. + + <p> Subsequent calls describe overrides to properties and members + or items of the node until a matching call to + XLayerHandler::endNode()is encountered. + </p> + + @param aName + specifies the name of the node. + + @param aAttributes + specifies attribute values to be applied to the node. + + <p> The value is a combination of + NodeAttribute flags. + </p> + <p> The attributes are combined cumulatively with those + set on lower layers. + </p> + + @param bClear + if `TRUE`, specifies that the node should be cleared to an empty + state by removing all non-mandatory children from lower layers prior + to applying the overrides. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a layer in progress</li> + <li>if there already was a change to that node</li> + <li>if there is no node with that name</li> + <li>if the node is marked read-only in a lower layer</li> + <li>if the name is not a valid node name</li> + <li>if the attributes are not valid for the node</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::NodeAttribute + */ + void overrideNode( [in] string aName, + [in] short aAttributes, + [in] boolean bClear ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a new item is started. + + <p> The current node must be a set and + a preexisting item (if any) must be removable. + </p> + <p> The new item will be created from the default template + of the set. + </p> + <p> Subsequent calls describe the difference from the template + of properties and members or items of the node until + a matching call to XLayerHandler::endNode() + is encountered. + </p> + + @param aName + specifies the name of the item. + + @param aAttributes + specifies attribute values to be applied to the new node. + + <p> The value is a combination of + NodeAttribute flags. Note that + NodeAttribute::FUSE has an impact on the + semantics of this method. + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a set node in progress currently</li> + <li>if there already was a change to a node of that name</li> + <li>if the template for the new node is not found</li> + <li>if an item of that name on a lower layer is not removable</li> + <li>if the name is not a valid item name</li> + <li>if the attributes are not valid for the node</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::NodeAttribute + */ + void addOrReplaceNode( [in] string aName, + [in] short aAttributes ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a new item based on a particular template + is started. + + <p> The current node must be a set and + a preexisting item (if any) must be removable. + </p> + <p> Subsequent calls describe the difference from the template + of properties and members or items of the node until + a matching call to XLayerHandler::endNode() + is encountered. + </p> + + @param aName + specifies the name of the item. + + @param aTemplate + specifies the template to use for the new node + + @param aAttributes + specifies attribute values to be applied to the new node. + + <p> The value is a combination of + NodeAttribute flags. Note that + NodeAttribute::FUSE has an impact on the + semantics of this method. + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a set node in progress currently</li> + <li>if there already was a change to a node of that name</li> + <li>if the template for the new node is not found</li> + <li>if the template is not a valid item type for the containing set</li> + <li>if an item of that name on a lower layer is not removable</li> + <li>if the name is not a valid item name</li> + <li>if the attributes are not valid for the node</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::NodeAttribute + */ + void addOrReplaceNodeFromTemplate( [in] string aName, + [in] TemplateIdentifier aTemplate, + [in] short aAttributes ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a node description is complete. + + <p> Must match the last open call to + XLayerHandler::overrideNode(), + XLayerHandler::addOrReplaceNode() or + XLayerHandler::addOrReplaceNodeFromTemplate(). + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if invalid data is detected in the node</li> + <li>if no node is started at all</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void endNode( ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a node is dropped from a set. + + <p> The current node must be a set and + the item must be removable. + </p> + + @param aName + specifies the name of the node. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a set node in progress currently</li> + <li>if there already was a change to a node of that name</li> + <li>if there is no item with that name</li> + <li>if the item is not removable</li> + <li>if the name is not a valid node name</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void dropNode( [in] string aName ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that an existing property is modified. + + <p> Subsequent calls describe new value(s) for the property until a + matching call to XLayerHandler::endProperty() + is encountered. + </p> + + @param aName + specifies the name of the property. + + @param aAttributes + specifies the new attributes of the property. + + <p> The value is a combination of + NodeAttribute flags. + </p> + <p> The attributes are combined cumulatively with those + set on lower layers. + </p> + + @param aType + specifies the type of the property. + + <p> This must be the same type as is already defined in the schema + or lower layers, unless the previous type was unspecified + (as indicated by + com::sun::star::uno::TypeClass::ANY.) + </p> + <p> A `VOID` type indicates that the type is unspecified + in this layer. + In this case any subsequent value may be of a generic type + (e.g. `string` or - for list values - + `string[]`.) Such values may be + converted to the type defined in the schema by + the implementation. + </p> + + @param bClear + if `TRUE`, specifies that the property should be cleared to an empty + state by discarding all values from lower layers prior + to applying the overrides. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a group or extensible node in progress currently</li> + <li>if there already was a change to a property of that name</li> + <li>if there is no property with that name</li> + <li>if the property is read-only</li> + <li>if the type does not match the type of the property</li> + <li>if a type is missing and cannot be determined otherwise</li> + <li>if the name is not a valid property name</li> + <li>if the attributes are not valid for the property</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::NodeAttribute + */ + void overrideProperty( [in] string aName, + [in] short aAttributes, + [in] type aType, + [in] boolean bClear ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + + /** receives notification that the value of the current property + is overridden. + + @param aValue + specifies the new value of the property. + + <p> The value must match the type of the current property. + If the property does not have the + SchemaAttribute::REQUIRED flag set, + the value can be `VOID`. + </p> + <p> If the current property is localized, this value applies + to the default locale. + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a property in progress currently</li> + <li>if there already was a change to the value of that property</li> + <li>if the value does not have the proper type</li> + <li>if the value is not valid for the property</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::NodeAttribute + */ + void setPropertyValue( [in] any aValue ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + + /** receives notification that the value of the current localized property + is overridden for a specific locale . + + @param aValue + specifies the new value of the property. + + <p> The value must match the type of the current property. + If the property does not have the + SchemaAttribute::REQUIRED flag set, + the value can be `VOID`. + </p> + + @param aLocale + specifies the locale this value should apply to. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a property in progress currently</li> + <li>if the current property isn't localized</li> + <li>if there already was a change to the property for that locale</li> + <li>if the value does not have the proper type</li> + <li>if the value is not valid for the property</li> + <li>if the locale is not a valid locale</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::NodeAttribute + */ + void setPropertyValueForLocale([in] any aValue, + [in] string aLocale ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + + /** receives notification that a property description is complete. + + <p> Must match an open call to + XLayerHandler::overrideProperty(), + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if invalid data is detected in the property</li> + <li>if no property is started at all</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void endProperty( ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a property having a `VOID` value is added + to the current node. + + <p> The current node must be extensible. + </p> + + @param aName + specifies the name of the new property. + + @param aAttributes + specifies the attributes of the new property. + + <p> The value is a combination of + NodeAttribute flags and may also contain the + SchemaAttribute::REQUIRED flag. + </p> + <p> NodeAttribute::MANDATORY need not be set, + as dynamically added properties always are mandatory + in subsequent layers. + </p> + + @param aType + specifies the type of the new property. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't an extensible node in progress currently</li> + <li>if a property with that name already exists</li> + <li>if the specified type is not allowed for a property</li> + <li>if the name is not a valid property name</li> + <li><li>if the attributes are not valid for the property</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::SchemaAttribute + */ + void addProperty( [in] string aName, + [in] short aAttributes, + [in] type aType ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + + /** receives notification that a property having a non-`VOID` value + is added to the current node. + + <p> The current node must be extensible. + </p> + + @param aName + specifies the name of the new property. + + @param aAttributes + specifies the attributes of the new property. + + <p> The value is a combination of + NodeAttribute flags and may also contain the + SchemaAttribute::REQUIRED flag. + </p> + </p> + <p> NodeAttribute::MANDATORY need not be set, + as dynamic properties always are mandatory + in subsequent layers. + </p> + + @param aValue + specifies the value of the new property. + + <p> The value also determines the type. + Therefore the value must not be `VOID`. + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't an extensible node in progress currently</li> + <li>if a property with that name already exists</li> + <li>if the type of the value is not an allowed type + or if the value is `VOID`</li> + <li>if the name is not a valid property name</li> + <li>if the value is not valid for the property</li> + <li>if the attributes are not valid for the property</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::SchemaAttribute + */ + void addPropertyWithValue( [in] string aName, + [in] short aAttributes, + [in] any aValue ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + +}; + + +}; }; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/XLayerImporter.idl b/offapi/com/sun/star/configuration/backend/XLayerImporter.idl new file mode 100644 index 000000000..793227684 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XLayerImporter.idl @@ -0,0 +1,132 @@ +/* -*- 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_backend_XLayerImporter_idl__ +#define __com_sun_star_configuration_backend_XLayerImporter_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/configuration/backend/XLayer.idl> +#include <com/sun/star/configuration/backend/XBackend.idl> +#include <com/sun/star/configuration/backend/MalformedDataException.idl> +#include <com/sun/star/lang/NullPointerException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/lang/WrappedTargetException.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** allows importing a layer into a Backend + + @since OOo 1.1.2 +*/ +published interface XLayerImporter : ::com::sun::star::uno::XInterface +{ + + /** gets the target backend for importing. + + @returns + the Backend into which layers are + imported by XLayerImporter::importLayer(). + + */ + XBackend getTargetBackend(); + + + /** sets the target backend for importing. + + @param aBackend + a Backend into which layers should be + imported by XLayerImporter::importLayer(). + + @throws com::sun::star::lang::NullPointerException + if the backend passed is `NULL`. + */ + void setTargetBackend([in] XBackend aBackend) + raises (com::sun::star::lang::NullPointerException) ; + + + /** Imports the layer given into the backend. + + <p>This method imports data for the current entity of the backend.</p> + + @param aLayer + a layer whose data will be imported into the backend + + @throws com::sun::star::lang::NullPointerException + if the layer passed is `NULL` or no backend is available. + + @throws com::sun::star::configuration::backend::MalformedDataException + if the layer passed is invalid + + @throws com::sun::star::lang::IllegalArgumentException + if the layer passed is for a component + that doesn't exist in the backend + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs in the backend or source layer. + + @see com::sun::star::configuration::backend::XBackend::getOwnUpdateHandler() + */ + void importLayer([in] XLayer aLayer) + raises (MalformedDataException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::NullPointerException, + com::sun::star::lang::WrappedTargetException) ; + + + /** Imports the layer given into the backend for a given entity. + + <p>This method imports data for the current entity of the backend.</p> + + @param aLayer + a layer whose data will be imported into the backend + + @param aEntity + an entity into whose data the layer will be imported + + @throws com::sun::star::lang::NullPointerException + if the layer passed is `NULL` or no backend is available. + + @throws com::sun::star::configuration::backend::MalformedDataException + if the layer passed is invalid + + @throws com::sun::star::lang::IllegalArgumentException + if the layer passed is for a component + that doesn't exist in the backend + or if the entity doesn't exist in the backend. + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs in the backend or source layer. + + @see com::sun::star::configuration::backend::XBackend::getUpdateHandler() + */ + void importLayerForEntity([in] XLayer aLayer, [in] string aEntity) + raises (MalformedDataException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::NullPointerException, + com::sun::star::lang::WrappedTargetException) ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 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 000000000..5c20f01bb --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XMultiLayerStratum.idl @@ -0,0 +1,314 @@ +/* -*- 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_backend_XMultiLayerStratum_idl__ +#define __com_sun_star_configuration_backend_XMultiLayerStratum_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/configuration/backend/XLayer.idl> +#include <com/sun/star/configuration/backend/XUpdatableLayer.idl> +#include <com/sun/star/configuration/backend/BackendAccessException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/lang/NoSupportException.idl> + + +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) ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/XSchema.idl b/offapi/com/sun/star/configuration/backend/XSchema.idl new file mode 100644 index 000000000..606cadcbf --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XSchema.idl @@ -0,0 +1,121 @@ +/* -*- 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_backend_XSchema_idl__ +#define __com_sun_star_configuration_backend_XSchema_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/configuration/backend/XSchemaHandler.idl> +#include <com/sun/star/lang/NullPointerException.idl> +#include <com/sun/star/lang/WrappedTargetException.idl> +#include <com/sun/star/configuration/backend/MalformedDataException.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + Handles access to the elements of a component schema, + i.e its templates and its component definition. + + @since OOo 1.1.2 +*/ +published interface XSchema : ::com::sun::star::uno::XInterface +{ + + /** + Describes the full schema (templates + component) to a + XSchemaHandler. + + @param aHandler + schema handler that will receive calls + describing the contents of the templates + and the component definition + + @throws com::sun::star::lang::NullPointerException + if a `NULL` handler is passed. + @throws com::sun::star::lang::WrappedTargetException + if an error occurs in the access to or processing of the data or + if a subsequent call to any of the XSchemamethods is made. + The elements of a component schema are only parsed once,a repeat call + leads to exception. + @throws com::sun::star::configuration::backend::MalformedDataException + if the data read from the layer is rejected as invalid by the + XSchemaHandler. + */ + void readSchema([in] XSchemaHandler aHandler) + raises (com::sun::star::lang::NullPointerException, + com::sun::star::lang::WrappedTargetException, + MalformedDataException) ; + + + /** + Describes only the component definition to a XSchemaHandler. + + @param aHandler + schema handler that will receive calls + describing the contents of the component + definition + + @throws com::sun::star::lang::NullPointerException + if a `NULL` handler is passed. + @throws com::sun::star::lang::WrappedTargetException + if an error occurs in the access to or processing of the data or + if a subsequent call to any of the XSchemamethods is made. + The elements of a component schema are only parsed once,a repeat call + leads to exception. + @throws com::sun::star::configuration::backend::MalformedDataException + if the data read from the layer is rejected as invalid by the + XSchemaHandler. + */ + void readComponent([in] XSchemaHandler aHandler) + raises (com::sun::star::lang::NullPointerException, + com::sun::star::lang::WrappedTargetException, + MalformedDataException) ; + + + /** + Describes the component templates to a XSchemaHandler. + + @param aHandler + schema handler that will receive calls + describing the contents of the templates + + @throws com::sun::star::lang::NullPointerException + if a `NULL` handler is passed. + @throws com::sun::star::lang::WrappedTargetException + if an error occurs in the access to or processing of the data or + if a subsequent call to any of the XSchemamethods is made. + The elements of a component schema are only parsed once,a repeat call + leads to exception. + @throws com::sun::star::configuration::backend::MalformedDataException + if the data read from the layer is rejected as invalid by the + XSchemaHandler. + */ + void readTemplates([in] XSchemaHandler aHandler) + raises (com::sun::star::lang::NullPointerException, + com::sun::star::lang::WrappedTargetException, + MalformedDataException) ; + +} ; + + +} ; } ; } ; } ; } ; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/XSchemaHandler.idl b/offapi/com/sun/star/configuration/backend/XSchemaHandler.idl new file mode 100644 index 000000000..f3721f2fd --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XSchemaHandler.idl @@ -0,0 +1,502 @@ +/* -*- 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_backend_XSchemaHandler_idl__ +#define __com_sun_star_configuration_backend_XSchemaHandler_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/configuration/backend/TemplateIdentifier.idl> + +#include <com/sun/star/configuration/backend/MalformedDataException.idl> +#include <com/sun/star/lang/WrappedTargetException.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** receives a description of a configuration schema as a sequence of events. + + @since OOo 1.1.2 + */ +published interface XSchemaHandler: ::com::sun::star::uno::XInterface +{ + + /** receives notification that a schema description is started. + + <p> The schema description may comprise components templates or both. + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + if a schema is already started (and has not been ended). + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void startSchema( ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that the current schema description is complete. + + <p> Must match a previous call to startSchema(). + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if invalid data is detected in the schema</li> + <li>if there is an unfinished component or template in progress</li> + <li>if no schema is started at all</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void endSchema( ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that the schema depends on templates + from a different component. + + @param aName + specifies the name of the component. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there is an unfinished component or template in progress</li> + <li>if no schema is started at all</li> + <li>if the name is not a valid component name</li> + <li>if the requested component is not found</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void importComponent( [in] string aName ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a component description is started. + + <p> Subsequent calls describe the schema of the component + until a matching call to endComponent() + is encountered. + </p> + + @param aName + specifies the name of the component. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there is an unfinished component or template in progress </li> + <li>if no schema is started at all </li> + <li>if there already is a component data tree of this name</li> + <li>if the name is not a valid component name</li> + <li>if the instance supports no component schemas (only templates)</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void startComponent( [in] string aName ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a component description is complete. + + <p> Must match a previous call to startComponent(). + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if invalid data is detected in the component<li> + <li>if there is an unfinished subnode in progress<li> + <li>if no component has been started at all<li> + <li>if the instance supports no component schemas (only templates)<li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void endComponent( ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a template description is started for a group. + + <p> Subsequent calls describe the members and properties of the template + until a matching call to endTemplate() + is encountered. + </p> + + @param aTemplate + specifies the identity of the template. + + @param aAttributes + specifies the attributes of the template. + + <p> The value is a combination of + SchemaAttribute flags. + </p> + <p> SchemaAttribute::EXTENSIBLE can be used + to describe a template for a node with an extensible + set of properties. + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there is an unfinished component or template in progress</li> + <li>if no schema is started at all </li> + <li>if there already is a template with that identifier</li> + <li>if the name is not a valid template identifier </li> + <li>if the attributes are not valid for a group</li> + <li>if the instance supports no templates (only component schemas)</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::SchemaAttribute + */ + void startGroupTemplate( [in] TemplateIdentifier aTemplate, + [in] short aAttributes ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a template description is started for a set. + + <p> Subsequent calls describe the members and properties of the template + until a matching call to endTemplate() + is encountered. + </p> + + @param aTemplate + specifies the identity of the template. + + @param aAttributes + specifies the attributes of the template. + + <p> The value is a combination of + SchemaAttribute flags. + </p> + <p> SchemaAttribute::EXTENSIBLE can be used + to describe a template for a node with an extensible + set of properties. + </p> + + @param aItemType + specifies the (default) template for set items. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there is an unfinished component or template in progress</li> + <li>if no schema is started at all </li> + <li>if there already is a template with that identifier</li> + <li>if the item-type template is not found</li> + <li>if the name or item-type are not valid template identifiers </li> + <li>if the attributes are not valid for a set</li> + <li>if the instance supports no templates (only component schemas).</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::SchemaAttribute + */ + void startSetTemplate( [in] TemplateIdentifier aTemplate, + [in] short aAttributes, + [in] TemplateIdentifier aItemType ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a template description is complete. + + <p> Must match a previous call to startGroupTemplate() + or startSetTemplate(). + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if invalid data is detected in the template</li> + <li>if there is an unfinished subnode in progress</li> + <li>if no template has been started at all</li> + <li>if the instance supports no templates (only component schemas)</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void endTemplate( ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a group description is started. + + <p> Subsequent calls describe the members and properties of the group + until a matching call to endNode() + is encountered. + </p> + + @param aName + specifies the name of the group. + + @param aAttributes + specifies the attributes of the node. + + <p> The value is a combination of + SchemaAttribute flags. + </p> + <p> SchemaAttribute::EXTENSIBLE can be used + to describe a group with an extensible set of properties. + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a group node in progress currently</li> + <li>if there already is a node with that name</li> + <li>if the name is not a valid node name</li> + <li>if the attributes are not valid for a group</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::SchemaAttribute + */ + void startGroup( [in] string aName, + [in] short aAttributes ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a set description is started. + + <p> Subsequent calls describe the item-types and properties of the set + until a matching call to endNode() + is encountered. + </p> + + @param aName + specifies the name of the set. + + @param aAttributes + specifies the attributes of the node. + + <p> The value is a combination of + SchemaAttribute flags. + </p> + <p> SchemaAttribute::EXTENSIBLE can be used + to describe a set with an extensible set of properties. + </p> + + @param aItemType + specifies the (default) template for set items. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a group node in progress currently</li> + <li>if there already is a node with that name</li> + <li>if the item-type template is not found</li> + <li>if the name is not a valid node name</li> + <li>if the item-type is not a valid template identifier</li> + <li>if the attributes are not valid for a set</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::SchemaAttribute + */ + void startSet( [in] string aName, + [in] short aAttributes, + [in] TemplateIdentifier aItemType ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a node description is complete. + + <p> Must match the last open call to startGroup() + or startSet(). + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if the name is not the name of the node in progress</li> + <li>if invalid data is detected in the node</li> + <li>if no node has been started at all</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void endNode( ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a property is added to the current node. + + <p> The property will have a default value of `NULL` + (unless it is SchemaAttribute::REQUIRED). + </p> + + @param aName + specifies the name of the new property. + + @param aAttributes + specifies the attributes of the new property. + + <p> The value is a combination of + SchemaAttribute flags. + </p> + + @param aType + specifies the type of the new property. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a group or extensible node in progress currently</li> + <li>if a property with the same name already exists</li> + <li>if the specified type is not allowed</li> + <li>if the name is not a valid property name</li> + <li>if the attributes are not valid for a property</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::SchemaAttribute + */ + void addProperty( [in] string aName, + [in] short aAttributes, + [in] type aType ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + + /** receives notification that a property having a default value + is added to the current node. + + @param aName + specifies the name of the new property. + + @param aAttributes + specifies the attributes of the new property. + + <p> The value is a combination of + SchemaAttribute flags. + </p> + + @param aDefaultValue + specifies the value of the new property. + + <p> The value also determines the type. + Therefore the value must not be `VOID`. + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a group or extensible node in progress currently</li> + <li>if a property with the same name already exists</li> + <li>if the type of the default value is not an allowed type, + or if the default value is `VOID`</li> + <li>if the name is not a valid property name</li> + <li>if the attributes are not valid for a property</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::SchemaAttribute + */ + void addPropertyWithDefault( [in] string aName, + [in] short aAttributes, + [in] any aDefaultValue ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + + /** receives notification that the current group has a child node + that is an instance of a specified template. + + @param aName + specifies the name of the new node. + + @param aTemplate + specifies a template that describes the new node. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a group node in progress currently</li> + <li>if there already is a node with that name</li> + <li>if the template is not found</li> + <li>if the name or template name are not valid</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void addInstance( [in] string aName, + [in] TemplateIdentifier aTemplate ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + + /** receives notification that the current set can contain items + that are instances of a specified template. + + @param aItemType + specifies a template that is accepted as valid item type + for the current set node. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a set node in progress currently</li> + <li>if the template is not found</li> + <li>if the name is not a valid template name</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void addItemType( [in] TemplateIdentifier aItemType ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + +}; + + +}; }; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/XSchemaSupplier.idl b/offapi/com/sun/star/configuration/backend/XSchemaSupplier.idl new file mode 100644 index 000000000..6c7319006 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XSchemaSupplier.idl @@ -0,0 +1,67 @@ +/* -*- 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_backend_XSchemaSupplier_idl__ +#define __com_sun_star_configuration_backend_XSchemaSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/configuration/backend/XSchema.idl> +#include <com/sun/star/configuration/backend/BackendAccessException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + provides access to configuration component schemas. + + @since OOo 1.1.2 +*/ +published interface XSchemaSupplier : ::com::sun::star::uno::XInterface +{ + + /** + Returns the schema information (component + templates) + for a particular component. + + @param aComponent + component whose schema will be accessed + + @returns + an object allowing access to the various parts of the schema, + `NULL` if the component doesn't exist. + + @throws com::sun::star::lang::IllegalArgumentException + if the component identifier is invalid. + + @throws com::sun::star::configuration::backend::BackendAccessException + if an error occurs while accessing the data. + */ + XSchema getComponentSchema([in] string aComponent) + raises (BackendAccessException, + com::sun::star::lang::IllegalArgumentException) ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/XSingleLayerStratum.idl b/offapi/com/sun/star/configuration/backend/XSingleLayerStratum.idl new file mode 100644 index 000000000..6faa25a30 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XSingleLayerStratum.idl @@ -0,0 +1,122 @@ +/* -*- 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_backend_XSingleLayerStratum_idl__ +#define __com_sun_star_configuration_backend_XSingleLayerStratum_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/configuration/backend/XLayer.idl> +#include <com/sun/star/configuration/backend/XUpdatableLayer.idl> +#include <com/sun/star/configuration/backend/BackendAccessException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/lang/NoSupportException.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + Handles access to a stratum consisting of a single layer + in a configuration data repository + + <p> The interface provides timestamp-checking capabilities + for efficient caching. + </p> + + @see com::sun::star::util::XTimeStamped + @see com::sun::star::configuration::backend::XSchemaSupplier + @see com::sun::star::configuration::backend::XMultiLayerStratum + + @since OOo 1.1.2 +*/ +published interface XSingleLayerStratum : ::com::sun::star::uno::XInterface +{ + + /** + retrieves the layer data for a component, 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 aComponent + The name of the component to access. + + @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 component identifier 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 aComponent, + [in] string aTimestamp) + raises (BackendAccessException, + com::sun::star::lang::IllegalArgumentException) ; + + + /** + retrieves a writable representation of the layer for a component. + + @param aComponent + The name of the component to access. + + @return + an UpdatableLayer object providing + write access to the layer + + @throws com::sun::star::lang::IllegalArgumentException + if the component identifier 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 aComponent) + raises (BackendAccessException, + com::sun::star::lang::NoSupportException, + com::sun::star::lang::IllegalArgumentException) ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/XUpdatableLayer.idl b/offapi/com/sun/star/configuration/backend/XUpdatableLayer.idl new file mode 100644 index 000000000..dcc9e35ec --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XUpdatableLayer.idl @@ -0,0 +1,71 @@ +/* -*- 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_backend_XUpdatableLayer_idl__ +#define __com_sun_star_configuration_backend_XUpdatableLayer_idl__ + +#include <com/sun/star/configuration/backend/XLayer.idl> +#include <com/sun/star/lang/NullPointerException.idl> +#include <com/sun/star/lang/WrappedTargetException.idl> +#include <com/sun/star/configuration/backend/MalformedDataException.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + Provides access to a read-write layer of configuration data for + a given component and entity. + + @since OOo 1.1.2 + */ +published interface XUpdatableLayer : XLayer +{ + + /** + Replaces the current layer with the layer given as input + parameter. + + <p> After the replacement has been performed, reading the + layer will return the new content. Some implementations + may not support this, so after an update + XLayer::readData() may fail. + </p> + + @param aNewLayer + replacement layer + + @throws com::sun::star::lang::NullPointerException + if a `NULL` handler is passed. + @throws com::sun::star::lang::WrappedTargetException + if an error occurs during the replacement. + @throws com::sun::star::configuration::backend::MalformedDataException + if the layer contains invalid data. + */ + void replaceWith([in] XLayer aNewLayer) + raises (com::sun::star::lang::NullPointerException, + com::sun::star::lang::WrappedTargetException, + MalformedDataException) ; + +} ; + +} ; } ; } ; } ; } ; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/XUpdateHandler.idl b/offapi/com/sun/star/configuration/backend/XUpdateHandler.idl new file mode 100644 index 000000000..5bff16437 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XUpdateHandler.idl @@ -0,0 +1,633 @@ +/* -*- 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_backend_XUpdateHandler_idl__ +#define __com_sun_star_configuration_backend_XUpdateHandler_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/configuration/backend/TemplateIdentifier.idl> + +#include <com/sun/star/configuration/backend/MalformedDataException.idl> +#include <com/sun/star/lang/WrappedTargetException.idl> +#include <com/sun/star/lang/IllegalAccessException.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** receives a description of a configuration update or layer + as a sequence of events. + + @since OOo 1.1.2 + */ +published interface XUpdateHandler: ::com::sun::star::uno::XInterface +{ + + /** receives notification that an update or description is started. + + @throws com::sun::star::configuration::backend::MalformedDataException + if the update already was started + + @throws com::sun::star::lang::IllegalAccessException + if the target layer is read-only + <p><em>Some implementations can only detect this when executing + XUpdateHandler::endUpdate()</em> + </p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void startUpdate( ) + raises( MalformedDataException, + com::sun::star::lang::IllegalAccessException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that the current update description is complete. + + <p> Must match a previous call to XUpdateHandler::startUpdate(). + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if no update is started at all</li> + <li>if invalid data is detected in the update</li> + <li>if there is an unfinished subnode in progress</li> + <li>if the update tries to change read-only data</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::IllegalAccessException + if the target layer is read-only + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void endUpdate( ) + raises( MalformedDataException, + com::sun::star::lang::IllegalAccessException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a modification of a node is started. + + <p> Subsequent calls describe changes to properties and items or + members of the node until a matching call to + XUpdateHandler::endNode() is encountered. + </p> + + @param aName + specifies the name of the node. + + @param aAttributes + specifies attribute values to be applied to the node in the + current layer. + + <p> The value is a combination of + NodeAttribute flags. + </p> + <p> Only attributes which are selected in aAttributeMask + are changed. + </p> + + @param aAttributeMask + specifies which attributes should be changed for the node. + + <p> The value is a combination of + NodeAttribute flags. + </p> + + @param bReset + if `TRUE`, specifies that the node should be reset to its default + state as given by lower layers and the schema or template prior + to applying the changes. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't an update in progress at all</li> + <li>if a node is not valid in this place</li> + <li>if there already was a change to that node</li> + <li>if there is no node with that name</li> + <li>if the node is read-only</li> + <li>if the name is not a valid node name</li> + <li>if the attributes or mask are not valid for the node</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::NodeAttribute + */ + void modifyNode ( [in] string aName, + [in] short aAttributes, + [in] short aAttributeMask, + [in] boolean bReset ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a node is started as a new item. + + <p> The current node must be a set and + a preexisting item (if any) must be removable. + </p> + <p> The new item will be created from the default template + of the set. + </p> + <p> Subsequent calls describe the difference from the template + of properties, items or members of the node until a matching call + to XUpdateHandler::endNode() is encountered. + </p> + + @param aName + specifies the name of the new item. + + @param aAttributes + specifies attribute values to be applied to the new node. + + <p> The value is a combination of + NodeAttribute flags. Note that + NodeAttribute::FUSE has an impact on the + semantics of this method. + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a set node in progress currently</li> + <li>if there already was a change to an item of that name</li> + <li>if the template for the new node is not found</li> + <li>if an item of that name exists and is not removable</li> + <li>if the name is not a valid item name</li> + <li>if the attributes are not valid for the node</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::NodeAttribute + */ + void addOrReplaceNode ( [in] string aName, + [in] short aAttributes ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a node is started as a new item + based on a particular template. + + <p> The current node must be a set and + a preexisting item (if any) must be removable. + </p> + <p> Subsequent calls describe the difference from the template + of properties or members of the node until a matching call + to XUpdateHandler::endNode() is encountered. + </p> + + @param aName + specifies the name of the item. + + @param aTemplate + specifies the template to use for the new node + + @param aAttributes + specifies attribute values to be applied to the new node. + + <p> The value is a combination of + NodeAttribute flags. Note that + NodeAttribute::FUSE has an impact on the + semantics of this method. + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a set node in progress currently</li> + <li>if there already was a change to an item of that name</li> + <li>if the template for the new node is not found</li> + <li>if an item of that name exists and is not removable</li> + <li>if the name is not a valid item name</li> + <li>if the template is not a valid item type for the containing set</li> + <li>if the attributes are not valid for the node</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::NodeAttribute + */ + void addOrReplaceNodeFromTemplate( [in] string aName, + [in] short aAttributes, + [in] TemplateIdentifier aTemplate ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a node modification is complete. + + <p> Must match the last open call to + XUpdateHandler::modifyNode(), + XUpdateHandler::addOrReplaceNode() or + XUpdateHandler::addOrReplaceNodeFromTemplate(). + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if invalid data is detected in the node</li> + <li>if no node is started at all</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void endNode( ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that an item is to be dropped from a set. + + <p> The current node must be a set and + the item must be removable. + </p> + + @param aName + specifies the name of the node. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a set node in progress currently</li> + <li>if there already was a change to a node of that name</li> + <li>if there is no item with that name</li> + <li>if the item is not removable</li> + <li>if the name is not a valid node name</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void removeNode( [in] string aName ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that modification of an existing property is + started. + + <p> Subsequent calls describe changes to the value(s) + of the property until a matching call to + XUpdateHandler::endProperty() is encountered. + </p> + + @param aName + specifies the name of the property. + + @param aAttributes + specifies new attributes of the property. + + <p> The value is a combination of + NodeAttribute flags. + </p> + <p> Only attributes which are selected in aAttributeMask are changed. + </p> + <p> NodeAttribute::MANDATORY need not be set + and can't be removed, as dynamic properties always are mandatory + in subsequent layers. + </p> + + @param aAttributeMask + specifies which attributes should be changed for the property. + + <p> The value is a combination of + NodeAttribute flags. + </p> + + @param aType + specifies the type of the property. + + <p> A `VOID` type can be used to signify that + the type is unknown and should not be recorded. + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a group or extensible node in progress currently</li> + <li>if there already was a change to a property of that name</li> + <li>if there is no property with that name</li> + <li>if the property is read-only</li> + <li>if the name is not a valid property name</li> + <li>if the attributes are not valid for the property</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::NodeAttribute + */ + void modifyProperty( [in] string aName, + [in] short aAttributes, + [in] short aAttributeMask, + [in] type aType ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification about a change to the value of + the current property. + + @param aValue + specifies the new value of the property. + + <p> The value must match the type of the existing property. + If the property does not have the + SchemaAttribute::REQUIRED flag set, + the value can be `VOID`. + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a property modification in progress currently</li> + <li>if there already was a change to this value</li> + <li>if the type of the value is not an allowed type</li> + <li>if the value is not valid for the property</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::NodeAttribute + */ + void setPropertyValue( [in] any aValue ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification about a change to the value of + the current property for a specific locale. + + @param aValue + specifies the new value of the property for the given locale. + + <p> The value must match the type of the existing property. + If the property does not have the + SchemaAttribute::REQUIRED flag set, + the value can be `VOID`. + </p> + + @param aLocale + specifies the locale that the new value applies to. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a property modification in progress currently</li> + <li>if the property is not localizable</li> + <li>if there already was a change to this value</li> + <li>if the type of the value is not an allowed type</li> + <li>if the value is not valid for the property</li> + <li>if the locale is not a valid locale name</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::NodeAttribute + */ + void setPropertyValueForLocale( [in] any aValue, [in] string aLocale ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that the value of the current property + should be reset to its default. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a property modification in progress currently</li> + <li>if there already was a change to this value</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::NodeAttribute + */ + void resetPropertyValue( ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that the value of the current property + for a specific locale should be reset to its default. + + @param aLocale + specifies the locale the change applies to. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a property modification in progress currently</li> + <li>if the property is not localizable</li> + <li>if there already was a change to this value</li> + <li>if the locale is not a valid locale name</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::NodeAttribute + */ + void resetPropertyValueForLocale( [in] string aLocale ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a property modification is complete. + + <p> Must match the last open call to + XUpdateHandler::modifyProperty(). + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if invalid data is detected in the property</li> + <li>if no property is started at all</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void endProperty( ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a property is reset to its default state. + + @param aName + specifies the name of the property. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a group or extensible node in progress currently</li> + <li>if there already was a change to a property of that name</li> + <li>if there is no property with that name, or if the property + has no default</li> + <li>if the property is read-only</li> + <li>if the name is not a valid property name</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::NodeAttribute + */ + void resetProperty( [in] string aName ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a property having a value of `VOID` + is added to the current node. + + <p> The current node must be extensible and + a preexisting property (if any) must be + removable in this layer. + </p> + + @param aName + specifies the name of the new property. + + @param aAttributes + specifies the attributes of the new property. + + <p> The value is a combination of + NodeAttribute flags and may also contain the + SchemaAttribute::REQUIRED flag. + </p> + </p> + <p> NodeAttribute::MANDATORY need not be set, + as dynamic properties always are mandatory + in subsequent layers. + </p> + + @param aType + specifies the type of the new property. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a group or extensible node in progress currently</li> + <li>if there already was a change to a property of that name</li> + <li>if a property of that name exists and is not removable</li> + <li>if the specified type is not allowed</li> + <li>if the name is not a valid property name</li> + <li>if the attributes are not valid for the property</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::SchemaAttribute + */ + void addOrReplaceProperty( [in] string aName, + [in] short aAttributes, + [in] type aType ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a property having a non-`NULL` value + is added to the current node. + + <p> The current node must be extensible and + a preexisting property (if any) must be + removable in this layer. + </p> + + @param aName + specifies the name of the new property. + + @param aAttributes + specifies the attributes of the new property. + + <p> The value is a combination of + NodeAttribute flags and may also contain the + SchemaAttribute::REQUIRED flag. + </p> + </p> + <p> NodeAttribute::MANDATORY need not be set, + as dynamic properties always are mandatory + in subsequent layers. + </p> + + @param aValue + specifies the value of the new property. + + <p> The value also determines the type. + Therefore the value must not be `VOID`. + </p> + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a group or extensible node in progress currently</li> + <li>if there already was a change to a property of that name</li> + <li>if a property of that name exists and is not removable</li> + <li>if the type of the value is not an allowed type, + or if the value is `VOID`</li> + <li>if the name is not a valid property name</li> + <li>if the attributes are not valid for the property</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + + @see com::sun::star::configuration::backend::SchemaAttribute + */ + void addOrReplacePropertyWithValue( [in] string aName, + [in] short aAttributes, + [in] any aValue ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + + /** receives notification that a property is dropped from the current node. + + <p>The current node must be extensible and the property removable.</p> + + @param aName + specifies the name of the property. + + @throws com::sun::star::configuration::backend::MalformedDataException + <ul> + <li>if there isn't a group or extensible node in progress currently</li> + <li>if there is no property with that name</li> + <li>if the property is not removable</li> + <li>if the name is not a valid node name</li> + </ul> + <p><em>Not every implementation can detect each condition</em></p> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs processing the event. + */ + void removeProperty( [in] string aName ) + raises( MalformedDataException, + com::sun::star::lang::WrappedTargetException ); + +}; + + +}; }; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/XVersionedSchemaSupplier.idl b/offapi/com/sun/star/configuration/backend/XVersionedSchemaSupplier.idl new file mode 100644 index 000000000..9d8e83167 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/XVersionedSchemaSupplier.idl @@ -0,0 +1,78 @@ +/* -*- 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_backend_XVersionedSchemaSupplier_idl__ +#define __com_sun_star_configuration_backend_XVersionedSchemaSupplier_idl__ + +#include <com/sun/star/configuration/backend/XSchemaSupplier.idl> +#include <com/sun/star/configuration/backend/BackendAccessException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + + +module com { module sun { module star { module configuration { module backend { + + +/** + provides access to versioned configuration component schemas. + + @since OOo 2.0 +*/ +interface XVersionedSchemaSupplier : XSchemaSupplier +{ + + /** + Returns the schema version for a particular component. + + @param aComponent + component whose schema version will be determined + + @returns + a `string` that identifies the schema version for + the given component. + + <p> The format of the version string is arbitrary. No meaning + should be attached to it, unless an implementing service + defines one. If no version can be determined, an empty + `string` may be returned. + </p> + + <p> Clients may assume that all instances of a schema with the + same version are identical. The converse is not true. + In particular an implementation may return the same version + string for all schemas it supplies (i.e. return a version for + the complete schema, including all components) + </p> + + @throws com::sun::star::lang::IllegalArgumentException + if the component identifier is invalid. + + @throws com::sun::star::configuration::backend::BackendAccessException + if an error occurs while accessing the version data. + */ + string getSchemaVersion([in] string aComponent) + raises (BackendAccessException, + com::sun::star::lang::IllegalArgumentException) ; + +} ; + + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/xml/LayerParser.idl b/offapi/com/sun/star/configuration/backend/xml/LayerParser.idl new file mode 100644 index 000000000..53a90edcd --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/xml/LayerParser.idl @@ -0,0 +1,77 @@ +/* -*- 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_backend_xml_LayerParser_idl__ +#define __com_sun_star_configuration_backend_xml_LayerParser_idl__ + +#include <com/sun/star/configuration/backend/XLayer.idl> +#include <com/sun/star/io/XActiveDataSink.idl> +#include <com/sun/star/lang/XInitialization.idl> + + +module com { module sun { module star { module configuration { module backend { +module xml { + + +/** + represents a configuration data layer that is stored in a stream in + OOR Update XML format. + + <p> The configuration layer XML from a given stream is parsed and fed to a + com::sun::star::configuration::backend::XLayerHandler. + </p> + + @see com::sun::star::configuration::backend::xml::SchemaParser + Service that represents a configuration schema stored in XML. + + @see com::sun::star::configuration::backend::xml::LayerWriter + Service that writes OOR Update XML for data described via + com::sun::star::configuration::backend::XLayerHandler. + + @since OOo 1.1.2 +*/ +published service LayerParser +{ + + /** provides access to the parsed layer data. + */ + interface com::sun::star::configuration::backend::XLayer ; + + + /** provides access to the source XML stream. + */ + interface com::sun::star::io::XActiveDataSink ; + + + /** allows initializing the source stream. + + <p> The source can be passed + as a com::sun::star::io::XInputStream or + as a com::sun::star::xml::sax::InputSource. + </p> + */ + interface com::sun::star::lang::XInitialization ; + +} ; + +} ; +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/xml/LayerWriter.idl b/offapi/com/sun/star/configuration/backend/xml/LayerWriter.idl new file mode 100644 index 000000000..6e3a30c08 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/xml/LayerWriter.idl @@ -0,0 +1,72 @@ +/* -*- 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_backend_xml_LayerWriter_idl__ +#define __com_sun_star_configuration_backend_xml_LayerWriter_idl__ + +#include <com/sun/star/lang/XInitialization.idl> +#include <com/sun/star/io/XActiveDataSource.idl> +#include <com/sun/star/configuration/backend/XLayerHandler.idl> + + +module com { module sun { module star { module configuration { module backend { +module xml { + + +/** + can be used to parse a stream of configuration layer XML. + + <p> The configuration layer data described to a + com::sun::star::configuration::backend::XLayerHandler + is written to a stream as OOR Update XML. + </p> + + @see com::sun::star::configuration::backend::xml::LayerParser + Service that parses configuration layer XML. + + @since OOo 1.1.2 +*/ +published service LayerWriter +{ + + /** accepts events describing the layer data. + */ + interface com::sun::star::configuration::backend::XLayerHandler ; + + + /** provides access to the target stream. + */ + interface com::sun::star::io::XActiveDataSource ; + + + /** allows initializing target stream. + + <p> The target can be passed + as a com::sun::star::io::XOutputStream. + </p> + */ + interface com::sun::star::lang::XInitialization ; + +} ; + +} ; +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/configuration/backend/xml/SchemaParser.idl b/offapi/com/sun/star/configuration/backend/xml/SchemaParser.idl new file mode 100644 index 000000000..e8f600425 --- /dev/null +++ b/offapi/com/sun/star/configuration/backend/xml/SchemaParser.idl @@ -0,0 +1,72 @@ +/* -*- 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_backend_xml_SchemaParser_idl__ +#define __com_sun_star_configuration_backend_xml_SchemaParser_idl__ + +#include <com/sun/star/configuration/backend/XSchema.idl> +#include <com/sun/star/io/XActiveDataSink.idl> +#include <com/sun/star/lang/XInitialization.idl> + + +module com { module sun { module star { module configuration { module backend { +module xml { + + +/** represents a configuration schema that is stored in a stream in + OOR Schema XML format. + + <p> The configuration schema XML from a given stream is parsed and fed to a + com::sun::star::configuration::backend::XSchemaHandler. + </p> + + @see com::sun::star::configuration::backend::xml::LayerParser + Service that parses configuration layer XML. + + @since OOo 1.1.2 +*/ +published service SchemaParser +{ + + /** provides access to the parsed schema data. + */ + interface com::sun::star::configuration::backend::XSchema ; + + + /** provides access to the source XML stream. + */ + interface com::sun::star::io::XActiveDataSink ; + + + /** allows initializing the source stream. + + <p> The source can be passed + as a com::sun::star::io::XInputStream or + as a com::sun::star::xml::sax::InputSource. + </p> + */ + interface com::sun::star::lang::XInitialization ; + +} ; + +} ; +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |