summaryrefslogtreecommitdiffstats
path: root/javaunohelper/com/sun/star/comp/helper
diff options
context:
space:
mode:
Diffstat (limited to 'javaunohelper/com/sun/star/comp/helper')
-rw-r--r--javaunohelper/com/sun/star/comp/helper/Bootstrap.java429
-rw-r--r--javaunohelper/com/sun/star/comp/helper/BootstrapException.java82
-rw-r--r--javaunohelper/com/sun/star/comp/helper/ComponentContext.java308
-rw-r--r--javaunohelper/com/sun/star/comp/helper/ComponentContextEntry.java64
-rw-r--r--javaunohelper/com/sun/star/comp/helper/SharedLibraryLoader.java175
5 files changed, 0 insertions, 1058 deletions
diff --git a/javaunohelper/com/sun/star/comp/helper/Bootstrap.java b/javaunohelper/com/sun/star/comp/helper/Bootstrap.java
deleted file mode 100644
index edf21d7d2adf..000000000000
--- a/javaunohelper/com/sun/star/comp/helper/Bootstrap.java
+++ /dev/null
@@ -1,429 +0,0 @@
-// -*- Mode: Java; 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 .
- */
-
-package com.sun.star.comp.helper;
-
-import com.sun.star.bridge.UnoUrlResolver;
-import com.sun.star.bridge.XUnoUrlResolver;
-import com.sun.star.comp.loader.JavaLoader;
-import com.sun.star.comp.servicemanager.ServiceManager;
-import com.sun.star.container.XSet;
-import com.sun.star.lang.XInitialization;
-import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.lang.XMultiComponentFactory;
-import com.sun.star.lib.util.NativeLibraryLoader;
-import com.sun.star.loader.XImplementationLoader;
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.uno.XComponentContext;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.PrintStream;
-import java.io.UnsupportedEncodingException;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.Random;
-
-/** Bootstrap offers functionality to obtain a context or simply
- a service manager.
- The service manager can create a few basic services, whose implementations are:
- <ul>
- <li>com.sun.star.comp.loader.JavaLoader</li>
- <li>com.sun.star.comp.urlresolver.UrlResolver</li>
- <li>com.sun.star.comp.bridgefactory.BridgeFactory</li>
- <li>com.sun.star.comp.connections.Connector</li>
- <li>com.sun.star.comp.connections.Acceptor</li>
- <li>com.sun.star.comp.servicemanager.ServiceManager</li>
- </ul>
-
- Other services can be inserted into the service manager by
- using its XSet interface:
- <pre>
- XSet xSet = UnoRuntime.queryInterface( XSet.class, aMultiComponentFactory );
- // insert the service manager
- xSet.insert( aSingleComponentFactory );
- </pre>
-*/
-public class Bootstrap {
-
- private static void insertBasicFactories(
- XSet xSet, XImplementationLoader xImpLoader )
- throws Exception
- {
- // insert the factory of the loader
- xSet.insert( xImpLoader.activate(
- "com.sun.star.comp.loader.JavaLoader", null, null, null ) );
-
- // insert the factory of the URLResolver
- xSet.insert( xImpLoader.activate(
- "com.sun.star.comp.urlresolver.UrlResolver", null, null, null ) );
-
- // insert the bridgefactory
- xSet.insert( xImpLoader.activate(
- "com.sun.star.comp.bridgefactory.BridgeFactory", null, null, null ) );
-
- // insert the connector
- xSet.insert( xImpLoader.activate(
- "com.sun.star.comp.connections.Connector", null, null, null ) );
-
- // insert the acceptor
- xSet.insert( xImpLoader.activate(
- "com.sun.star.comp.connections.Acceptor", null, null, null ) );
- }
-
- /**
- * Returns an array of default commandline options to start bootstrapped
- * instance of soffice with. You may use it in connection with bootstrap
- * method for example like this:
- * <pre>
- * List list = Arrays.asList( Bootstrap.getDefaultOptions() );
- * list.remove("--nologo");
- * list.remove("--nodefault");
- * list.add("--invisible");
- *
- * Bootstrap.bootstrap( list.toArray( new String[list.size()] );
- * </pre>
- *
- * @return an array of default commandline options
- * @see #bootstrap( String[] )
- * @since LibreOffice 5.1
- */
- public static final String[] getDefaultOptions()
- {
- return new String[]
- {
- "--nologo",
- "--nodefault",
- "--norestore",
- "--nolockcheck"
- };
- }
-
- /**
- backwards compatibility stub.
- @param context_entries the hash table contains mappings of entry names (type string) to
- context entries (type class ComponentContextEntry).
- @throws Exception if things go awry.
- @return a new context.
- */
- public static XComponentContext createInitialComponentContext( Hashtable<String, Object> context_entries )
- throws Exception
- {
- return createInitialComponentContext((Map<String, Object>) context_entries);
- }
- /** Bootstraps an initial component context with service manager and basic
- jurt components inserted.
- @param context_entries the hash table contains mappings of entry names (type string) to
- context entries (type class ComponentContextEntry).
- @throws Exception if things go awry.
- @return a new context.
- */
- public static XComponentContext createInitialComponentContext( Map<String, Object> context_entries )
- throws Exception
- {
- ServiceManager xSMgr = new ServiceManager();
-
- XImplementationLoader xImpLoader = UnoRuntime.queryInterface(
- XImplementationLoader.class, new JavaLoader() );
- XInitialization xInit = UnoRuntime.queryInterface(
- XInitialization.class, xImpLoader );
- Object[] args = new Object [] { xSMgr };
- xInit.initialize( args );
-
- // initial component context
- if (context_entries == null)
- context_entries = new HashMap<String,Object>( 1 );
- // add smgr
- context_entries.put(
- "/singletons/com.sun.star.lang.theServiceManager",
- new ComponentContextEntry( null, xSMgr ) );
- // ... xxx todo: add standard entries
- XComponentContext xContext = new ComponentContext( context_entries, null );
-
- xSMgr.setDefaultContext(xContext);
-
- XSet xSet = UnoRuntime.queryInterface( XSet.class, xSMgr );
- // insert basic jurt factories
- insertBasicFactories( xSet, xImpLoader );
-
- return xContext;
- }
-
- /**
- * Bootstraps a servicemanager with the jurt base components registered.
- *
- * See also UNOIDL <code>com.sun.star.lang.ServiceManager</code>.
- *
- * @throws Exception if things go awry.
- * @return a freshly bootstrapped service manager
- */
- public static XMultiServiceFactory createSimpleServiceManager() throws Exception
- {
- return UnoRuntime.queryInterface(
- XMultiServiceFactory.class, createInitialComponentContext( (Map<String, Object>) null ).getServiceManager() );
- }
-
-
- /** Bootstraps the initial component context from a native UNO installation.
-
- @throws Exception if things go awry.
- @return a freshly bootstrapped component context.
-
- See also
- <code>cppuhelper/defaultBootstrap_InitialComponentContext()</code>.
- */
- public static final XComponentContext defaultBootstrap_InitialComponentContext()
- throws Exception
- {
- return defaultBootstrap_InitialComponentContext( (String) null, (Map<String,String>) null );
- }
- /**
- * Backwards compatibility stub.
- *
- * @param ini_file
- * ini_file (may be null: uno.rc besides cppuhelper lib)
- * @param bootstrap_parameters
- * bootstrap parameters (maybe null)
- *
- * @throws Exception if things go awry.
- * @return a freshly bootstrapped component context.
- */
- public static final XComponentContext defaultBootstrap_InitialComponentContext(
- String ini_file, Hashtable<String,String> bootstrap_parameters )
- throws Exception
- {
- return defaultBootstrap_InitialComponentContext(ini_file, (Map<String,String>) bootstrap_parameters);
-
- }
- /** Bootstraps the initial component context from a native UNO installation.
-
- See also
- <code>cppuhelper/defaultBootstrap_InitialComponentContext()</code>.
-
- @param ini_file
- ini_file (may be null: uno.rc besides cppuhelper lib)
- @param bootstrap_parameters
- bootstrap parameters (maybe null)
-
- @throws Exception if things go awry.
- @return a freshly bootstrapped component context.
- */
- public static final XComponentContext defaultBootstrap_InitialComponentContext(
- String ini_file, Map<String,String> bootstrap_parameters )
- throws Exception
- {
- // jni convenience: easier to iterate over array than calling Hashtable
- String pairs [] = null;
- if (null != bootstrap_parameters)
- {
- pairs = new String [ 2 * bootstrap_parameters.size() ];
- int n = 0;
- for (Map.Entry<String, String> bootstrap_parameter : bootstrap_parameters.entrySet()) {
- pairs[ n++ ] = bootstrap_parameter.getKey();
- pairs[ n++ ] = bootstrap_parameter.getValue();
- }
- }
-
- if (! m_loaded_juh)
- {
- if ("The Android Project".equals(System.getProperty("java.vendor")))
- {
- // Find out if we are configured with DISABLE_DYNLOADING or
- // not. Try to load the lo-bootstrap shared library which
- // won't exist in the DISABLE_DYNLOADING case. (And which will
- // be already loaded otherwise, so nothing unexpected happens
- // that case.) Yeah, this would be simpler if I just could be
- // bothered to keep a separate branch for DISABLE_DYNLOADING
- // on Android, merging in master periodically, until I know
- // for sure whether it is what I want, or not.
-
- boolean disable_dynloading = false;
- try {
- System.loadLibrary( "lo-bootstrap" );
- } catch ( UnsatisfiedLinkError e ) {
- disable_dynloading = true;
- }
-
- if (!disable_dynloading)
- {
- NativeLibraryLoader.loadLibrary( Bootstrap.class.getClassLoader(), "juh" );
- }
- }
- else
- {
- NativeLibraryLoader.loadLibrary( Bootstrap.class.getClassLoader(), "juh" );
- }
- m_loaded_juh = true;
- }
- return UnoRuntime.queryInterface(
- XComponentContext.class,
- cppuhelper_bootstrap(
- ini_file, pairs, Bootstrap.class.getClassLoader() ) );
- }
-
- private static boolean m_loaded_juh = false;
- private static native Object cppuhelper_bootstrap(
- String ini_file, String bootstrap_parameters [], ClassLoader loader )
- throws Exception;
-
- /**
- * Bootstraps the component context from a UNO installation.
- *
- * @throws BootstrapException if things go awry.
- *
- * @return a bootstrapped component context.
- *
- * @since UDK 3.1.0
- */
- public static final XComponentContext bootstrap()
- throws BootstrapException {
-
- String[] defaultArgArray = getDefaultOptions();
- return bootstrap( defaultArgArray );
- }
-
- /**
- * Bootstraps the component context from a UNO installation.
- *
- * @param argArray
- * an array of strings - commandline options to start instance of
- * soffice with
- * @see #getDefaultOptions()
- *
- * @throws BootstrapException if things go awry.
- *
- * @return a bootstrapped component context.
- *
- * @since LibreOffice 5.1
- */
- public static final XComponentContext bootstrap( String[] argArray )
- throws BootstrapException {
-
- XComponentContext xContext = null;
-
- try {
- // create default local component context
- XComponentContext xLocalContext =
- createInitialComponentContext( (Map<String, Object>) null );
- if ( xLocalContext == null )
- throw new BootstrapException( "no local component context!" );
-
- // find office executable relative to this class's class loader
- String sOffice =
- System.getProperty( "os.name" ).startsWith( "Windows" ) ?
- "soffice.exe" : "soffice";
- File fOffice = NativeLibraryLoader.getResource(
- Bootstrap.class.getClassLoader(), sOffice );
- if ( fOffice == null )
- throw new BootstrapException( "no office executable found!" );
-
- // create random pipe name
- String sPipeName = "uno" +
- Long.toString(randomPipeName.nextLong() & 0x7fffffffffffffffL);
-
- // create call with arguments
- String[] cmdArray = new String[ argArray.length + 2 ];
- cmdArray[0] = fOffice.getPath();
- cmdArray[1] = ( "--accept=pipe,name=" + sPipeName + ";urp;" );
-
- System.arraycopy( argArray, 0, cmdArray, 2, argArray.length );
-
- // start office process
- Process p = Runtime.getRuntime().exec( cmdArray );
- pipe( p.getInputStream(), System.out, "CO> " );
- pipe( p.getErrorStream(), System.err, "CE> " );
-
- // initial service manager
- XMultiComponentFactory xLocalServiceManager =
- xLocalContext.getServiceManager();
- if ( xLocalServiceManager == null )
- throw new BootstrapException( "no initial service manager!" );
-
- // create a URL resolver
- XUnoUrlResolver xUrlResolver =
- UnoUrlResolver.create( xLocalContext );
-
- // connection string
- String sConnect = "uno:pipe,name=" + sPipeName +
- ";urp;StarOffice.ComponentContext";
-
- // wait until office is started
- for (int i = 0;; ++i) {
- try {
- // try to connect to office
- Object context = xUrlResolver.resolve( sConnect );
- xContext = UnoRuntime.queryInterface(
- XComponentContext.class, context);
- if ( xContext == null )
- throw new BootstrapException( "no component context!" );
- break;
- } catch ( com.sun.star.connection.NoConnectException ex ) {
- // Wait 500 ms, then try to connect again, but do not wait
- // longer than 5 min (= 600 * 500 ms) total:
- if (i == 600) {
- throw new BootstrapException(ex);
- }
- Thread.sleep( 500 );
- }
- }
- } catch ( BootstrapException e ) {
- throw e;
- } catch ( java.lang.RuntimeException e ) {
- throw e;
- } catch ( java.lang.Exception e ) {
- throw new BootstrapException( e );
- }
-
- return xContext;
- }
-
- private static final Random randomPipeName = new Random();
-
- private static void pipe(
- final InputStream in, final PrintStream out, final String prefix ) {
-
- new Thread( "Pipe: " + prefix) {
- @Override
- public void run() {
- try {
- BufferedReader r = new BufferedReader(
- new InputStreamReader(in, "UTF-8") );
-
- for ( ; ; ) {
- String s = r.readLine();
- if ( s == null ) {
- break;
- }
- out.println( prefix + s );
- }
- } catch ( UnsupportedEncodingException e ) {
- e.printStackTrace( System.err );
- } catch ( java.io.IOException e ) {
- e.printStackTrace( System.err );
- }
- }
- }.start();
- }
-}
-
-// vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/javaunohelper/com/sun/star/comp/helper/BootstrapException.java b/javaunohelper/com/sun/star/comp/helper/BootstrapException.java
deleted file mode 100644
index 11911bbc07e0..000000000000
--- a/javaunohelper/com/sun/star/comp/helper/BootstrapException.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * 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 .
- */
-
-package com.sun.star.comp.helper;
-
-/**
- * BootstrapException is a checked exception that wraps an exception
- * thrown by the original target.
- *
- * @since UDK 3.1.0
- */
-public class BootstrapException extends java.lang.Exception {
-
- /**
- * This field holds the target exception.
- */
- private Exception m_target = null;
-
- /**
- * Constructs a <code>BootstrapException</code> with <code>null</code> as
- * the target exception.
- */
- public BootstrapException() {
- super();
- }
-
- /**
- * Constructs a <code>BootstrapException</code> with the specified
- * detail message.
- *
- * @param message the detail message
- */
- public BootstrapException( String message ) {
- super( message );
- }
-
- /**
- * Constructs a <code>BootstrapException</code> with the specified
- * detail message and a target exception.
- *
- * @param message the detail message
- * @param target the target exception
- */
- public BootstrapException( String message, Exception target ) {
- super( message );
- m_target = target;
- }
-
- /**
- * Constructs a <code>BootstrapException</code> with a target exception.
- *
- * @param target the target exception
- */
- public BootstrapException( Exception target ) {
- super();
- m_target = target;
- }
-
- /**
- * Get the thrown target exception.
- *
- * @return the target exception
- */
- public Exception getTargetException() {
- return m_target;
- }
-}
diff --git a/javaunohelper/com/sun/star/comp/helper/ComponentContext.java b/javaunohelper/com/sun/star/comp/helper/ComponentContext.java
deleted file mode 100644
index 34649d563395..000000000000
--- a/javaunohelper/com/sun/star/comp/helper/ComponentContext.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
- * 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 .
- */
-package com.sun.star.comp.helper;
-
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.uno.Any;
-
-import com.sun.star.uno.DeploymentException;
-import com.sun.star.uno.XComponentContext;
-import com.sun.star.lang.XMultiComponentFactory;
-import com.sun.star.lang.XSingleComponentFactory;
-import com.sun.star.lang.XComponent;
-import com.sun.star.lang.XEventListener;
-import com.sun.star.lang.EventObject;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Map;
-
-
-
-class Disposer implements XEventListener
-{
- private final XComponent m_xComp;
-
-
- Disposer( XComponent xComp )
- {
- m_xComp = xComp;
- }
-
- public void disposing( EventObject Source )
- {
- m_xComp.dispose();
- }
-}
-
-/** Component context implementation.
-*/
-public class ComponentContext implements XComponentContext, XComponent
-{
- private static final boolean DEBUG = false;
- private static final String SMGR_NAME = "/singletons/com.sun.star.lang.theServiceManager";
- private static final String TDMGR_NAME = "/singletons/com.sun.star.reflection.theTypeDescriptionManager";
-
- private Map<String,Object> m_table;
- private XComponentContext m_xDelegate;
-
- private XMultiComponentFactory m_xSMgr;
- private boolean m_bDisposeSMgr;
-
- private ArrayList<XEventListener> m_eventListener;
-
- public ComponentContext( Hashtable<String,Object> table, XComponentContext xDelegate )
- {
- this((Map<String,Object>) table, xDelegate);
- }
-
- /** Ctor to create a component context passing a hashtable for values and a delegator
- reference. Entries of the passed hashtable are either direct values or
- ComponentContextEntry objects.
-
- @param table
- entries
- @param xDelegate
- if values are not found, request is delegated to this object
- */
- public ComponentContext( Map<String,Object> table, XComponentContext xDelegate )
- {
- m_eventListener = new ArrayList<XEventListener>();
- m_table = table;
- m_xDelegate = xDelegate;
- m_xSMgr = null;
- m_bDisposeSMgr = false;
-
- Object o = table.get( SMGR_NAME );
- if (o != null)
- {
- if (o instanceof ComponentContextEntry)
- {
- o = ((ComponentContextEntry)o).m_value;
- }
- m_xSMgr = UnoRuntime.queryInterface(
- XMultiComponentFactory.class, o );
- }
- if (m_xSMgr != null)
- {
- m_bDisposeSMgr = true;
- }
- else if (m_xDelegate != null)
- {
- m_xSMgr = m_xDelegate.getServiceManager();
- }
-
- // listen for delegate
- XComponent xComp = UnoRuntime.queryInterface(
- XComponent.class, m_xDelegate );
- if (xComp != null)
- {
- xComp.addEventListener( new Disposer( this ) );
- }
- }
-
- // XComponentContext impl
-
- public Object getValueByName( String rName )
- {
- Object o = m_table.get( rName );
- if (o == null)
- {
- if (m_xDelegate != null)
- {
- return m_xDelegate.getValueByName( rName );
- }
- else
- {
- return Any.VOID;
- }
- }
-
- if (!(o instanceof ComponentContextEntry))
- {
- // direct value in map
- return o;
- }
-
- ComponentContextEntry entry = (ComponentContextEntry)o;
- if (entry.m_lateInit == null)
- {
- return entry.m_value;
- }
-
- Object xInstance = null;
- try
- {
- String serviceName = (String)entry.m_lateInit;
- if (serviceName != null)
- {
- if (m_xSMgr != null)
- {
- xInstance = m_xSMgr.createInstanceWithContext( serviceName, this );
- }
- else
- {
- if (DEBUG)
- System.err.println( "### no service manager instance for late init of singleton instance \"" + rName + "\"!" );
- }
- }
- else
- {
- XSingleComponentFactory xCompFac = UnoRuntime.queryInterface( XSingleComponentFactory.class, entry.m_lateInit );
- if (xCompFac != null)
- {
- xInstance = xCompFac.createInstanceWithContext( this );
- }
- else
- {
- if (DEBUG)
- System.err.println( "### neither service name nor service factory given for late init of singleton instance \"" + rName + "\"!" );
- }
- }
- }
- catch (com.sun.star.uno.Exception exc)
- {
- if (DEBUG)
- System.err.println( "### exception occurred on late init of singleton instance \"" + rName + "\": " + exc.getMessage() );
- }
-
- if (xInstance != null)
- {
- synchronized (entry)
- {
- if (entry.m_lateInit != null)
- {
- entry.m_value = xInstance;
- entry.m_lateInit = null;
- }
- else // inited in the meantime
- {
- // dispose fresh service instance
- XComponent xComp = UnoRuntime.queryInterface(
- XComponent.class, xInstance );
- if (xComp != null)
- {
- xComp.dispose();
- }
- }
- }
- }
- else
- {
- if (DEBUG)
- System.err.println( "### failed late init of singleton instance \"" + rName + "\"!" );
- }
- return entry.m_value;
- }
-
- public XMultiComponentFactory getServiceManager()
- {
- if (m_xSMgr == null)
- {
- throw new DeploymentException(
- "null component context service manager" );
- }
- return m_xSMgr;
- }
-
- // XComponent impl
-
- public void dispose()
- {
- if (DEBUG)
- System.err.print( "> disposing context " + this );
-
- // fire events
- EventObject evt = new EventObject( this );
- for (XEventListener listener : m_eventListener)
- {
- listener.disposing( evt );
- }
- m_eventListener.clear();
-
- XComponent tdmgr = null;
- // dispose values, then service manager, then typedescription manager
- for (Map.Entry<String, Object> entry : m_table.entrySet())
- {
- String name = entry.getKey();
- if (! name.equals( SMGR_NAME ))
- {
- Object o = entry.getValue();
- if (o instanceof ComponentContextEntry)
- {
- o = ((ComponentContextEntry)o).m_value;
- }
-
- XComponent xComp = UnoRuntime.queryInterface( XComponent.class, o );
- if (xComp != null)
- {
- if (name.equals( TDMGR_NAME ))
- {
- tdmgr = xComp;
- }
- else
- {
- xComp.dispose();
- }
- }
- }
- }
- m_table.clear();
-
- // smgr
- if (m_bDisposeSMgr)
- {
- XComponent xComp = UnoRuntime.queryInterface(
- XComponent.class, m_xSMgr );
- if (xComp != null)
- {
- xComp.dispose();
- }
- }
- m_xSMgr = null;
-
- // tdmgr
- if (tdmgr != null)
- {
- tdmgr.dispose();
- }
-
- if (DEBUG)
- System.err.println( "... finished" );
- }
-
- public void addEventListener( XEventListener xListener )
- {
- if (xListener == null)
- throw new com.sun.star.uno.RuntimeException( "Listener must not be null" );
- if (m_eventListener.contains( xListener ))
- throw new com.sun.star.uno.RuntimeException( "Listener already registered." );
-
- m_eventListener.add( xListener );
- }
-
- public void removeEventListener( XEventListener xListener )
- {
- if (xListener == null)
- throw new com.sun.star.uno.RuntimeException( "Listener must not be null" );
- if (! m_eventListener.contains( xListener ))
- throw new com.sun.star.uno.RuntimeException( "Listener is not registered." );
-
- m_eventListener.remove( xListener );
- }
-}
diff --git a/javaunohelper/com/sun/star/comp/helper/ComponentContextEntry.java b/javaunohelper/com/sun/star/comp/helper/ComponentContextEntry.java
deleted file mode 100644
index aa402d29c6d1..000000000000
--- a/javaunohelper/com/sun/star/comp/helper/ComponentContextEntry.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * 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 .
- */
-package com.sun.star.comp.helper;
-
-/** Component context entry for constructing ComponentContext objects.
- <p>
- A ComponentContextEntry is separated into a late-init and direct-value
- purpose.
- The first one is commonly used for singleton objects of the component
- context, that are raised on first-time retrieval of the key.
- You have to pass a com.sun.star.lang.XSingleComponentFactory
- or string (=&gt; service name) object for this.
- </p>
-*/
-public class ComponentContextEntry
-{
- /** if late init of service instance, set service name (String) or
- component factory (XSingleComponentFactory), null otherwise
- */
- public Object m_lateInit;
- /** set entry value
- */
- public Object m_value;
-
- /** Creating a late-init singleton entry component context entry.
- The second parameter will be ignored and overwritten during
- instantiation of the singleton instance.
-
- @param lateInit
- object factory or service string
- @param value
- pass null (dummy separating from second constructor signature)
- */
- public ComponentContextEntry( Object lateInit, Object value )
- {
- this.m_lateInit = lateInit;
- this.m_value = value;
- }
- /** Creating a direct value component context entry.
-
- @param value
- pass null
- */
- public ComponentContextEntry( Object value )
- {
- this.m_lateInit = null;
- this.m_value = value;
- }
-}
diff --git a/javaunohelper/com/sun/star/comp/helper/SharedLibraryLoader.java b/javaunohelper/com/sun/star/comp/helper/SharedLibraryLoader.java
deleted file mode 100644
index 035644efa0b8..000000000000
--- a/javaunohelper/com/sun/star/comp/helper/SharedLibraryLoader.java
+++ /dev/null
@@ -1,175 +0,0 @@
-// -*- Mode: Java; 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 .
- */
-package com.sun.star.comp.helper;
-
-import com.sun.star.uno.UnoRuntime;
-import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.lang.XSingleServiceFactory;
-import com.sun.star.registry.XRegistryKey;
-
-/**
- * @deprecated use class Bootstrap bootstrapping a native UNO installation
- * and use the shared library loader service.
- *
- * The <code>SharedLibraryLoader</code> class provides the functionality of the <code>com.sun.star.loader.SharedLibrary</code>
- * service.
- *
- * See also UNOIDL <code>com.sun.star.lang.ServiceManager</code>.
- *
- * @see com.sun.star.loader.SharedLibrary
- */
-@Deprecated
-public class SharedLibraryLoader {
- /**
- * The default library which contains the SharedLibraryLoader component
- */
- public static final String DEFAULT_LIBRARY = "shlibloader.uno";
-
- /**
- * The default implementation name
- */
- public static final String DEFAULT_IMPLEMENTATION = "com.sun.star.comp.stoc.DLLComponentLoader";
-
- static {
- if ("The Android Project".equals(System.getProperty("java.vendor"))) {
- // See corresponding code in
- // javaunohelper/com/sun/star/comp/helper/Bootstrap.java for more
- // comments.
-
- boolean disable_dynloading = false;
- try {
- System.loadLibrary("lo-bootstrap");
- } catch (UnsatisfiedLinkError e) {
- disable_dynloading = true;
- }
-
- if (!disable_dynloading)
- System.loadLibrary("juh");
- } else
- System.loadLibrary("juh");
- }
-
- private static native boolean component_writeInfo(
- String libName, XMultiServiceFactory smgr, XRegistryKey regKey,
- ClassLoader loader );
-
- private static native Object component_getFactory(
- String libName, String implName, XMultiServiceFactory smgr,
- XRegistryKey regKey, ClassLoader loader );
-
- /**
- * Supplies the ServiceFactory of the default SharedLibraryLoader.
- * The defaults are "shlibloader.uno"
- * for the library and "com.sun.star.comp.stoc.DLLComponentLoader"
- * for the component name.
- *
- * See also UNOIDL <code>com.sun.star.lang.ServiceManager</code> and
- * <code>com.sun.star.registry.RegistryKey</code>.
- *
- * @return the factory for the "com.sun.star.comp.stoc.DLLComponentLoader" component.
- * @param smgr the ServiceManager
- * @param regKey the root registry key
- * @see com.sun.star.loader.SharedLibrary
- */
- public static XSingleServiceFactory getServiceFactory(
- XMultiServiceFactory smgr,
- XRegistryKey regKey )
- {
- return UnoRuntime.queryInterface(
- XSingleServiceFactory.class,
- component_getFactory(
- DEFAULT_LIBRARY, DEFAULT_IMPLEMENTATION, smgr, regKey,
- SharedLibraryLoader.class.getClassLoader() ) );
- }
-
- /**
- * Loads and returns a specific factory for a given library and implementation name.
- *
- * See also UNOIDL <code>com.sun.star.lang.ServiceManager</code> and
- * <code>com.sun.star.registry.RegistryKey</code>.
- *
- * @return the factory of the component
- * @param libName the name of the shared library
- * @param impName the implementation name of the component
- * @param smgr the ServiceManager
- * @param regKey the root registry key
- * @see com.sun.star.loader.SharedLibrary
- */
- public static XSingleServiceFactory getServiceFactory(
- String libName,
- String impName,
- XMultiServiceFactory smgr,
- XRegistryKey regKey )
- {
- return UnoRuntime.queryInterface(
- XSingleServiceFactory.class,
- component_getFactory(
- libName, impName, smgr, regKey,
- SharedLibraryLoader.class.getClassLoader() ) );
- }
-
- /**
- * Registers the SharedLibraryLoader under a RegistryKey.
- *
- * See also UNOIDL <code>com.sun.star.lang.ServiceManager</code> and
- * <code>com.sun.star.registry.RegistryKey</code>.
- *
- * @return true if the registration was successful - otherwise false
- * @param smgr the ServiceManager
- * @param regKey the root key under that the component should be registered
- * @see com.sun.star.loader.SharedLibrary
- */
- public static boolean writeRegistryServiceInfo(
- com.sun.star.lang.XMultiServiceFactory smgr,
- com.sun.star.registry.XRegistryKey regKey )
- {
- return component_writeInfo(
- DEFAULT_LIBRARY, smgr, regKey,
- SharedLibraryLoader.class.getClassLoader() );
- }
-
- /**
- * Registers the SharedLibraryLoader under a RegistryKey.
- *
- * See also UNOIDL <code>com.sun.star.lang.ServiceManager</code> and
- * <code>com.sun.star.registry.RegistryKey</code>.
- *
- * @return true if the registration was successful - otherwise false
- * @param libName name of the shared library
- * @param smgr the ServiceManager
- * @param regKey the root key under that the component should be registered
- * @throws com.sun.star.registry.InvalidRegistryException
- * if the registry is not valid.
- *
- * @see com.sun.star.loader.SharedLibrary
- */
- public static boolean writeRegistryServiceInfo(
- String libName,
- com.sun.star.lang.XMultiServiceFactory smgr,
- com.sun.star.registry.XRegistryKey regKey )
-
- throws com.sun.star.registry.InvalidRegistryException,
- com.sun.star.uno.RuntimeException
- {
- return component_writeInfo(
- libName, smgr, regKey, SharedLibraryLoader.class.getClassLoader() );
- }
-}
-
-// vim:set shiftwidth=4 softtabstop=4 expandtab: