summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star
diff options
context:
space:
mode:
authorobo <obo@openoffice.org>2010-06-22 10:06:58 +0200
committerobo <obo@openoffice.org>2010-06-22 10:06:58 +0200
commit3d4c4439aa344a61d3d448b188261545fcc28e65 (patch)
treec903bc28909c28380fb3607ca4c16fecd76d2574 /offapi/com/sun/star
parent3538711e3ce32f5f3160da36a755822ab3f877f5 (diff)
parent4b1df3631f52b534d147a9f768bab7c09cf948eb (diff)
CWS-TOOLING: integrate CWS jl152
Diffstat (limited to 'offapi/com/sun/star')
-rw-r--r--offapi/com/sun/star/deployment/ExtensionManager.idl (renamed from offapi/com/sun/star/deployment/LicenseIndividualAgreementException.idl)36
-rw-r--r--offapi/com/sun/star/deployment/ExtensionRemovedException.idl53
-rw-r--r--offapi/com/sun/star/deployment/InstallException.idl5
-rw-r--r--offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl65
-rw-r--r--offapi/com/sun/star/deployment/LicenseException.idl11
-rw-r--r--offapi/com/sun/star/deployment/Prerequisites.idl48
-rw-r--r--offapi/com/sun/star/deployment/VersionException.idl10
-rw-r--r--offapi/com/sun/star/deployment/XExtensionManager.idl342
-rw-r--r--offapi/com/sun/star/deployment/XPackage.idl93
-rw-r--r--offapi/com/sun/star/deployment/XPackageManager.idl107
-rw-r--r--offapi/com/sun/star/deployment/XPackageManagerFactory.idl2
-rw-r--r--offapi/com/sun/star/deployment/XPackageRegistry.idl46
-rw-r--r--offapi/com/sun/star/deployment/XPackageTypeInfo.idl8
-rw-r--r--offapi/com/sun/star/deployment/makefile.mk42
-rw-r--r--offapi/com/sun/star/deployment/thePackageManagerFactory.idl2
-rw-r--r--offapi/com/sun/star/deployment/ui/LicenseDialog.idl4
-rw-r--r--offapi/com/sun/star/script/XLibraryContainer3.idl69
-rw-r--r--offapi/com/sun/star/script/makefile.mk1
-rw-r--r--offapi/com/sun/star/task/OfficeRestartManager.idl53
-rw-r--r--offapi/com/sun/star/task/XRestartManager.idl99
-rwxr-xr-xoffapi/com/sun/star/task/makefile.mk2
21 files changed, 1010 insertions, 88 deletions
diff --git a/offapi/com/sun/star/deployment/LicenseIndividualAgreementException.idl b/offapi/com/sun/star/deployment/ExtensionManager.idl
index 4239d14f075f..1911ce04dd81 100644
--- a/offapi/com/sun/star/deployment/LicenseIndividualAgreementException.idl
+++ b/offapi/com/sun/star/deployment/ExtensionManager.idl
@@ -25,34 +25,24 @@
*
************************************************************************/
-#if ! defined INCLUDED_com_sun_star_deployment_LicenseIndividualAgreementException_idl
-#define INCLUDED_com_sun_star_deployment_LicenseIndividualAgreementException_idl
+#if ! defined INCLUDED_com_sun_star_deployment_ExtensionManagerFactory_idl
+#define INCLUDED_com_sun_star_deployment_ExtensionManagerFactory_idl
-#include <com/sun/star/uno/Exception.idl>
+#include <com/sun/star/deployment/XExtensionManager.idl>
module com { module sun { module star { module deployment {
-/** The exception signals that an extension is about to be installed for more than
- one user, allthough every user needs to agree to the license.
-
- @since OOo 2.0.6
- */
-exception LicenseIndividualAgreementException : com::sun::star::uno::Exception
-{
- /** name of the extension.
-
- Contains the file name only.
- */
- string ExtensionName;
- /** indicates if the user can prevent to show the license
-
- Represents the attribute value
- /description/registration/simple-license/@suppress-if-required
- from the description.xml
- */
- boolean SuppressIfRequired;
-};
+/** the ExtensionManager service.
+
+ The component context entry is
+ <code>
+ /singletons/com.sun.star.deployment.ExtensionManager
+ </code>.
+
+ @since OOo 3.3.0
+*/
+singleton ExtensionManager : XExtensionManager;
}; }; }; };
diff --git a/offapi/com/sun/star/deployment/ExtensionRemovedException.idl b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl
new file mode 100644
index 000000000000..bb3116c9f554
--- /dev/null
+++ b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: VersionException.idl,v $
+ * $Revision: 1.3 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_COM_SUN_STAR_DEPLOYMENT_EXTENSIONREMOVEDEXCEPTION_IDL
+#define INCLUDED_COM_SUN_STAR_DEPLOYMENT_EXTENSIONREMOVEDEXCEPTION_IDL
+
+#include "com/sun/star/uno/Exception.idl"
+
+module com { module sun { module star { module deployment {
+
+interface XPackage;
+
+/**
+ indicates that a function call with the given arguments is not supported
+ because the extension was removed. <member>XPackage::isRemoved</member> will
+ return true on that object.
+
+ @since OOo 3.3.0
+*/
+exception ExtensionRemovedException: com::sun::star::uno::Exception {
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/deployment/InstallException.idl b/offapi/com/sun/star/deployment/InstallException.idl
index 6c16e058b38d..3186ecedbdfc 100644
--- a/offapi/com/sun/star/deployment/InstallException.idl
+++ b/offapi/com/sun/star/deployment/InstallException.idl
@@ -44,11 +44,10 @@ interface XPackage;
*/
exception InstallException: com::sun::star::uno::Exception {
/**
- represents the new deployment unit.
+ the display name of the extension, which is to be installed.
- <p>Must not be <NULL/>.</p>
*/
- XPackage New;
+ string displayName;
};
diff --git a/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl
new file mode 100644
index 000000000000..3a2cb5e330cc
--- /dev/null
+++ b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: VersionException.idl,v $
+ * $Revision: 1.3 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef INCLUDED_COM_SUN_STAR_DEPLOYMENT_INVALIDREMOVEDPARAMETEREXCEPTION_IDL
+#define INCLUDED_COM_SUN_STAR_DEPLOYMENT_INVALIDREMOVEDPARAMETEREXCEPTION_IDL
+
+#include "com/sun/star/uno/Exception.idl"
+
+module com { module sun { module star { module deployment {
+
+interface XPackage;
+
+/**
+ indicates that <member>XPackageRegistry::bindPackage</member> was previously
+ called with a different value for the <code>removed</code> parameter and that
+ the <type>XPackage</type> object created by that call still exist.
+
+ @since OOo 3.3.0
+*/
+exception InvalidRemovedParameterException: com::sun::star::uno::Exception {
+ /** the value of the <code>removed</code> parameter which was used in
+ <member>XPackageRegistry::bindPackage</member> to create the currently
+ existing <type>XPackage</type> object.
+ */
+ boolean PreviousValue;
+ /**
+ the <type>XPackage</type> that was already bound to the provided
+ <code>url</code> paramter during
+ <member>XPackageRegistry::bindPackage</member>.
+
+ <p>Must not be <NULL/>.</p>
+ */
+ XPackage Extension;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/deployment/LicenseException.idl b/offapi/com/sun/star/deployment/LicenseException.idl
index 4d3996da191b..a80a5e463dd6 100644
--- a/offapi/com/sun/star/deployment/LicenseException.idl
+++ b/offapi/com/sun/star/deployment/LicenseException.idl
@@ -41,20 +41,19 @@ exception LicenseException : com::sun::star::uno::Exception
{
/** name of the extension.
- Contains the file name only.
+ The display name of the extension.
+ See <member>XPackage::getDisplayName</member>
*/
string ExtensionName;
/** contains the text of the license.
*/
string Text;
- /** indicates if the user can prevent to show the license
-
- Represents the attribute value
- /description/registration/simple-license/@suppress-if-required
+ /** contains the value of the attribute
+ /description/registration/simple-license/@accept-by
from the description.xml
*/
- boolean SuppressIfRequired;
+ string AcceptBy;
};
}; }; }; };
diff --git a/offapi/com/sun/star/deployment/Prerequisites.idl b/offapi/com/sun/star/deployment/Prerequisites.idl
new file mode 100644
index 000000000000..52987ad9bd77
--- /dev/null
+++ b/offapi/com/sun/star/deployment/Prerequisites.idl
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: KeyUsage.idl,v $
+ * $Revision: 1.4 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_deployment_prerequisites_idl_
+#define __com_sun_star_deployment_prerequisites_idl_
+
+module com { module sun { module star { module deployment {
+
+constants Prerequisites
+{
+ const long PLATFORM = 0x1;
+ const long DEPENDENCIES = 0x2;
+ const long LICENSE = 0x04;
+};
+
+
+} ; } ; } ; } ;
+
+
+#endif
+
diff --git a/offapi/com/sun/star/deployment/VersionException.idl b/offapi/com/sun/star/deployment/VersionException.idl
index 74683adab7a0..2d69c918c3a2 100644
--- a/offapi/com/sun/star/deployment/VersionException.idl
+++ b/offapi/com/sun/star/deployment/VersionException.idl
@@ -44,11 +44,13 @@ interface XPackage;
*/
exception VersionException: com::sun::star::uno::Exception {
/**
- represents the new version of the deployment unit.
-
- <p>Must not be <NULL/>.</p>
+ the version of the extension which is being installed.
+ */
+ string NewVersion;
+ /**
+ the display name of the extension which is being installed.
*/
- XPackage New;
+ string NewDisplayName;
/**
represents the already installed version of the deployment unit.
diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl
new file mode 100644
index 000000000000..b807df54af65
--- /dev/null
+++ b/offapi/com/sun/star/deployment/XExtensionManager.idl
@@ -0,0 +1,342 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#if ! defined INCLUDED_com_sun_star_deployment_XExtensionManager_idl
+#define INCLUDED_com_sun_star_deployment_XExtensionManager_idl
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/task/XAbortChannel.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#include <com/sun/star/deployment/XPackage.idl>
+#include <com/sun/star/deployment/XPackageTypeInfo.idl>
+#include <com/sun/star/ucb/XCommandEnvironment.idl>
+#include <com/sun/star/deployment/DeploymentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+
+module com { module sun { module star { module deployment {
+
+/** The <type>XExtensionManager</type> interface is used to manage extensions
+ in the user, shared and bundled repository.
+
+ @see ExtensionManager
+ @since OOo 3.3.0
+*/
+interface XExtensionManager
+{
+ /** interface to notify disposing
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** interface to notify changes of the set of deployed packages of
+ this manager
+ */
+ interface com::sun::star::util::XModifyBroadcaster;
+
+
+ /** gets the supported <type>XPackageTypeInfo</type>s.
+
+ @return
+ supported <type>XPackageTypeInfo</type>s.
+ */
+ sequence<XPackageTypeInfo> getSupportedPackageTypes();
+
+ /** creates a command channel to be used to asynchronously abort a command.
+
+ @return
+ abort channel
+ */
+ com::sun::star::task::XAbortChannel createAbortChannel();
+
+ /** adds an extension.
+
+ The properties argument is currently only used to suppress the license information
+ for shared extensions.
+
+ @param url
+ package URL, must be UCB conform
+ @param properties
+ additional properties, for example, that the license is to be
+ suppressed (if supported by the extension)
+ @param repository
+ the name of the repository
+ @param xAbortChannel
+ abort channel to asynchronously abort the adding process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ object representing the extension.
+ */
+ XPackage addExtension( [in] string url,
+ [in] sequence<com::sun::star::beans::NamedValue> properties,
+ [in] string repository,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** removes an extension.
+
+ @param identifier
+ package identifier
+ @param fileName
+ package file name
+ @param repository
+ the name of the repository
+ @param xAbortChannel
+ abort channel to asynchronously abort the removing process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void removeExtension(
+ [in] string identifier,
+ [in] string fileName,
+ [in] string repository,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** enable an extension.
+
+ If the extension is not from the user repository then an
+ IllegalArgumentException is thrown.
+
+ @param extension
+ the extension which is to be enabled.
+ @param xAbortChannel
+ abort channel to asynchronously abort the removing process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void enableExtension(
+ [in] XPackage extension,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** disable an extension.
+
+ If the extension is not from the user repository then an
+ IllegalArgumentException is thrown.
+
+ @param extension
+ the extension which is to be disabled
+ @param xAbortChannel
+ abort channel to asynchronously abort the removing process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void disableExtension(
+ [in] XPackage extension,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** gets all currently installed extensions, including disabled
+ user extensions.
+
+ @param repository
+ the repository from which the extensions are returned
+ @param xAbortChannel
+ abort channel to asynchronously abort the removing process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ all currently installed packages
+ */
+ sequence<XPackage> getDeployedExtensions(
+ [in] string repository,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** gets an installed extensions.
+
+ @param repositroy
+ the name of the repository
+ @param identifier
+ extension identifier
+ @param fileName
+ extension file name
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ <type>XPackage</type> object
+ */
+ XPackage getDeployedExtension(
+ [in] string repository,
+ [in] string identifier,
+ [in] string fileName,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** gets all extensions with the same identifer from all repositories.
+
+ The extension at the first position in the returned sequence represents
+ the extension from the user repository. The next element is from the shared
+ and the last one is from the bundled repository.
+ If one repository does not contain this extension, then the respective
+ element is a null reference.
+ */
+ sequence<XPackage> getExtensionsWithSameIdentifier(
+ [in] string identifier,
+ [in] string fileName,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** returns a sequence containing all installed extensions.
+
+ The members of the returned sequence correspond to an extension with a
+ particular extension identifer. The members are also sequences which
+ contain as many elements as there are repositories. Those are ordered
+ according to the priority of the repository. That is, the first member
+ is the extension from the user repository, the second is from the shared
+ repository and the last is from the bundled repository.
+ */
+ sequence<sequence<XPackage> > getAllExtensions(
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Expert feature: erases the underlying registry cache and reinstalls
+ all previously added extensions. Please keep in mind that all
+ registration status get lost.
+ <p>
+ Please use this in case of suspected cache inconsistencies only.
+ </p>
+ @param repositroy
+ the name of the repository
+ @param xAbortChannel
+ abort channel to asynchronously abort the adding process
+ @param xCmdEnv
+ command environment for error and progress handling
+ */
+ void reinstallDeployedExtensions(
+ [in] string repository,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** synchronizes the extension database with the contents of the extensions
+ folder of shared and bundled extensinos.
+
+ Added extensions will be added to the database and removed extensions
+ will be removed from the database.
+
+ @return
+ If true - then at least one extension was removed or added. Otherwise
+ nothing was chaned.
+ */
+ boolean synchronize(
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+
+ /** returns all extensions which are currently not in use
+ because the user did not accept the license.
+
+ The function will not return any object for the user repository, because
+ a user extension will not be kept in the user repository if its license
+ is declined. Only extensions which are registered at start-up of OOo,
+ that is, shared and bundled extensions, can be returned.
+
+ Extensions which allow the license to be suppressed, that is, it does not
+ need to be displayed, and which are installed with the corresponding option,
+ are also not returned.
+
+ Extensions returned by this functions are not returned by
+ <member>XExtensionManger::getDeployedExtension</member>
+ <member>XExtensionManger::getDeployedExtensions</member>
+ <member>XExtensionManger::getAllExtensions</member>
+ <member>XExtensionManger::getExtensionsWithSameIdentifier</member>
+ */
+ sequence<XPackage> getExtensionsWithUnacceptedLicenses(
+ [in] string repository,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** check if all prerequisites for the extension are fulfilled
+ and activates it, if possible.
+ */
+ long checkPrerequisitesAndEnable(
+ [in] XPackage extension,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
+ /** determines if the current user has write access to the extensions folder
+ of the repository.
+ */
+ boolean isReadOnlyRepository([in] string repository);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/deployment/XPackage.idl b/offapi/com/sun/star/deployment/XPackage.idl
index f54ec347e368..9709b579bc2e 100644
--- a/offapi/com/sun/star/deployment/XPackage.idl
+++ b/offapi/com/sun/star/deployment/XPackage.idl
@@ -33,6 +33,7 @@
#include <com/sun/star/beans/StringPair.idl>
#include <com/sun/star/deployment/DeploymentException.idl>
#include <com/sun/star/deployment/XPackageTypeInfo.idl>
+#include <com/sun/star/deployment/ExtensionRemovedException.idl>
#include <com/sun/star/graphic/XGraphic.idl>
#include <com/sun/star/lang/XComponent.idl>
#include <com/sun/star/lang/IllegalArgumentException.idl>
@@ -72,30 +73,25 @@ interface XPackage
Only if the return value is true the package is allowed to be installed.
In case of false or in case of an exception, the package must be removed
- in completely.
+ completely.
After return of this function no code from the extension may be used
anymore, so that the extension can be safely removed from the harddisk.
@param xCmdEnv
command environment for error handling and other interaction.
- @installed
- signalls if an extension with the same identifyer is already installed.
-
- @aContextName
- the name of the context of XPackageManager implementation that is to be used
- to install the extension. Currently we use the names "user"
- and "shared".
+ @alreadyInstalled
+ indicates that an extension with the same identifyer is already installed.
@return
- true - the package can be installed
- false - the package must not be installed.
+ null - all prerequisites are met. Otherwise, a value from
+ <member>Prerequisites</member> indicating what prerequisites are missing.
*/
- boolean checkPrerequisites(
+ long checkPrerequisites(
[in] com::sun::star::task::XAbortChannel xAbortChannel,
[in] com::sun::star::ucb::XCommandEnvironment xCmdEnv,
- [in] boolean installed,
- [in] string aContextName)
+ [in] boolean alreadyInstalled)
raises (DeploymentException,
+ ExtensionRemovedException,
com::sun::star::ucb::CommandFailedException,
com::sun::star::ucb::CommandAbortedException);
@@ -116,6 +112,7 @@ interface XPackage
boolean checkDependencies(
[in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
raises (DeploymentException,
+ ExtensionRemovedException,
com::sun::star::ucb::CommandFailedException);
@@ -140,8 +137,14 @@ interface XPackage
com::sun::star::ucb::CommandFailedException,
com::sun::star::ucb::CommandAbortedException);
- /** registers this <type>XPackage</type>, thus activating the package.
+ /** registers this <type>XPackage</type>.
+
+ NEVER call this directly. This is done by the extension manager if necessary.
+ @param startup
+ indicates that registration is adapted to the particular
+ startup scenario. That is, it is set to true, when called
+ from <member>XExtensionManager::synchronize</member>
@param xAbortChannel
abort channel to asynchronously abort the registration process,
or null
@@ -149,15 +152,19 @@ interface XPackage
command environment for error and progress handling
*/
void registerPackage(
+ [in] boolean startup,
[in] com::sun::star::task::XAbortChannel xAbortChannel,
[in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
raises (DeploymentException,
+ ExtensionRemovedException,
com::sun::star::ucb::CommandFailedException,
com::sun::star::ucb::CommandAbortedException,
com::sun::star::lang::IllegalArgumentException);
/** revokes this <type>XPackage</type>.
+ NEVER call this directly. This is done by the extension manager if necessary.
+
@param xAbortChannel
abort channel to asynchronously abort the registration process,
or null
@@ -182,6 +189,9 @@ interface XPackage
/** Gets packages of the bundle.
+ If <member>isRemoved</member> returns true then getBundle may return an
+ empty sequence in case the object is not registered.
+
@param xAbortChannel
abort channel to asynchronously abort the registration process,
or null
@@ -225,7 +235,8 @@ interface XPackage
@return
the textual version representation
*/
- string getVersion();
+ string getVersion()
+ raises (ExtensionRemovedException);
/** returns the location of the package.
@@ -240,14 +251,16 @@ interface XPackage
@return
display name of the package
*/
- string getDisplayName();
+ string getDisplayName()
+ raises (ExtensionRemovedException);
/** returns a description string to describe the package.
@return
description
*/
- string getDescription();
+ string getDescription()
+ raises (ExtensionRemovedException);
/** returns a sequence of update information URLs.
@@ -258,8 +271,8 @@ interface XPackage
@return
update information URLs
*/
- sequence<string> getUpdateInformationURLs();
-
+ sequence<string> getUpdateInformationURLs()
+ raises (ExtensionRemovedException);
/** returns the publisher info for a package, the strings
might be empty, if there are no publisher
@@ -269,8 +282,8 @@ interface XPackage
represents the URL to the publisher.
*/
- ::com::sun::star::beans::StringPair getPublisherInfo();
-
+ ::com::sun::star::beans::StringPair getPublisherInfo()
+ raises (ExtensionRemovedException);
/** returns the <type>XPackageTypeInfo</type>, e.g. media-type etc.
@return
@@ -293,8 +306,10 @@ interface XPackage
[in] string newTitle,
[in] long nameClashAction,
[in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
- raises (com::sun::star::ucb::CommandFailedException,
- com::sun::star::ucb::CommandAbortedException);
+ raises (
+ ExtensionRemovedException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException);
/** returns an icon for a package.
@@ -305,7 +320,37 @@ interface XPackage
database application window, or <NULL/> if the default icon
should be used.
*/
- com::sun::star::graphic::XGraphic getIcon( [in] boolean highContrast );
+ com::sun::star::graphic::XGraphic getIcon( [in] boolean highContrast )
+ raises (ExtensionRemovedException);
+
+ /** returns the name of the repository where this object comes from.
+ */
+ string getRepositoryName();
+
+ /** return a URL to a directory which contains the registration data.
+
+ This data may be created when calling
+ <member>XPackage::registerPackage</member>. If this is the case is
+ indicated by <member
+ scope="com::sun::star::beans">Optional::IsPresent</member> of the return
+ value.
+ If registration data are created during registration, but the package is
+ currently not registered, for example after calling
+ <member>XPackage::revokePackage</member>, then <member
+ scope="com::sun::star::beans">Optional::IsPresent</member> is true and
+ the <member scope="com::sun::star::beans">Optional::Value</member> may
+ be an empty string.
+ */
+ com::sun::star::beans::Optional<string> getRegistrationDataURL()
+ raises (ExtensionRemovedException);
+
+ /** indicates if this object represents a removed extension or extension
+ item. This is the case when it was created by providing
+ <code>true</code> for the <code>removed</code> parameter in the function
+ <member>XPackageRegistry::bindPackage</member>.
+ */
+ boolean isRemoved();
+
};
}; }; }; };
diff --git a/offapi/com/sun/star/deployment/XPackageManager.idl b/offapi/com/sun/star/deployment/XPackageManager.idl
index 544cd7758eb0..da329bb9367f 100644
--- a/offapi/com/sun/star/deployment/XPackageManager.idl
+++ b/offapi/com/sun/star/deployment/XPackageManager.idl
@@ -37,21 +37,26 @@
#include <com/sun/star/deployment/DeploymentException.idl>
#include <com/sun/star/container/NoSuchElementException.idl>
#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/NamedValue.idl>
module com { module sun { module star { module deployment {
/** The <type>XPackageManager</type> interface is used to add or remove
- packages to a specific deployment context.
+ packages to a specific repository. This interface represents a particular
+ repository.
Packages are deployable files, e.g. scripts or UNO components.
<p>
Adding an UNO package means that a copy of the package is stored
- with respect to the context of the manager and the package is registered,
- thus activated.
+ in the repository.
</p>
<p>
- Removing an UNO package means that the previously added package is revoked,
- thus deactivated, first and then removed from the context.
+ Removing an UNO package means that the previously added package is
+ removed from the repository.
+ </p>
+ <p>
+ All interface methods do neither register nor revoke an extension.
+ This happens exclusively by <type>XExtensionManager</type>.
</p>
<p>
Objects of this interface are created using the
@@ -63,6 +68,8 @@ module com { module sun { module star { module deployment {
@see thePackageManagerFactory
@since OOo 2.0.0
+ @deprecated
+ Use <type>XExtensionManager</type>.
*/
interface XPackageManager
{
@@ -75,7 +82,8 @@ interface XPackageManager
*/
interface com::sun::star::util::XModifyBroadcaster;
- /** returns the underlying deployment context.
+ /** returns the underlying deployment context, that is,
+ the name of the repository..
@return
underlying deployment context
@@ -98,8 +106,15 @@ interface XPackageManager
/** adds an UNO package.
+ The properties argument is currently only used to suppress the license information
+ for shared extensions.
+
+
@param url
package URL, must be UCB conform
+ @param properties
+ additional properties, for example, that the license is to be
+ suppressed (if supported by the extension)
@param mediaType
media-type of package, empty string if to be detected
@param xAbortChannel
@@ -111,6 +126,7 @@ interface XPackageManager
<type>XPackage</type> handle
*/
XPackage addPackage( [in] string url,
+ [in] sequence<com::sun::star::beans::NamedValue> properties,
[in] string mediaType,
[in] com::sun::star::task::XAbortChannel xAbortChannel,
[in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
@@ -119,6 +135,30 @@ interface XPackageManager
com::sun::star::ucb::CommandAbortedException,
com::sun::star::lang::IllegalArgumentException);
+ /** adds an extension.
+
+ This copies the extension. If it was from the same repository,
+ which is represented by this XPackageManager insterface, then
+ nothing happens.
+
+ @param extension
+
+ @param xAbortChannel
+ abort channel to asynchronously abort the adding process,
+ or null
+ @param xCmdEnv
+ command environment for error and progress handling
+ @return
+ <type>XPackage</type> handle
+ */
+ XPackage importExtension( [in] XPackage extension,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
/** removes an UNO package.
@param identifier
@@ -212,6 +252,61 @@ interface XPackageManager
*/
boolean isReadOnly();
+ /** synchronizes the extension database with the contents of the extensions
+ folder.
+
+ Added extensions will be added to the database and removed extensions
+ will be removed from the database.
+
+ @param xAddedExtension
+ new extensions which may need to be registered.
+
+ @param
+ removed extensions which must be revoked
+ @return
+ If true - then at least one extension was removed or added. Otherwise
+ nothing was chaned.
+ */
+ boolean synchronize([in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException);
+
+
+ /** returns all extensions which are currently not in use
+ because the user did not accept the license.
+
+ The function will not return any object for the user repository, because
+ a user extension will not be kept in the user repository if its license
+ is declined. Only extensions which are registered at start-up of OOo,
+ that is, shared and bundled extensions, can be returned.
+
+ Extensions which allow the license to be suppressed, that is, it does not
+ need to be displayed, and which are installed with the corresponding option,
+ are also not returned.
+ */
+ sequence<XPackage> getExtensionsWithUnacceptedLicenses(
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException);
+
+ /** checks if the extension can be used.
+
+ The extension must be managed by this package manager, that is, it must
+ be recorded in its database. The package manager calls
+ XPackage::checkPrerequisites and updates its data base with the
+ result. The result, which is from <type>Prerequisites</type> will be
+ returned.
+ */
+ long checkPrerequisites(
+ [in] XPackage extension,
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException,
+ com::sun::star::ucb::CommandFailedException,
+ com::sun::star::ucb::CommandAbortedException,
+ com::sun::star::lang::IllegalArgumentException);
+
};
}; }; }; };
diff --git a/offapi/com/sun/star/deployment/XPackageManagerFactory.idl b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl
index e3264bc0babf..4b5b7183ba47 100644
--- a/offapi/com/sun/star/deployment/XPackageManagerFactory.idl
+++ b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl
@@ -45,6 +45,8 @@ module com { module sun { module star { module deployment {
</p>
@since OOo 2.0.0
+ @deprecated
+ Use <type>XExtensionManager</type>.
*/
interface XPackageManagerFactory
{
diff --git a/offapi/com/sun/star/deployment/XPackageRegistry.idl b/offapi/com/sun/star/deployment/XPackageRegistry.idl
index 3cfa6a75236c..c84f37625ec5 100644
--- a/offapi/com/sun/star/deployment/XPackageRegistry.idl
+++ b/offapi/com/sun/star/deployment/XPackageRegistry.idl
@@ -30,6 +30,7 @@
#include <com/sun/star/deployment/XPackage.idl>
#include <com/sun/star/deployment/XPackageTypeInfo.idl>
+#include <com/sun/star/deployment/InvalidRemovedParameterException.idl>
#include <com/sun/star/beans/StringPair.idl>
@@ -46,10 +47,52 @@ interface XPackageRegistry
thus the process of binding must not be an expensive operation, because
it is not abortable.
+ Calling the function several time with the same parameters must result
+ in returning the same object.
+
+ The file or folder at the location where url points to may not exist or
+ it was replaced. This can happen, for example, when a bundled extension
+ was removed by the setup and a user later starts OOo. Then the user data
+ may still contain all registration data of that extension, but the
+ actual extension files do not exist anymore. The registration data must
+ then be cleaned of all the remains of that extension. To to that one
+ creates an <type>XPackage</type> object on behalf of that extension and
+ calls <member>XPackage::revokePakage</member>. The parameter
+ <code>removed</code> indicates this case. The returned object may not
+ rely on the file or folder to which refers <code>url</url>. Instead it
+ must use previously saved data to successfully carry out the revocation
+ of this object (<member>XPackage::revokePackage</member>).
+
+ The implementation must ensure that there is only one instance of
+ <type>XPackage</type> for the same <code>url</code> at any
+ time. Therefore calling <member>bindPackage</member> again with the same
+ <code>url</code> but different <code>mediaType<code> (the exeption is,
+ if previsously an empty string was proveded to cause the determination
+ of the media type) or <code>removed</code> parameters will cause an
+ exception. An <type
+ scope="com::sun::star::lang">IllegalArgumentException</type> will be
+ thrown in case of a different <code>mediaType</code> parameter and a
+ <type>InvalidRemovedParameterException</type> is thrown if the
+ <code>removed</code> parameter is different.
+
+ The <code>identifier</code> parameter must be provided when
+ <code>removed</code> = true. If not, then an <type
+ scope="com::sun::star::lang">IllegalArgumentException</type> will be
+ thrown.
+
@param url
package URL, must be UCB conform
@param mediaType
media type of package, empty string if to be detected
+ @param removed
+
+ @para unfulfilledPrerequisites
+ has a value other null if the extension could not be installed previously
+ because <member>XPackage::checkPrerequisites</member> failed.
+
+ @param identifier
+ the identifier of the extension
+
@param xCmdEnv
command environment for error and progress handling
@return
@@ -58,8 +101,11 @@ interface XPackageRegistry
XPackage bindPackage(
[in] string url,
[in] string mediaType,
+ [in] boolean removed,
+ [in] string identifier,
[in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
raises (DeploymentException,
+ InvalidRemovedParameterException,
com::sun::star::ucb::CommandFailedException,
com::sun::star::lang::IllegalArgumentException);
diff --git a/offapi/com/sun/star/deployment/XPackageTypeInfo.idl b/offapi/com/sun/star/deployment/XPackageTypeInfo.idl
index 2f53d003c315..7252f73d200b 100644
--- a/offapi/com/sun/star/deployment/XPackageTypeInfo.idl
+++ b/offapi/com/sun/star/deployment/XPackageTypeInfo.idl
@@ -29,7 +29,7 @@
#define INCLUDED_com_sun_star_deployment_XPackageTypeInfo_idl
#include <com/sun/star/uno/XInterface.idl>
-
+#include <com/sun/star/deployment/ExtensionRemovedException.idl>
module com { module sun { module star { module deployment {
@@ -52,7 +52,8 @@ interface XPackageTypeInfo
@return
description
*/
- string getDescription();
+ string getDescription()
+ raises (ExtensionRemovedException);
/** returns a short description string to describe a package type
(one line only).
@@ -60,7 +61,8 @@ interface XPackageTypeInfo
@return
description
*/
- string getShortDescription();
+ string getShortDescription()
+ raises (ExtensionRemovedException);
/** returns a file filter string for the file picker user interface.
Both, the short description string and file filter string
diff --git a/offapi/com/sun/star/deployment/makefile.mk b/offapi/com/sun/star/deployment/makefile.mk
index fef835e62f31..1e3a77b89573 100644
--- a/offapi/com/sun/star/deployment/makefile.mk
+++ b/offapi/com/sun/star/deployment/makefile.mk
@@ -35,25 +35,29 @@ PACKAGE = com$/sun$/star$/deployment
.INCLUDE : $(PRJ)$/util$/makefile.pmk
IDLFILES = \
- DeploymentException.idl \
- XPackageTypeInfo.idl \
- XPackage.idl \
- XPackageRegistry.idl \
- PackageRegistryBackend.idl \
- XPackageManager.idl \
- XPackageManagerFactory.idl \
- thePackageManagerFactory.idl \
- DependencyException.idl \
- LicenseException.idl \
- VersionException.idl \
- InstallException.idl \
- UpdateInformationEntry.idl \
- XUpdateInformationProvider.idl \
- UpdateInformationProvider.idl \
- XPackageInformationProvider.idl \
- PackageInformationProvider.idl \
- LicenseIndividualAgreementException.idl \
- PlatformException.idl
+ DeploymentException.idl \
+ XPackageTypeInfo.idl \
+ XPackage.idl \
+ XPackageRegistry.idl \
+ PackageRegistryBackend.idl \
+ XPackageManager.idl \
+ XPackageManagerFactory.idl \
+ XExtensionManager.idl \
+ ExtensionManager.idl \
+ thePackageManagerFactory.idl \
+ DependencyException.idl \
+ LicenseException.idl \
+ VersionException.idl \
+ InstallException.idl \
+ UpdateInformationEntry.idl \
+ XUpdateInformationProvider.idl \
+ UpdateInformationProvider.idl \
+ XPackageInformationProvider.idl \
+ PackageInformationProvider.idl \
+ PlatformException.idl \
+ InvalidRemovedParameterException.idl \
+ ExtensionRemovedException.idl \
+ Prerequisites.idl
.INCLUDE : target.mk
.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/deployment/thePackageManagerFactory.idl b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl
index 612eae1e2513..85e95acea598 100644
--- a/offapi/com/sun/star/deployment/thePackageManagerFactory.idl
+++ b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl
@@ -43,6 +43,8 @@ module com { module sun { module star { module deployment {
</p>
@since OOo 2.0.0
+ @deprecated
+ Use <type>XExtensionManager</type>.
*/
singleton thePackageManagerFactory : XPackageManagerFactory;
diff --git a/offapi/com/sun/star/deployment/ui/LicenseDialog.idl b/offapi/com/sun/star/deployment/ui/LicenseDialog.idl
index 64295b60a476..308b5b5b9814 100644
--- a/offapi/com/sun/star/deployment/ui/LicenseDialog.idl
+++ b/offapi/com/sun/star/deployment/ui/LicenseDialog.idl
@@ -45,10 +45,14 @@ service LicenseDialog : com::sun::star::ui::dialogs::XExecutableDialog
@param xParent
parent window
+
+ @param extensionName
+ the display name of the extension
@param licenseText
text to be displayed
*/
create( [in] com::sun::star::awt::XWindow xParent,
+ [in] string extensionName,
[in] string licenseText );
};
diff --git a/offapi/com/sun/star/script/XLibraryContainer3.idl b/offapi/com/sun/star/script/XLibraryContainer3.idl
new file mode 100644
index 000000000000..cb3f2a5e0f6c
--- /dev/null
+++ b/offapi/com/sun/star/script/XLibraryContainer3.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XLibraryContainer2.idl,v $
+ * $Revision: 1.5 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_script_XLibraryContainer3_idl__
+#define __com_sun_star_script_XLibraryContainer3_idl__
+
+#ifndef __com_sun_star_script_XLibraryContainer2_idl__
+#include <com/sun/star/script/XLibraryContainer2.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module script {
+
+//=============================================================================
+
+/**
+ Extension of <type>XLibraryContainer2</type>.
+ */
+published interface XLibraryContainer3: com::sun::star::script::XLibraryContainer2
+{
+
+ /**
+ returns the location of the library link target.
+
+ The returned URL is literally the same as the one provided in
+ <member>XLibraryContainer::createLibraryLink</member>. Otherwise the behavior
+ is the same as <member>XLibraryContainer2::getLibraryLinkURL</member>
+ */
+ string getOriginalLibraryLinkURL( [in] string Name )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::NoSuchElementException );
+
+
+};
+
+//=============================================================================
+
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/script/makefile.mk b/offapi/com/sun/star/script/makefile.mk
index b694a753f7d7..24d5fcc83af4 100644
--- a/offapi/com/sun/star/script/makefile.mk
+++ b/offapi/com/sun/star/script/makefile.mk
@@ -43,6 +43,7 @@ IDLFILES=\
LibraryNotLoadedException.idl\
XLibraryContainer.idl\
XLibraryContainer2.idl\
+ XLibraryContainer3.idl\
XLibraryContainerPassword.idl\
XLibraryContainerExport.idl\
XPersistentLibraryContainer.idl\
diff --git a/offapi/com/sun/star/task/OfficeRestartManager.idl b/offapi/com/sun/star/task/OfficeRestartManager.idl
new file mode 100644
index 000000000000..9205992d169f
--- /dev/null
+++ b/offapi/com/sun/star/task/OfficeRestartManager.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_task_OfficeRestartManager_idl__
+#define __com_sun_star_task_OfficeRestartManager_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module task {
+
+interface XRestartManager;
+
+//=============================================================================
+
+/** This singleton is intended to allow to restart the office asynchronously.
+
+ @since OOo 3.3
+ */
+singleton OfficeRestartManager : XRestartManager;
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+
+#endif
+
diff --git a/offapi/com/sun/star/task/XRestartManager.idl b/offapi/com/sun/star/task/XRestartManager.idl
new file mode 100644
index 000000000000..102a1044d2e8
--- /dev/null
+++ b/offapi/com/sun/star/task/XRestartManager.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_task_XRestartManager_idl__
+#define __com_sun_star_task_XRestartManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_task_XInteractionHandler_idl__
+#include <com/sun/star/task/XInteractionHandler.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//============================================================================
+
+module com { module sun { module star { module task {
+
+//=============================================================================
+/** allows to try to restart the office.
+
+ @since OOo3.3
+*/
+published interface XRestartManager : com::sun::star::uno::XInterface
+{
+ //------------------------------------------------------------------------
+ /** let the office restart asynchronously
+ @param xInteractionHandler
+ the <type scope="com::sun::star::task">InteractionHandler</type>
+ service implementation, that is used in case a problem is detected
+ during requesting the restart.
+
+ @throws com::sun::star::uno::Exception
+ to notify the caller about possible failures
+ */
+ void requestRestart(
+ [in] com::sun::star::task::XInteractionHandler xInteractionHandler )
+ raises( com::sun::star::uno::Exception );
+
+ //------------------------------------------------------------------------
+ /** allows to get info whether the restart has been requested and provide
+ the initialization status.
+
+ <p>
+ The office has to call this method just before the main loop has been
+ started, with the <TRUE/> as argument, so that the implementation
+ knows that the office is initialized. If the method returns <TRUE/>,
+ the office should restart without starting the main loop.
+ </p>
+
+ @param bInitialized
+ specifies whether the office process is initialized already,
+ if the caller does not have this information, he should provide
+ <FALSE/>.
+
+ @returns
+ <TRUE/> if the office restart has been requested,
+ <FALSE/> otherwise
+
+ @throws com::sun::star::uno::Exception
+ to notify the caller about possible failures
+ */
+ boolean isRestartRequested(
+ [in] boolean bInitialized )
+ raises( com::sun::star::uno::Exception );
+};
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/task/makefile.mk b/offapi/com/sun/star/task/makefile.mk
index 393f89f77155..16b0be56e36c 100755
--- a/offapi/com/sun/star/task/makefile.mk
+++ b/offapi/com/sun/star/task/makefile.mk
@@ -59,6 +59,7 @@ IDLFILES=\
PasswordContainerInteractionHandler.idl\
PasswordRequest.idl\
PasswordRequestMode.idl\
+ OfficeRestartManager.idl\
UnsupportedOverwriteRequest.idl\
UrlRecord.idl\
UserRecord.idl\
@@ -74,6 +75,7 @@ IDLFILES=\
XMasterPasswordHandling.idl\
XMasterPasswordHandling2.idl\
XPasswordContainer.idl\
+ XRestartManager.idl\
XStatusIndicator.idl\
XStatusIndicatorFactory.idl\
XStatusIndicatorSupplier.idl\