diff options
author | Frank Schoenheit [fs] <frank.schoenheit@oracle.com> | 2010-08-10 14:53:21 +0200 |
---|---|---|
committer | Frank Schoenheit [fs] <frank.schoenheit@oracle.com> | 2010-08-10 14:53:21 +0200 |
commit | ff47f09f9e28c9a653f3fbebd25fbda4c79d19bc (patch) | |
tree | e4b9e155ac0b01491049577d6c3c40a08d614209 /offapi/com/sun/star/deployment/XPackageRegistry.idl | |
parent | 736f56fc89292923ddc6844fe10fa85e8f5f1f1c (diff) | |
parent | 8050668b3ac640c3034489984b932192022177c5 (diff) |
merging in latest changes from OOO330(m3)
Diffstat (limited to 'offapi/com/sun/star/deployment/XPackageRegistry.idl')
-rw-r--r-- | offapi/com/sun/star/deployment/XPackageRegistry.idl | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/offapi/com/sun/star/deployment/XPackageRegistry.idl b/offapi/com/sun/star/deployment/XPackageRegistry.idl index 947d838d1..7c542bfad 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> @@ -45,11 +46,53 @@ interface XPackageRegistry The returned UNO package handle ought to late-initialize itself, 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); |