LibreOffice LibreOffice 26.2 SDK API Reference

Exported Interfaces | Public Member Functions | List of all members
XPackageManager Interface Reference

The XPackageManager interface is used to add or remove packages to a specific repository. More...

`import"XPackageManager.idl";`

Inheritance diagram for XPackageManager:

## Exported Interfaces
interface | com::sun::star::lang::XComponent
| interface to notify disposing More...
interface | com::sun::star::util::XModifyBroadcaster
| interface to notify changes of the set of deployed packages of this manager More...

## Public Member Functions
string | getContext ()
| returns the underlying deployment context, that is, the name of the repository. More...
sequence< XPackageTypeInfo > | getSupportedPackageTypes ()
| gets the supported XPackageTypeInfos. More...
com::sun::star::task::XAbortChannel | createAbortChannel ()
| creates a command channel to be used to asynchronously abort a command. More...
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) raises (DeploymentException, com::sun::star::ucb::CommandFailedException, com::sun::star::ucb::CommandAbortedException, com::sun::star::lang::IllegalArgumentException)
| adds a UNO package. More...
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)
| adds an extension. More...
void | removePackage ([in] string identifier, [in] string fileName, [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 a UNO package. More...
XPackage | getDeployedPackage ([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 a deployed package. More...
sequence< XPackage > | getDeployedPackages ([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 deployed packages. More...
void | reinstallDeployedPackages ([in] boolean force, [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 packages. More...
boolean | isReadOnly ()
| indicates that this implementation cannot be used for tasks which require write access to the location where the extensions are installed. More...
boolean | synchronize ([in] com::sun::star::task::XAbortChannel xAbortChannel, [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv) raises (DeploymentException, com::sun::star::ucb::ContentCreationException, com::sun::star::ucb::CommandFailedException, com::sun::star::ucb::CommandAbortedException)
| synchronizes the extension database with the contents of the extensions folder. More...
sequence< XPackage > | getExtensionsWithUnacceptedLicenses ([in] com::sun::star::ucb::XCommandEnvironment xCmdEnv) raises (DeploymentException)
| returns all extensions which are currently not in use because the user did not accept the license. More...
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)
| checks if the extension can be used. More...
Public Member Functions inherited from XComponent
void | dispose ()
| The owner of an object calls this method to explicitly free all resources kept by this object and thus break cyclic references. More...
void | addEventListener ([in] XEventListener xListener)
| adds an event listener to the object. More...
void | removeEventListener ([in] XEventListener aListener)
| removes an event listener from the listener list. More...
Public Member Functions inherited from XInterface
any | queryInterface ([in] type aType)
| queries for a new interface to an existing UNO object. More...
void | acquire ()
| increases the reference counter by one. More...
void | release ()
| decreases the reference counter by one. More...
Public Member Functions inherited from XModifyBroadcaster
void | addModifyListener ([in] com::sun::star::util::XModifyListener aListener)
| adds the specified listener to receive events "modified." More...
void | removeModifyListener ([in] com::sun::star::util::XModifyListener aListener)
| removes the specified listener. More...

## Detailed Description

The XPackageManager interface is used to add or remove packages to a specific repository.

This interface represents a particular repository. Packages are deployable files, e.g. scripts or UNO components.

Adding a UNO package means that a copy of the package is stored in the repository.

Removing a UNO package means that the previously added package is removed from the repository.

All interface methods do neither register nor revoke an extension. This happens exclusively by XExtensionManager.

Objects of this interface are created using the XPackageManagerFactory service resp. the singleton `/singletons/com.sun.star.deployment.thePackageManagerFactory` .

See also
  thePackageManagerFactory

Since
  OOo 2.0

Deprecated:
  Use XExtensionManager.

## Exported Interfaces

## ◆ com::sun::star::lang::XComponent

interface com::sun::star::lang::XComponent

interface to notify disposing

## ◆ com::sun::star::util::XModifyBroadcaster

interface com::sun::star::util::XModifyBroadcaster

interface to notify changes of the set of deployed packages of this manager

## Member Function Documentation

## ◆ addPackage()

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
| ) |  |
raises | ( | DeploymentException,
|  | com::sun::star::ucb::CommandFailedException,
|  | com::sun::star::ucb::CommandAbortedException,
|  | com::sun::star::lang::IllegalArgumentException
| ) |  |

adds a UNO package.

The properties argument is currently only used to suppress the license information for shared extensions.

Parameters

  url | package URL, must be UCB conform
  properties | additional properties, for example, that the license is to be suppressed (if supported by the extension)
  mediaType | media-type of package, empty string if to be detected
  xAbortChannel | abort channel to asynchronously abort the adding process, or null
  xCmdEnv | command environment for error and progress handling

Returns
  XPackage handle

## ◆ checkPrerequisites()

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
| ) |  |

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 Prerequisites will be returned.

## ◆ createAbortChannel()

com::sun::star::task::XAbortChannel createAbortChannel | ( |  | ) |

creates a command channel to be used to asynchronously abort a command.

Returns
  abort channel

## ◆ getContext()

string getContext | ( |  | ) |

returns the underlying deployment context, that is, the name of the repository.

Returns
  underlying deployment context

## ◆ getDeployedPackage()

XPackage getDeployedPackage | ( | [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 a deployed package.

Parameters

  identifier | package identifier
  fileName | package file name
  xCmdEnv | command environment for error and progress handling

Returns
  XPackage handle

## ◆ getDeployedPackages()

sequence< XPackage > getDeployedPackages | ( | [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 deployed packages.

Parameters

  xAbortChannel | abort channel to asynchronously abort the removing process, or null
  xCmdEnv | command environment for error and progress handling

Returns
  all currently deployed packages

## ◆ getExtensionsWithUnacceptedLicenses()

sequence< XPackage > getExtensionsWithUnacceptedLicenses | ( | [in] com::sun::star::ucb::XCommandEnvironment | xCmdEnv | ) |
raises | ( | DeploymentException
| ) |  |

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.

## ◆ getSupportedPackageTypes()

sequence< XPackageTypeInfo > getSupportedPackageTypes | ( |  | ) |

gets the supported XPackageTypeInfos.

Returns
  supported XPackageTypeInfos.

## ◆ importExtension()

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
| ) |  |

adds an extension.

This copies the extension. If it was from the same repository, which is represented by this XPackageManager interface, then nothing happens.

Parameters

  extension |
  xAbortChannel | abort channel to asynchronously abort the adding process, or null
  xCmdEnv | command environment for error and progress handling

Returns
  XPackage handle

## ◆ isReadOnly()

boolean isReadOnly | ( |  | ) |

indicates that this implementation cannot be used for tasks which require write access to the location where the extensions are installed.

Normally one would call a method and handle the exception if writing failed. However, a GUI interface may need to know beforehand if writing is allowed. For example, the Extensions dialog needs to enable / disable the Add button depending if the user has write permission. Only the XPackageManager implementation knows the location of the installed extensions. Therefore it is not possible to check "externally" for write permission.

## ◆ reinstallDeployedPackages()

void reinstallDeployedPackages | ( | [in] boolean | force,
|  | [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 packages.

Please keep in mind that all registration status get lost.

Please use this in case of suspected cache inconsistencies only.

Parameters

  force | set to true when called during soffice bootstrap after cleaning old extension cache
  xAbortChannel | abort channel to asynchronously abort the adding process
  xCmdEnv | command environment for error and progress handling

## ◆ removePackage()

void removePackage | ( | [in] string | identifier,
|  | [in] string | fileName,
|  | [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 a UNO package.

Parameters

  identifier | package identifier
  fileName | package file name
  xAbortChannel | abort channel to asynchronously abort the removing process, or null
  xCmdEnv | command environment for error and progress handling

## ◆ synchronize()

boolean synchronize | ( | [in] com::sun::star::task::XAbortChannel | xAbortChannel,
|  | [in] com::sun::star::ucb::XCommandEnvironment | xCmdEnv
| ) |  |
raises | ( | DeploymentException,
|  | com::sun::star::ucb::ContentCreationException,
|  | com::sun::star::ucb::CommandFailedException,
|  | com::sun::star::ucb::CommandAbortedException
| ) |  |

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.

Parameters

  xAbortChannel | abort channel to asynchronously abort the adding process
  xCmdEnv | command environment for error and progress handling

Returns
  If true - then at least one extension was removed or added. Otherwise nothing was changed.

The documentation for this interface was generated from the following file:

- com/sun/star/deployment/XPackageManager.idl