/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* The The This method is called by the This method is called by the The connection description has the following format:
* XConnector
interface.
*
* pipeConnector
is a specialized component that uses TCP
* pipes for communication. The pipeConnector
is generally
* used by the com.sun.star.connection.Connector
service.JavaLoader
acceses this through reflection.JavaLoader
.XSingleServiceFactory
for creating the component.
*
* @see com.sun.star.comp.loader.JavaLoader
*/
public static XSingleServiceFactory __getServiceFactory(
String implName, XMultiServiceFactory multiFactory, XRegistryKey regKey)
{
return implName.equals(pipeConnector.class.getName())
? FactoryHelper.getServiceFactory(pipeConnector.class,
__serviceName, multiFactory,
regKey)
: null;
}
/**
* Writes the service information into the given registry key.
*
* JavaLoader
.true
if the operation succeeded.
*
* @see com.sun.star.comp.loader.JavaLoader
*/
public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) {
return FactoryHelper.writeRegistryServiceInfo(
pipeConnector.class.getName(), __serviceName, regKey);
}
/**
* Connects via the described pipe to a waiting server.
*
* type
*(key=value
),
* where type
should be pipe
* (ignoring case). Supported keys (ignoring case) currently are
*
*
host
* port
* 6001
).
* tcpnodelay
* 0
/1
) enabling or disabling Nagle's
* algorithm on the resulting connection.
*
XConnection
to the server.
*
* @see com.sun.star.connections.XAcceptor
* @see com.sun.star.connections.XConnection
*/
public synchronized XConnection connect(String connectionDescription)
throws NoConnectException, ConnectionSetupException
{
if (bConnected) {
throw new ConnectionSetupException("alread connected");
}
try
{
XConnection xConn = new PipeConnection( connectionDescription );
bConnected = true;
return xConn;
}
catch ( java.io.IOException e ) { throw new NoConnectException(); }
}
private boolean bConnected = false;
}