/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* Licensed to the Apache Software Foundation ( ASF ) under one or more
* contributor license agreements . See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership . The ASF licenses this file to you under the Apache
* License , Version 2 . 0 ( the " License " ) ; you may not use this file
* except in compliance with the License . You may obtain a copy of
* the License at http : //www.apache.org/licenses/LICENSE-2.0 .
*/
module com { module sun { module star { module deployment {
/** Interface to bind a UNO package.
@ since OOo 2 . 0
*/
interface XPackageRegistry
{
/** binds a package URL to a XPackage handle.
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 do that one
creates an XPackage object on behalf of that extension and
calls XPackage : : revokePackage ( ) . The parameter
< code > removed < / code > indicates this case . The returned object may not
rely on the file or folder to which refers < code > url < / code > . Instead it
must use previously saved data to successfully carry out the revocation
of this object ( XPackage : : revokePackage ( ) ) .
The implementation must ensure that there is only one instance of
XPackage for the same < code > url < / code > at any
time . Therefore calling bindPackage ( ) again with the same
< code > url < / code > but different < code > mediaType < / code > ( the exception is ,
if previously an empty string was provided to cause the determination
of the media type ) or < code > removed < / code > parameters will cause an
exception . A com : : sun : : star : : lang : : IllegalArgumentException will be
thrown in case of a different < code > mediaType < / code > parameter and a
InvalidRemovedParameterException 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
com : : sun : : star : : lang : : IllegalArgumentException 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
@ param identifier
the identifier of the extension
@ param xCmdEnv
command environment for error and progress handling
@ return
XPackage handle
*/
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);
/** gets the supported XPackageTypeInfos.
@ return
supported XPackageTypeInfos .
*/
sequence<XPackageTypeInfo> getSupportedPackageTypes();
void packageRemoved(
[in] string url,
[in] string mediaType)
raises (DeploymentException,
com::sun::star::lang::IllegalArgumentException);
};
}; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=93 H=100 G=96
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-10-04)
¤
*© Formatika GbR, Deutschland