Difference between revisions of "Documentation/DevGuide/Extensions/Location of Installed Extensions"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (FINAL VERSION FOR L10N)
(Adding a more understandable Basic example.)
Line 8: Line 8:
 
{{DISPLAYTITLE:Location of Installed Extensions}}
 
{{DISPLAYTITLE:Location of Installed Extensions}}
 
Sometimes an extension developer needs to know the path to the root of his installed extension e.g. to load some additional data. You can use the singleton <tt>PackageInformationProvider</tt> to get an URL for an installed extension with a given Extension Identifier. For more information about Extension Identifiers see [[Documentation/DevGuide/Extensions/Extension Identifiers|Extension Identifiers]]. For more information see <idl>com.sun.star.deployment.PackageInformationProvider</idl> and have a look at <idl>com.sun.star.deployment.XPackageInformationProvider</idl>.
 
Sometimes an extension developer needs to know the path to the root of his installed extension e.g. to load some additional data. You can use the singleton <tt>PackageInformationProvider</tt> to get an URL for an installed extension with a given Extension Identifier. For more information about Extension Identifiers see [[Documentation/DevGuide/Extensions/Extension Identifiers|Extension Identifiers]]. For more information see <idl>com.sun.star.deployment.PackageInformationProvider</idl> and have a look at <idl>com.sun.star.deployment.XPackageInformationProvider</idl>.
 +
 +
Here is a C++ example:
 
  <source lang="cpp">
 
  <source lang="cpp">
 
   ...
 
   ...
Line 21: Line 23:
 
   ...
 
   ...
 
  </source>
 
  </source>
 +
 +
A directly usable example in Basic:
 +
 +
<source lang="oobas">
 +
Dim pip As Object, extensionLocation As String
 +
Const extensionIdentifier = "org.toto.test3"
 +
 +
pip = GetDefaultContext.getByName("/singletons/com.sun.star.deployment.PackageInformationProvider")
 +
extensionLocation = pip.getPackageLocation(extensionIdentifier)
 +
' display a human readable address
 +
MsgBox(ConvertFromURL(extensionLocation))
 +
</source>
 +
 +
Note that the folder name is like : <tt>/extensionName.oxt</tt>
 +
 +
This is a folder, not the extension package itself!
 +
 
{{PDL1}}
 
{{PDL1}}
  
 
[[Category:Documentation/Developer's Guide/Extensions]]
 
[[Category:Documentation/Developer's Guide/Extensions]]

Revision as of 14:43, 13 September 2009



Sometimes an extension developer needs to know the path to the root of his installed extension e.g. to load some additional data. You can use the singleton PackageInformationProvider to get an URL for an installed extension with a given Extension Identifier. For more information about Extension Identifiers see Extension Identifiers. For more information see com.sun.star.deployment.PackageInformationProvider and have a look at com.sun.star.deployment.XPackageInformationProvider.

Here is a C++ example:

  ...
  namespace css = com::sun::star;
  css::uno::Reference< css::uno::XComponentContext > mxContext;
  ...
  css::uno::Reference< css::deployment::XPackageInformationProvider >
  xInfoProvider( css::deployment::PackageInformationProvider::get( mxContext ) );
 
  // "MY_PACKAGE_ID" is the identifier of the package whose location we want
  rtl::OUString sLocation = xInfoProvider->getPackageLocation( 
  rtl::OUString::createFromAscii( "MY_PACKAGE_ID" ) );
  ...

A directly usable example in Basic:

Dim pip As Object, extensionLocation As String
Const extensionIdentifier = "org.toto.test3"
 
pip = GetDefaultContext.getByName("/singletons/com.sun.star.deployment.PackageInformationProvider")
extensionLocation = pip.getPackageLocation(extensionIdentifier)
' display a human readable address
MsgBox(ConvertFromURL(extensionLocation))

Note that the folder name is like : /extensionName.oxt

This is a folder, not the extension package itself!

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages