diff options
Diffstat (limited to '')
-rw-r--r-- | udkapi/com/sun/star/connection/Acceptor.idl | 41 | ||||
-rw-r--r-- | udkapi/com/sun/star/connection/AlreadyAcceptingException.idl | 36 | ||||
-rw-r--r-- | udkapi/com/sun/star/connection/ConnectionSetupException.idl | 36 | ||||
-rw-r--r-- | udkapi/com/sun/star/connection/Connector.idl | 40 | ||||
-rw-r--r-- | udkapi/com/sun/star/connection/NoConnectException.idl | 36 | ||||
-rw-r--r-- | udkapi/com/sun/star/connection/SocketPermission.idl | 95 | ||||
-rw-r--r-- | udkapi/com/sun/star/connection/XAcceptor.idl | 76 | ||||
-rw-r--r-- | udkapi/com/sun/star/connection/XConnection.idl | 92 | ||||
-rw-r--r-- | udkapi/com/sun/star/connection/XConnection2.idl | 58 | ||||
-rw-r--r-- | udkapi/com/sun/star/connection/XConnectionBroadcaster.idl | 57 | ||||
-rw-r--r-- | udkapi/com/sun/star/connection/XConnector.idl | 64 |
11 files changed, 631 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/connection/Acceptor.idl b/udkapi/com/sun/star/connection/Acceptor.idl new file mode 100644 index 000000000..9448a1f71 --- /dev/null +++ b/udkapi/com/sun/star/connection/Acceptor.idl @@ -0,0 +1,41 @@ +/* -*- Mode: C++; 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 . + */ +#ifndef __com_sun_star_connection_Acceptor_idl__ +#define __com_sun_star_connection_Acceptor_idl__ + + + module com { module sun { module star { module connection { + +published interface XAcceptor; + + +/** allows to accept connection attempts from another process. + <p> + Acceptor is a delegating service. You can add further acceptors by giving + them a service name com.sun.star.connection.Acceptor.xxx, where xxx is the + connection type used in the connection string during accept()/connect() call. + + */ +published service Acceptor: XAcceptor; + + +}; }; }; }; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/connection/AlreadyAcceptingException.idl b/udkapi/com/sun/star/connection/AlreadyAcceptingException.idl new file mode 100644 index 000000000..ab9e3a154 --- /dev/null +++ b/udkapi/com/sun/star/connection/AlreadyAcceptingException.idl @@ -0,0 +1,36 @@ +/* -*- Mode: C++; 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 . + */ +#ifndef _COM_SUN_STAR_CONNECTION_ALREADYACCEPTINGEXCEPTION_IDL_ +#define _COM_SUN_STAR_CONNECTION_ALREADYACCEPTINGEXCEPTION_IDL_ +#include <com/sun/star/uno/Exception.idl> + + module com { module sun { module star { module connection { + +/** Is thrown, when there is another thread already accepting on this instance. + */ +published exception AlreadyAcceptingException: com::sun::star::uno::Exception +{ +}; + + +};};};}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/connection/ConnectionSetupException.idl b/udkapi/com/sun/star/connection/ConnectionSetupException.idl new file mode 100644 index 000000000..816454afd --- /dev/null +++ b/udkapi/com/sun/star/connection/ConnectionSetupException.idl @@ -0,0 +1,36 @@ +/* -*- Mode: C++; 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 . + */ +#ifndef _COM_SUN_STAR_CONNECTION_CONNECTIONSETUPEXCEPTION_IDL_ +#define _COM_SUN_STAR_CONNECTION_CONNECTIONSETUPEXCEPTION_IDL_ +#include <com/sun/star/uno/Exception.idl> + + module com { module sun { module star { module connection { + +/** Is thrown, when it is not possible to accept on a local resource. + */ +published exception ConnectionSetupException: com::sun::star::uno::Exception +{ +}; + + +};};};}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/connection/Connector.idl b/udkapi/com/sun/star/connection/Connector.idl new file mode 100644 index 000000000..b5fecbb66 --- /dev/null +++ b/udkapi/com/sun/star/connection/Connector.idl @@ -0,0 +1,40 @@ +/* -*- Mode: C++; 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 . + */ +#ifndef __com_sun_star_connection_Connector_idl__ +#define __com_sun_star_connection_Connector_idl__ + + + module com { module sun { module star { module connection { + +published interface XConnector; + + +/** allows to establish a connection to another process. + <p> + Connector is a delegating service. You can add further connectors by giving + them a service name com.sun.star.connection.Connector.xxx, where xxx is the + connection type used in the connection string during accept()/connect() call. + */ +published service Connector: XConnector; + + +}; }; }; }; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/connection/NoConnectException.idl b/udkapi/com/sun/star/connection/NoConnectException.idl new file mode 100644 index 000000000..63044bdf3 --- /dev/null +++ b/udkapi/com/sun/star/connection/NoConnectException.idl @@ -0,0 +1,36 @@ +/* -*- Mode: C++; 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 . + */ +#ifndef _COM_SUN_STAR_CONNECTION_NOCONNECTEXCEPTION_IDL_ +#define _COM_SUN_STAR_CONNECTION_NOCONNECTEXCEPTION_IDL_ +#include <com/sun/star/uno/Exception.idl> + +module com { module sun { module star { module connection { + +/** Is thrown in case no one is accepting on the specified resource. + */ +published exception NoConnectException: com::sun::star::uno::Exception +{ +}; + + +};};};}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/connection/SocketPermission.idl b/udkapi/com/sun/star/connection/SocketPermission.idl new file mode 100644 index 000000000..7f838a25f --- /dev/null +++ b/udkapi/com/sun/star/connection/SocketPermission.idl @@ -0,0 +1,95 @@ +/* -*- Mode: C++; 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 . + */ +#ifndef __com_sun_star_connection_SocketPermission_idl__ +#define __com_sun_star_connection_SocketPermission_idl__ + + +module com { module sun { module star { module connection { + + +/** This permission represents access to a network via sockets. + A SocketPermission consists of a host specification and a set of actions + specifying ways to connect to that host. The host is specified as + <pre> + host = (hostname | IPaddress)[:portrange] + portrange = portnumber | -portnumber | portnumber-[portnumber] + </pre> + The host is expressed as a DNS name, as a numerical IP address, or as + <code>"localhost"</code> (for the local machine). The wildcard <code>"*"</code> + may be included once + in a DNS name host specification. If it is included, it must be in the + leftmost position, as in <code>"*.sun.com"</code>. + <br> + The port or portrange is optional. A port specification of the form <code>"N-"</code>, + where <code>N</code> is a port number, signifies all ports numbered <code>N</code> and above, + while a specification of the form <code>"-N"</code> indicates all ports numbered + <code>N</code> and below. + + <p> + The possible ways to connect to the host are + <ul> + <li><code>accept</code></li> + <li><code>connect</code></li> + <li><code>listen</code></li> + <li><code>resolve</code></li> + </ul><br> + The <code>"listen"</code> action is only meaningful when used with <code>"localhost"</code>. + The <code>"resolve"</code> (resolve host/ip name service lookups) action is implied when + any of the other actions are present. + <br> + As an example of the creation and meaning of SocketPermissions, note that if + the following permission +<pre> +SocketPermission("foo.bar.com:7777", "connect,accept"); +</pre> + is granted, it allows to connect to port 7777 on foo.bar.com, and to + accept connections on that port. + <br> + Similarly, if the following permission +<pre> +SocketPermission("localhost:1024-", "accept,connect,listen"); +</pre> + is granted, it allows that code to accept connections on, connect to, or listen + on any port between 1024 and 65535 on the local host. + </p> + + @attention + Granting code permission to accept or make connections to remote hosts may be + dangerous because malevolent code can then more easily transfer and share + confidential data among parties who may not otherwise have access to the data. + </p> + + @since OOo 1.1.2 +*/ +published struct SocketPermission +{ + /** target host with optional portrange + */ + string Host; + /** comma separated actions list + */ + string Actions; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/connection/XAcceptor.idl b/udkapi/com/sun/star/connection/XAcceptor.idl new file mode 100644 index 000000000..c75469d81 --- /dev/null +++ b/udkapi/com/sun/star/connection/XAcceptor.idl @@ -0,0 +1,76 @@ +/* -*- Mode: C++; 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 . + */ +#ifndef _COM_SUN_STAR_CONNECTION_XACCEPTOR_IDL_ +#define _COM_SUN_STAR_CONNECTION_XACCEPTOR_IDL_ + +#include <com/sun/star/connection/ConnectionSetupException.idl> +#include <com/sun/star/connection/AlreadyAcceptingException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/connection/XConnection.idl> + + +module com { module sun { module star { module connection { + +/** allows to passively accept connection attempts from other processes. + + <p> + This is the counterpart to the XConnector interface. + */ +published interface XAcceptor: com::sun::star::uno::XInterface +{ + /** accepts an interprocess connection. Waits until someone connects to the resource. + <p> + After a successful return, the method may be called again to accept + further connections, but the parameter string MUST be left unchanged. + + + @param sConnectionDescription + contains the kind of the connection plus a + comma separated list of attributes, + e.g., <em>socket,host=localhost,port=2345</em> for a tcpip connection. + + @return null reference, + stopAccepting was called. + Otherwise a valid XConnection reference. + + @throws AlreadyAcceptingException + Only one acceptor-thread per instance allowed. + @throws ConnectionSetupException + Problems during setting up the acceptor. + (e.g., Security-reasons, socket already busy, etc.) + @throws com::sun::star::lang::IllegalArgumentException + sConnectionDescription could not be interpreted + + */ + XConnection accept( [in] string sConnectionDescription ) + raises( AlreadyAcceptingException, + ConnectionSetupException, + com::sun::star::lang::IllegalArgumentException); + + + /** pushes acceptor out of the accept-call. + */ + void stopAccepting(); +}; + +};};};}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/connection/XConnection.idl b/udkapi/com/sun/star/connection/XConnection.idl new file mode 100644 index 000000000..e8325775c --- /dev/null +++ b/udkapi/com/sun/star/connection/XConnection.idl @@ -0,0 +1,92 @@ +/* -*- Mode: C++; 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 . + */ +#ifndef _COM_SUN_STAR_CONNECTION_XCONNECTION_IDL_ +#define _COM_SUN_STAR_CONNECTION_XCONNECTION_IDL_ + +#include <com/sun/star/io/IOException.idl> + + +module com { module sun { module star { module connection { + +/** A bidirectional bytestream. + + <p> You should additionally implement XConnection2. + + @see XConnection2 + */ +published interface XConnection: com::sun::star::uno::XInterface +{ + + /** reads a requested number of bytes from the connection. + <p> This method is blocking, meaning that it always returns a bytesequence + with the requested number of bytes, unless it has reached end of file (which + often means, that close() has been called). + + <p> please see also the readSomeBytes() method of XConnection2. + + @return The read number of bytes. + The return value and the length of the + returned sequence must be identical. + @param aReadBytes + The buffer to receive the read bytes. + @param nBytesToRead + The number of bytes to be read from the stream. + + @throws com::sun::star::io::IOException + in case an error occurred during reading from the stream. + */ + long read( [out] sequence < byte > aReadBytes , [in] long nBytesToRead ) + raises( com::sun::star::io::IOException ); + + /** writes the given bytesequence to the stream. + <p>The method blocks until the whole sequence is written. + + @throws com::sun::star::io::IOException + in case an error occurred during writing to the stream. + */ + void write( [in] sequence < byte > aData ) + raises( com::sun::star::io::IOException ); + + + /** Empties all internal buffers. + */ + void flush( ) + raises( com::sun::star::io::IOException ); + + /** Immediately terminates any ongoing read or write calls. + All subsequent read or write calls() + */ + void close( ) + raises( com::sun::star::io::IOException ); + + + /** A unique string describing the connection. + + <p>This string is different from the arguments to XConnection::accept() + and XConnector::connect(). In general, the string contains an additional + handle value. For example, "socket,host=localhost,port=2002,uniqueValue=2324". </p> + */ + string getDescription(); +}; + +};};};}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/connection/XConnection2.idl b/udkapi/com/sun/star/connection/XConnection2.idl new file mode 100644 index 000000000..74e4796d5 --- /dev/null +++ b/udkapi/com/sun/star/connection/XConnection2.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; 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 . + */ +#ifndef _COM_SUN_STAR_CONNECTION_XCONNECTION2_IDL_ +#define _COM_SUN_STAR_CONNECTION_XCONNECTION2_IDL_ + +#include <com/sun/star/io/IOException.idl> +#include <com/sun/star/io/BufferSizeExceededException.idl> +#include <com/sun/star/io/NotConnectedException.idl> + +#include <com/sun/star/connection/XConnection.idl> + + +module com { module sun { module star { module connection { + + + + +/** + XConnection2 extends the <code>XConnection</code> interface + with <code>available</code> and <code>readSomeBytes</code> +*/ +published interface XConnection2: com::sun::star::connection::XConnection +{ + + /** Gives the number of bytes available via <code>read</code> + without blocking. + */ + long available() raises(com::sun::star::io::IOException); + + /** Blocks if no data is available otherwise reads at + max <var>nMaxBytesToRead</var> but at least 1 byte. + </p> + */ + long readSomeBytes([out] sequence<byte> aData, [in] long nMaxBytesToRead) + raises(com::sun::star::io::IOException); +}; + +};};};}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/connection/XConnectionBroadcaster.idl b/udkapi/com/sun/star/connection/XConnectionBroadcaster.idl new file mode 100644 index 000000000..b60b3c5c5 --- /dev/null +++ b/udkapi/com/sun/star/connection/XConnectionBroadcaster.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; 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 . + */ +#ifndef _COM_SUN_STAR_CONNECTION_XCONNECTIONBROADCASTER_IDL_ +#define _COM_SUN_STAR_CONNECTION_XCONNECTIONBROADCASTER_IDL_ + +#include <com/sun/star/io/XStreamListener.idl> + + + module com { module sun { module star { module connection { + + + + +/** allows to add listeners to a connection. + <p> Maybe supported by connections returned from XAcceptor::accept() + or XConnector::connect(). + */ +published interface XConnectionBroadcaster: com::sun::star::uno::XInterface +{ + + /** registers an object to receive events from this connection. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + void addStreamListener( [in] com::sun::star::io::XStreamListener aListener ); + + + /** unregisters an object to receive events from this connection. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + void removeStreamListener( [in] com::sun::star::io::XStreamListener aListener ); +}; + +};};};}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/connection/XConnector.idl b/udkapi/com/sun/star/connection/XConnector.idl new file mode 100644 index 000000000..93709195f --- /dev/null +++ b/udkapi/com/sun/star/connection/XConnector.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; 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 . + */ +#ifndef _COM_SUN_STAR_CONNECTION_XCONNECTOR_IDL_ +#define _COM_SUN_STAR_CONNECTION_XCONNECTOR_IDL_ + +#include <com/sun/star/connection/ConnectionSetupException.idl> +#include <com/sun/star/connection/NoConnectException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/connection/XConnection.idl> + + +module com { module sun { module star { module connection { + +/** + allows to actively establish an interprocess connection. + */ +published interface XConnector: com::sun::star::uno::XInterface +{ + /** creates a new connection interprocess connection. + <p> + Tries to connect to an XAcceptor. Behavior is unspecified + if a call to connect is made when another call to connect either has not + yet returned or has returned successfully without raising an exception. + + @param sConnectionDescription + contains the kind of the connection plus a + comma separated list of attributes, + e.g., <em>socket,host=localhost,port=2345</em> for a tcpip connection. + + @throws ConnectionSetupException + Problems during setting up the connector + on client side, (e.g., Security-reasons, socket already busy .. ), + or the string could not be interpreted correctly. + + @throws NoConnectException + Couldn't reach a server (e.g. network failure), + no server is listening + */ + XConnection connect( [in] string sConnectionDescription ) + raises( NoConnectException,ConnectionSetupException ); +}; + + +};};};}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |