diff options
Diffstat (limited to 'bean/com')
-rw-r--r-- | bean/com/sun/star/beans/ContainerFactory.java | 38 | ||||
-rw-r--r-- | bean/com/sun/star/beans/JavaWindowPeerFake.java | 113 | ||||
-rw-r--r-- | bean/com/sun/star/beans/LocalOfficeConnection.java | 611 | ||||
-rw-r--r-- | bean/com/sun/star/beans/LocalOfficeWindow.java | 304 | ||||
-rw-r--r-- | bean/com/sun/star/beans/NativeConnection.java | 50 | ||||
-rw-r--r-- | bean/com/sun/star/beans/NativeService.java | 27 | ||||
-rw-r--r-- | bean/com/sun/star/beans/OfficeConnection.java | 69 | ||||
-rw-r--r-- | bean/com/sun/star/beans/OfficeWindow.java | 46 |
8 files changed, 0 insertions, 1258 deletions
diff --git a/bean/com/sun/star/beans/ContainerFactory.java b/bean/com/sun/star/beans/ContainerFactory.java deleted file mode 100644 index e3c0c9d9d7e2..000000000000 --- a/bean/com/sun/star/beans/ContainerFactory.java +++ /dev/null @@ -1,38 +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.beans; - -import java.awt.Container; - -/** - * This interface reprecents an AWT container factory. - * - * @see OfficeBean - * @deprecated - */ - -public interface ContainerFactory -{ - /** - * Creates an AWT container. - * - * @return An AWT container. - */ - Container createContainer(); -} diff --git a/bean/com/sun/star/beans/JavaWindowPeerFake.java b/bean/com/sun/star/beans/JavaWindowPeerFake.java deleted file mode 100644 index efd57d02bd71..000000000000 --- a/bean/com/sun/star/beans/JavaWindowPeerFake.java +++ /dev/null @@ -1,113 +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.beans; - -import com.sun.star.awt.*; - -/** <p>Class to pass the system window handle to the OpenOffice.org toolkit.</p> - * @deprecated - */ -/* package */ class JavaWindowPeerFake - implements XSystemDependentWindowPeer, XWindowPeer -{ - - private long hWindow; - private int localSystemType; - - /** Create the faked window peer. - * @param _hWindow the system handle to the window. - * @param _systemType specifies the system type. - */ - public JavaWindowPeerFake(long _hWindow, int _systemType) - { - hWindow = _hWindow; - localSystemType = _systemType; - } - - /** <p>Implementation of XSystemDependentWindowPeer (that's all we really need)</p> - * This method is called back from the OpenOffice.org toolkit to retrieve the system data. - */ - public Object getWindowHandle(/*IN*/byte[] ProcessId, /*IN*/short SystemType) - throws com.sun.star.uno.RuntimeException - { - - if (SystemType == localSystemType) { - return Integer.valueOf((int)hWindow); - } - else return null; - } - - /** not really neaded. - */ - public XToolkit getToolkit() - throws com.sun.star.uno.RuntimeException - { - return null; - } - - /** not really neaded. - */ - public void setPointer(/*IN*/XPointer Pointer) - throws com.sun.star.uno.RuntimeException - { - } - - /** not really neaded. - */ - public void setBackground(/*IN*/int Color) - throws com.sun.star.uno.RuntimeException - { - } - - /** not really neaded. - */ - public void invalidate(/*IN*/short Flags) - throws com.sun.star.uno.RuntimeException - { - } - - /** not really neaded. - */ - public void invalidateRect(/*IN*/com.sun.star.awt.Rectangle Rect, /*IN*/short Flags) - throws com.sun.star.uno.RuntimeException - { - } - - /** not really neaded. - */ - public void dispose() - throws com.sun.star.uno.RuntimeException - { - } - - /** not really neaded. - */ - public void addEventListener(/*IN*/com.sun.star.lang.XEventListener xListener) - throws com.sun.star.uno.RuntimeException - { - } - - /** not really neaded. - */ - public void removeEventListener(/*IN*/com.sun.star.lang.XEventListener aListener) - throws com.sun.star.uno.RuntimeException - { - } -} - diff --git a/bean/com/sun/star/beans/LocalOfficeConnection.java b/bean/com/sun/star/beans/LocalOfficeConnection.java deleted file mode 100644 index a47650de6550..000000000000 --- a/bean/com/sun/star/beans/LocalOfficeConnection.java +++ /dev/null @@ -1,611 +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.beans; - -import java.awt.Container; -import java.io.File; -import java.io.UnsupportedEncodingException; -import java.util.Iterator; -import java.util.List; -import java.util.ArrayList; -import java.util.Arrays; - -import com.sun.star.lang.XMultiComponentFactory; -import com.sun.star.lang.XEventListener; -import com.sun.star.bridge.XUnoUrlResolver; -import com.sun.star.uno.XComponentContext; -import com.sun.star.uno.UnoRuntime; -import com.sun.star.lib.uno.helper.UnoUrl; -import com.sun.star.lib.util.NativeLibraryLoader; - -/** - * This class represents a connection to the local office application. - * @deprecated - */ -public class LocalOfficeConnection - implements OfficeConnection -{ - public static final String OFFICE_APP_NAME = "soffice"; - public static final String OFFICE_LIB_NAME = "officebean"; - public static final String OFFICE_ID_SUFFIX = "_Office"; - - private Process mProcess; - private XComponentContext mContext; - - private String mURL; - private String mProgramPath; - private String mConnType; - private String mPipe; - private String mPort; - private String mProtocol; - private String mInitialObject; - - private List<XEventListener> mComponents = new ArrayList<XEventListener>(); - - /** - * Constructor. - * Sets up paths to the office application and native libraries if - * values are available in <code>OFFICE_PROP_FILE</code> in the user - * home directory.<br /> - * "com.sun.star.beans.path" - the office application directory;<br/> - * "com.sun.star.beans.libpath" - native libraries directory. - */ - public LocalOfficeConnection() - { - // init member vars - try - { - setUnoUrl( "uno:pipe,name=" + getPipeName() + ";urp;StarOffice.ServiceManager" ); - } - catch ( java.net.MalformedURLException e ) - { - com.sun.star.uno.RuntimeException e2 = new com.sun.star.uno.RuntimeException(); - e2.initCause(e); - throw e2; - } - catch ( UnsupportedEncodingException e) - { - com.sun.star.uno.RuntimeException e2 = new com.sun.star.uno.RuntimeException(); - e2.initCause(e); - throw e2; - } - - // load libofficebean.so/officebean.dll - String aSharedLibName = getProgramPath() + java.io.File.separator + - System.mapLibraryName(OFFICE_LIB_NAME); - // At least Oracle's 1.7.0_51 now maps to .dylib rather than .jnilib: - if (System.getProperty("os.name").startsWith("Mac") - && aSharedLibName.endsWith(".dylib")) - { - aSharedLibName - = aSharedLibName.substring( - 0, aSharedLibName.length() - "dylib".length()) - + "jnilib"; - } - System.load( aSharedLibName ); - } - - /** - * Sets a connection URL. - * This implementation accepts a UNO URL with following format:<br /> - * <pre> - * url := uno:localoffice[,<params>];urp;StarOffice.ServiceManager - * params := <path>[,<pipe>] - * path := path=<pathv> - * pipe := pipe=<pipev> - * pathv := platform_specific_path_to_the_local_office_distribution - * pipev := local_office_connection_pipe_name - * </pre> - * - * @param url This is UNO URL which describes the type of a connection. - */ - public void setUnoUrl(String url) - throws java.net.MalformedURLException - { - mURL = null; - - String prefix = "uno:localoffice"; - if ( url.startsWith(prefix) ) - parseUnoUrlWithOfficePath( url, prefix ); - else - { - try - { - UnoUrl aURL = UnoUrl.parseUnoUrl( url ); - mProgramPath = null; - mConnType = aURL.getConnection(); - mPipe = aURL.getConnectionParameters().get( "pipe" ); - mPort = aURL.getConnectionParameters().get( "port" ); - mProtocol = aURL.getProtocol(); - mInitialObject = aURL.getRootOid(); - } - catch ( com.sun.star.lang.IllegalArgumentException eIll ) - { - throw new java.net.MalformedURLException( - "Invalid UNO connection URL."); - } - } - mURL = url; - } - - /** - * Sets an AWT container factory. - * - * @param containerFactory This is a application provided AWT container - * factory. - */ - public void setContainerFactory(ContainerFactory containerFactory) - { - } - - /** - * Retrieves the UNO component context. - * Establishes a connection if necessary and initialises the - * UNO service manager if it has not already been initialised. - * This method can return <code>null</code> if it fails to connect - * to the office application. - * - * @return The office UNO component context. - */ - public XComponentContext getComponentContext() - { - if ( mContext == null ) - mContext = connect(); - return mContext; - } - - /** - * Creates an office window. - * The window is either a sub-class of java.awt.Canvas (local) or - * java.awt.Container (RVP). - * - * @param container This is an AWT container. - * @return The office window instance. - */ - public OfficeWindow createOfficeWindow(Container container) - { - return new LocalOfficeWindow(this); - } - - /** - * Closes the connection. - */ - public void dispose() - { - Iterator<XEventListener> itr = mComponents.iterator(); - while (itr.hasNext()) { - // ignore runtime exceptions in dispose - try { itr.next().disposing(null); } - catch ( RuntimeException aExc ) {} - } - mComponents.clear(); - mContext = null; - } - - /** - * Adds an event listener to the object. - * - * @param listener is a listener object. - */ - public void addEventListener(XEventListener listener) - { - mComponents.add(listener); - } - - /** - * Removes an event listener from the listener list. - * - * @param listener is a listener object. - */ - public void removeEventListener(XEventListener listener) - { - mComponents.remove(listener); - } - - /** - * Establishes the connection to the office. - */ - private XComponentContext connect() - { - try - { - // create default local component context - XComponentContext xLocalContext = - com.sun.star.comp.helper.Bootstrap.createInitialComponentContext(null); - - // initial serviceManager - XMultiComponentFactory xLocalServiceManager = xLocalContext.getServiceManager(); - - // create a urlresolver - Object urlResolver = xLocalServiceManager.createInstanceWithContext( - "com.sun.star.bridge.UnoUrlResolver", xLocalContext ); - - // query for the XUnoUrlResolver interface - XUnoUrlResolver xUrlResolver = - UnoRuntime.queryInterface( XUnoUrlResolver.class, urlResolver ); - - // try to connect to soffice - Object aInitialObject = null; - try - { - aInitialObject = xUrlResolver.resolve( mURL ); - } - catch( com.sun.star.connection.NoConnectException e ) - { - // launch soffice - OfficeService aSOffice = new OfficeService(); - aSOffice.startupService(); - - // wait until soffice is started - long nMaxMillis = System.currentTimeMillis() + 1000*aSOffice.getStartupTime(); - while ( aInitialObject == null ) - { - try - { - // try to connect to soffice - Thread.sleep( 500 ); - aInitialObject = xUrlResolver.resolve( mURL ); - } - catch( com.sun.star.connection.NoConnectException aEx ) - { - // soffice did not start in time - if ( System.currentTimeMillis() > nMaxMillis ) - throw aEx; - - } - } - } - - // XComponentContext - if( null != aInitialObject ) - { - XPropertySet xPropertySet = UnoRuntime.queryInterface( XPropertySet.class, aInitialObject); - Object xContext = xPropertySet.getPropertyValue("DefaultContext"); - XComponentContext xComponentContext = UnoRuntime.queryInterface( - XComponentContext.class, xContext); - return xComponentContext; - } - } - catch( com.sun.star.connection.NoConnectException e ) - { - System.out.println( "Couldn't connect to remote server" ); - System.out.println( e.getMessage() ); - } - catch( com.sun.star.connection.ConnectionSetupException e ) - { - System.out.println( "Couldn't access necessary local resource to establish the interprocess connection" ); - System.out.println( e.getMessage() ); - } - catch( com.sun.star.lang.IllegalArgumentException e ) - { - System.out.println( "uno-url is syntactical illegal ( " + mURL + " )" ); - System.out.println( e.getMessage() ); - } - catch( com.sun.star.uno.RuntimeException e ) - { - System.out.println( "--- RuntimeException:" ); - System.out.println( e.getMessage() ); - e.printStackTrace(); - System.out.println( "--- end." ); - throw e; - } - catch( java.lang.Exception e ) - { - System.out.println( "java.lang.Exception: " ); - System.out.println( e ); - e.printStackTrace(); - System.out.println( "--- end." ); - throw new com.sun.star.uno.RuntimeException(e); - } - - return null; - } - - /** - * Retrieves a path to the office program folder. - * - * @return The path to the office program folder. - */ - private String getProgramPath() - { - if (mProgramPath == null) - { - // determine name of executable soffice - String aExec = OFFICE_APP_NAME; // default for UNIX - String aOS = System.getProperty("os.name"); - - // running on Windows? - if (aOS.startsWith("Windows")) - aExec = OFFICE_APP_NAME + ".exe"; - - // add other non-UNIX operating systems here - - - // find soffice executable relative to this class's class loader: - File path = NativeLibraryLoader.getResource( - this.getClass().getClassLoader(), aExec); - if (path != null) { - mProgramPath = path.getParent(); - } - - // default is "" - if ( mProgramPath == null ) - mProgramPath = ""; - } - return mProgramPath; - } - - /** - * Parses a connection URL. - * This method accepts a UNO URL with following format:<br /> - * <pre> - * url := uno:localoffice[,<params>];urp;StarOffice.NamingService - * params := <path>[,<pipe>] - * path := path=<pathv> - * pipe := pipe=<pipev> - * pathv := platform_specific_path_to_the_local_office_distribution - * pipev := local_office_connection_pipe_name - * </pre> - * - * <h4>Examples</h4> - * <ul> - * <li>"uno:localoffice,pipe=xyz_Office,path=/opt/openoffice11/program;urp;StarOffice.ServiceManager"; - * <li>"uno:socket,host=localhost,port=8100;urp;StarOffice.ServiceManager"; - * </ul> - * - * @param url This is UNO URL which describes the type of a connection. - * @exception java.net.MalformedURLException when inappropreate URL was - * provided. - */ - private void parseUnoUrlWithOfficePath(String url, String prefix) - throws java.net.MalformedURLException - { - // Extruct parameters. - int idx = url.indexOf(";urp;StarOffice.NamingService"); - if (idx < 0) - throw new java.net.MalformedURLException( - "Invalid UNO connection URL."); - String params = url.substring(prefix.length(), idx + 1); - - // Parse parameters. - String name = null; - String path = null; - String pipe = null; - char ch; - int state = 0; - StringBuffer buffer = new StringBuffer(); - for(idx = 0; idx < params.length(); idx += 1) { - ch = params.charAt(idx); - switch (state) { - case 0: // initial state - switch(ch) { - case ',': - buffer.delete(0, buffer.length()); - state = 1; - break; - - case ';': - state = 7; - break; - - default: - buffer.delete(0, buffer.length()); - buffer.append(ch); - state = 1; - break; - } - break; - - case 1: // parameter name - switch(ch) { - case ' ': - case '=': - name = buffer.toString(); - state = (ch == ' ')? 2: 3; - break; - - case ',': - case ';': - state = -6; // error: invalid name - break; - - default: - buffer.append(ch); - break; - } - break; - - case 2: // equal between the name and the value - switch(ch) { - case '=': - state = 3; - break; - - case ' ': - break; - - default: - state = -1; // error: missing '=' - break; - } - break; - - case 3: // value leading spaces - switch(ch) { - case ' ': - break; - - default: - buffer.delete(0, buffer.length()); - buffer.append(ch); - state = 4; - break; - } - break; - - case 4: // value - switch(ch) { - case ' ': - case ',': - case ';': - idx -= 1; // put back the last read character - state = 5; - if (("path").equals(name)) { - if (path == null) - path = buffer.toString(); - else - state = -3; // error: more than one 'path' - } else if (("pipe").equals(name)) { - if (pipe == null) - pipe = buffer.toString(); - else - state = -4; // error: more than one 'pipe' - } else - state = -2; // error: unknown parameter - buffer.delete(0, buffer.length()); - break; - - default: - buffer.append(ch); - break; - } - break; - - case 5: // a delimeter after the value - switch(ch) { - case ' ': - break; - - case ',': - state = 6; - break; - - case ';': - state = 7; - break; - - default: - state = -5; // error: ' ' inside the value - break; - } - break; - - case 6: // leading spaces before next parameter name - switch(ch) { - case ' ': - break; - - default: - buffer.delete(0, buffer.length()); - buffer.append(ch); - state = 1; - break; - } - break; - - default: - throw new java.net.MalformedURLException( - "Invalid UNO connection URL."); - } - } - if (state != 7) - throw new java.net.MalformedURLException( - "Invalid UNO connection URL."); - - // Set up the connection parameters. - if (path != null) - mProgramPath = path; - if (pipe != null) - mPipe = pipe; - } - - /** creates a unique pipe name. - */ - static String getPipeName() throws UnsupportedEncodingException - { - // turn user name into a URL and file system safe name (% chars will not work) - String aPipeName = System.getProperty("user.name") + OFFICE_ID_SUFFIX; - aPipeName = aPipeName.replace( "_", "%B7" ); - return java.net.URLEncoder.encode(aPipeName, "UTF-8").replace( "\\+", "%20" ).replace( "%", "_" ); - } - - /** - * @para This is an implementation of the native office service. - * @deprecated - */ - private class OfficeService - implements NativeService - { - /** - * Retrieve the office service identifier. - * - * @return The identifier of the office service. - */ - public String getIdentifier() - { - String identifier = null; - try - { - identifier = ( mPipe == null) ? getPipeName() : mPipe; - } - catch (UnsupportedEncodingException e) - { - com.sun.star.uno.RuntimeException e2 = new com.sun.star.uno.RuntimeException(); - e2.initCause(e); - throw e2; - } - return identifier; - } - - /** - * Starts the office process. - */ - public void startupService() - throws java.io.IOException - { - // create call with arguments - String[] cmdArray = new String[4]; - cmdArray[0] = (new File(getProgramPath(), OFFICE_APP_NAME)).getPath(); - cmdArray[1] = "--nologo"; - cmdArray[2] = "--nodefault"; - if ( mConnType.equals( "pipe" ) ) - cmdArray[3] = "--accept=pipe,name=" + getIdentifier() + ";" + - mProtocol + ";" + mInitialObject; - else if ( mConnType.equals( "socket" ) ) - cmdArray[3] = "--accept=socket,port=" + mPort + ";urp"; - else - throw new java.io.IOException( "not connection specified" ); - - // start process - mProcess = Runtime.getRuntime().exec(cmdArray); - if ( mProcess == null ) - throw new RuntimeException( "cannot start soffice: " + Arrays.toString(cmdArray) ); - } - - /** - * Retrieves the amount of time to wait for the startup. - * - * @return The amount of time to wait in seconds(?). - */ - public int getStartupTime() - { - return 60; - } - } -} diff --git a/bean/com/sun/star/beans/LocalOfficeWindow.java b/bean/com/sun/star/beans/LocalOfficeWindow.java deleted file mode 100644 index e9e05edc859d..000000000000 --- a/bean/com/sun/star/beans/LocalOfficeWindow.java +++ /dev/null @@ -1,304 +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.beans; - -import java.awt.Component; - -import com.sun.star.lang.EventObject; -import com.sun.star.lang.SystemDependent; -import com.sun.star.lang.XEventListener; -import com.sun.star.lang.XMultiServiceFactory; -import com.sun.star.lang.XMultiComponentFactory; -import com.sun.star.awt.Rectangle; -import com.sun.star.awt.XWindow; -import com.sun.star.awt.XWindowPeer; -import com.sun.star.awt.XVclWindowPeer; -import com.sun.star.awt.XToolkit; -import com.sun.star.awt.WindowDescriptor; -import com.sun.star.awt.WindowAttribute; -import com.sun.star.awt.WindowClass; -import com.sun.star.uno.UnoRuntime; -import com.sun.star.uno.XComponentContext; - -/** - * This class represents a local office window. - * @deprecated - */ -public class LocalOfficeWindow - extends java.awt.Canvas - implements OfficeWindow, XEventListener -{ - private transient OfficeConnection mConnection; - private transient XWindowPeer mParentProxy; - private transient XWindowPeer mWindow; - private boolean bPeer = false; - - /** - * Construnctor. - * - * @param connection The office connection object the window - * belongs to. - */ - /* package */ LocalOfficeWindow(OfficeConnection connection) - { - mConnection = connection; - mConnection.addEventListener(this); - } - - /** - * Retrieves an AWT component object associated with the OfficeWindow. - * - * @return The AWT component object associated with the OfficeWindow. - */ - public Component getAWTComponent() - { - return this; - } - - /** - * Retrieves an UNO XWindowPeer object associated with the OfficeWindow. - * - * @return The UNO XWindowPeer object associated with the OfficeWindow. - */ - public XWindowPeer getUNOWindowPeer() - { - if (mWindow == null) - createUNOWindowPeer(); - return mWindow; - } - - /** - * Receives a notification about the connection has been closed. - * This method has to set the connection to <code>null</code>. - * - * @source The event object. - */ - public void disposing(EventObject source) - { - // the window will be disposed by the framework - mWindow = null; - mConnection = null; - } - - /** - * Returns an AWT toolkit. - */ - private XToolkit queryAWTToolkit() - throws com.sun.star.uno.Exception - { - // Create a UNO toolkit. - XMultiComponentFactory compfactory; - XComponentContext xContext = mConnection.getComponentContext(); - if ( xContext != null ) - { - compfactory = mConnection.getComponentContext().getServiceManager(); - XMultiServiceFactory factory; - factory = UnoRuntime.queryInterface( - XMultiServiceFactory.class, compfactory); - Object object = factory.createInstance( "com.sun.star.awt.Toolkit"); - return UnoRuntime.queryInterface(XToolkit.class, object); - } - else - return null; - } - - /// called when system parent is available, reparents the bean window - private void aquireSystemWindow() - { - if ( !bPeer ) - { - // set real parent - XVclWindowPeer xVclWindowPeer = UnoRuntime.queryInterface( - XVclWindowPeer.class, mWindow); - xVclWindowPeer.setProperty( "PluginParent", Long.valueOf(getNativeWindow()) ); - bPeer = true; - - // show document window - XWindow aWindow = UnoRuntime.queryInterface(XWindow.class, mWindow); - aWindow.setVisible( true ); - } - } - - /// called when system parent is about to die, reparents the bean window - private void releaseSystemWindow() - { - if ( bPeer ) - { - // hide document window - XWindow aWindow = UnoRuntime.queryInterface(XWindow.class, mWindow); - aWindow.setVisible( false ); - - // set null parent - XVclWindowPeer xVclWindowPeer = UnoRuntime.queryInterface( - XVclWindowPeer.class, mWindow); - xVclWindowPeer.setProperty( "PluginParent", Long.valueOf(0) ); - bPeer = false; - } - } - - /// callback handler to get to know when we become visible - //@deprecated - private class ComponentEventHandler - extends java.awt.event.ComponentAdapter - { - @Override - public void componentHidden( java.awt.event.ComponentEvent e) - { - // only when we become invisible, we might lose our system window - CallWatchThread aCallWatchThread = new CallWatchThread( 500 ); - setVisible(false); - try { aCallWatchThread.cancel(); } - catch ( InterruptedException aExc ) - {} // ignore - } - - @Override - public void componentShown( java.awt.event.ComponentEvent e) - { - // only when we become visible, we get a system window - aquireSystemWindow(); - } - } - - /// Overriding java.awt.Component.setVisible() due to Java bug (no showing event). - @Override - public void setVisible( boolean b ) - { - super.setVisible(b); - - // Java-Bug: componentShown() is never called :-( - // is still at least in Java 1.4.1_02 - if ( b ) - aquireSystemWindow(); - else - releaseSystemWindow(); - } - - /** Factory method for a UNO AWT toolkit window as a child of this Java window. - * - */ - private XWindowPeer createUNOWindowPeer() - { - try - { - // get this windows native window type - int type = getNativeWindowSystemType(); - - // Java AWT windows only have a system window when showing. - XWindowPeer parentPeer; - if ( isShowing() ) - { - // create direct parent relationship - parentPeer = new JavaWindowPeerFake( getNativeWindow(), type); - bPeer = true; - } - else - { - // no parent yet - parentPeer = null; - bPeer = false; - } - - // create native window (mWindow) - Rectangle aRect = new Rectangle( 0, 0, 20, 20 ); - WindowDescriptor desc = new WindowDescriptor(); - desc.Type = WindowClass.TOP; - desc.Parent = parentPeer; - desc.Bounds = aRect; - desc.WindowServiceName = "workwindow"; - desc.WindowAttributes = (type == SystemDependent.SYSTEM_WIN32) - ? WindowAttribute.SHOW : 0; - mWindow = queryAWTToolkit().createWindow(desc); - - // to get notified when we become visible - addComponentListener( new ComponentEventHandler() ); - - // set initial visibility - XWindow aWindow = UnoRuntime.queryInterface(XWindow.class, mWindow); - aWindow.setVisible( bPeer ); - } - catch (com.sun.star.uno.Exception exp) { - } - - return mWindow; - } - - /** - * Retrieves a platform dependent system window identifier. - * - * @return The system window identifier. - */ - private native long getNativeWindow(); - - /** - * Retrieves a platform dependent system window type. - * - * @return The system window type. - */ - private native int getNativeWindowSystemType(); - - - /** Helper class to watch calls into OOo with a timeout. - * @deprecated - */ - private class CallWatchThread extends Thread - { - private Thread aWatchedThread; - private long nTimeout; - - private CallWatchThread( long nTimeout ) - { - super("CallWatchThread deprecated"); - - this.aWatchedThread = Thread.currentThread(); - this.nTimeout = nTimeout; - start(); - } - - private void cancel() - throws InterruptedException - { - aWatchedThread = null; - stop(); - - if ( Thread.interrupted() ) - throw new InterruptedException(); - } - - @Override - public void run() - { - while ( aWatchedThread != null ) - { - try { sleep( nTimeout ); } - catch ( InterruptedException aExc ) - {} - - //synchronized - { - if ( aWatchedThread != null ) - { - aWatchedThread.interrupt(); - } - } - } - } - } - -} diff --git a/bean/com/sun/star/beans/NativeConnection.java b/bean/com/sun/star/beans/NativeConnection.java deleted file mode 100644 index 7147235fc668..000000000000 --- a/bean/com/sun/star/beans/NativeConnection.java +++ /dev/null @@ -1,50 +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.beans; - -import com.sun.star.connection.XConnection; -/* @deprecated - */ -/* package */ class NativeConnection - implements XConnection -{ - public native void connect(NativeService aNativeService) - throws com.sun.star.io.IOException; - - public native int read(/*OUT*/byte[][] aReadBytes, /*IN*/int nBytesToRead) - throws com.sun.star.io.IOException, com.sun.star.uno.RuntimeException; - - public native void write(/*IN*/byte[] aData) - throws com.sun.star.io.IOException, com.sun.star.uno.RuntimeException; - - public native void flush() - throws com.sun.star.io.IOException, com.sun.star.uno.RuntimeException; - - public native void close() - throws com.sun.star.io.IOException, com.sun.star.uno.RuntimeException; - - public synchronized String getDescription() - throws com.sun.star.uno.RuntimeException - { - return Description; - } - - private long NativeHandle; - private String Description; -} diff --git a/bean/com/sun/star/beans/NativeService.java b/bean/com/sun/star/beans/NativeService.java deleted file mode 100644 index 9e06e798dcbc..000000000000 --- a/bean/com/sun/star/beans/NativeService.java +++ /dev/null @@ -1,27 +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.beans; - -/* @deprecated - */ -/* package */ interface NativeService { - String getIdentifier(); - void startupService() throws java.io.IOException; - int getStartupTime(); -} diff --git a/bean/com/sun/star/beans/OfficeConnection.java b/bean/com/sun/star/beans/OfficeConnection.java deleted file mode 100644 index 911fae52f02f..000000000000 --- a/bean/com/sun/star/beans/OfficeConnection.java +++ /dev/null @@ -1,69 +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.beans; - -import com.sun.star.lang.XComponent; -import com.sun.star.uno.XComponentContext; -import java.awt.Container; - -/** - * This abstract class reprecents a connection to the office - * application. - * @deprecated - */ -public interface OfficeConnection - extends XComponent -{ - /** - * Sets a connection URL. - * - * @param url This is UNO URL which describes the type of a connection. - */ - void setUnoUrl(String url) - throws java.net.MalformedURLException; - - /** - * Sets an AWT container catory. - * - * @param containerFactory This is a application provided AWT container - * factory. - */ - void setContainerFactory(ContainerFactory containerFactory); - - /** - * Retrieves the UNO component context. - * Establishes a connection if necessary and initialises the - * UNO service manager if it has not already been initialised. - * - * @return The office UNO component context. - */ - XComponentContext getComponentContext(); - - /** - * Creates an office window. - * The window is either a sub-class of java.awt.Canvas (local) or - * java.awt.Container (RVP). - * - * This method does not add add the office window to its container. - * - * @param container This is an AWT container. - * @return The office window instance. - */ - OfficeWindow createOfficeWindow(Container container); -} diff --git a/bean/com/sun/star/beans/OfficeWindow.java b/bean/com/sun/star/beans/OfficeWindow.java deleted file mode 100644 index ebc46b8335de..000000000000 --- a/bean/com/sun/star/beans/OfficeWindow.java +++ /dev/null @@ -1,46 +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.beans; - -import java.awt.Component; - -import com.sun.star.awt.XWindowPeer; - -/** - * The concreate implementation of the OfficeWindow extends an - * approperate type of visual component (java.awt.Canvas for local - * and java.awt.Container for remote). - * @deprecated - */ -public interface OfficeWindow -{ - /** - * Retrieves an AWT component object associated with the OfficeWindow. - * - * @return The AWT component object associated with the OfficeWindow. - */ - Component getAWTComponent(); - - /** - * Retrieves an UNO XWindowPeer object associated with the OfficeWindow. - * - * @return The UNO XWindowPeer object associated with the OfficeWindow. - */ - XWindowPeer getUNOWindowPeer(); -} |