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

From Apache OpenOffice Wiki
Jump to: navigation, search
(Link to Java example)
m
 
(2 intermediate revisions by 2 users not shown)
Line 10: Line 10:
  
 
Here is a C++ example:
 
Here is a C++ example:
  <source lang="cpp">
+
  <syntaxhighlight lang="cpp">
 
   ...
 
   ...
 
   namespace css = com::sun::star;
 
   namespace css = com::sun::star;
Line 22: Line 22:
 
   rtl::OUString::createFromAscii( "MY_PACKAGE_ID" ) );
 
   rtl::OUString::createFromAscii( "MY_PACKAGE_ID" ) );
 
   ...
 
   ...
  </source>
+
  </syntaxhighlight>
  
 
You will find a Java example at page : [[API/Samples/Java/Office/ReadFilesFromOxt|ReadFilesFromOxt]]
 
You will find a Java example at page : [[API/Samples/Java/Office/ReadFilesFromOxt|ReadFilesFromOxt]]
Line 28: Line 28:
 
Here is an example in Basic:
 
Here is an example in Basic:
  
<source lang="oobas">
+
<syntaxhighlight lang="oobas">
 
Dim pip As Object, extensionLocation As String
 
Dim pip As Object, extensionLocation As String
 
Const extensionIdentifier = "org.toto.test3"
 
Const extensionIdentifier = "org.toto.test3"
Line 36: Line 36:
 
' display a human readable address
 
' display a human readable address
 
MsgBox(ConvertFromURL(extensionLocation))
 
MsgBox(ConvertFromURL(extensionLocation))
</source>
+
</syntaxhighlight>
  
{{Documentation/Caution|The package location address finishes like this : <code>/extensionName.oxt</code>  
+
{{Warn|The package location address finishes like this : <code>/extensionName.oxt</code>  
 
Remember it is a '''folder''', not the extension package itself!}}
 
Remember it is a '''folder''', not the extension package itself!}}
  

Latest revision as of 11:29, 28 August 2022



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 the singleton com.sun.star.deployment.PackageInformationProvider and its interface 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" ) );
  ...

You will find a Java example at page : ReadFilesFromOxt

Here is an 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))
Documentation caution.png The package location address finishes like this : /extensionName.oxt

Remember it 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