1*b1cdbd2cSJim Jagielski/**************************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski *************************************************************/
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski#ifndef _COM_SUN_STAR_CONNECTION_XACCEPTOR_IDL_
24*b1cdbd2cSJim Jagielski#define _COM_SUN_STAR_CONNECTION_XACCEPTOR_IDL_
25*b1cdbd2cSJim Jagielski
26*b1cdbd2cSJim Jagielski#include <com/sun/star/connection/ConnectionSetupException.idl>
27*b1cdbd2cSJim Jagielski#include <com/sun/star/connection/AlreadyAcceptingException.idl>
28*b1cdbd2cSJim Jagielski#include <com/sun/star/lang/IllegalArgumentException.idl>
29*b1cdbd2cSJim Jagielski#include <com/sun/star/connection/XConnection.idl>
30*b1cdbd2cSJim Jagielski
31*b1cdbd2cSJim Jagielski
32*b1cdbd2cSJim Jagielskimodule com {  module sun {  module star {  module connection {
33*b1cdbd2cSJim Jagielski
34*b1cdbd2cSJim Jagielski/** allows to passively accept connection attempts from other processes.
35*b1cdbd2cSJim Jagielski
36*b1cdbd2cSJim Jagielski	<p>
37*b1cdbd2cSJim Jagielski	This is the counterpart to the XConnector interface.
38*b1cdbd2cSJim Jagielski */
39*b1cdbd2cSJim Jagielskipublished interface XAcceptor: com::sun::star::uno::XInterface
40*b1cdbd2cSJim Jagielski{
41*b1cdbd2cSJim Jagielski	// DocMerge from xml: method com::sun::star::connection::XAcceptor::accept
42*b1cdbd2cSJim Jagielski	/** accepts an interprocess connection. Waits until someone connects to the resource.
43*b1cdbd2cSJim Jagielski	    <p>
44*b1cdbd2cSJim Jagielski        After a successful return, the method may be called again to accept
45*b1cdbd2cSJim Jagielski	    further connections, but the parameter string MUST be left unchanged.
46*b1cdbd2cSJim Jagielski
47*b1cdbd2cSJim Jagielski
48*b1cdbd2cSJim Jagielski	   @param sConnectionDescription
49*b1cdbd2cSJim Jagielski				contains the kind of the connection plus a
50*b1cdbd2cSJim Jagielski		      comma seperated list of attributes,
51*b1cdbd2cSJim Jagielski			   e.g., <em>socket,host=localhost,port=2345</em> for a tcpip connection.
52*b1cdbd2cSJim Jagielski
53*b1cdbd2cSJim Jagielski	   @return null reference,
54*b1cdbd2cSJim Jagielski			stopAccepting was called.
55*b1cdbd2cSJim Jagielski			Otherwise a valid XConnection reference.
56*b1cdbd2cSJim Jagielski
57*b1cdbd2cSJim Jagielski	   @throws AlreadyAcceptingException
58*b1cdbd2cSJim Jagielski				Only one acceptor-thread per instance allowed.
59*b1cdbd2cSJim Jagielski	   @throws ConnectionSetupException
60*b1cdbd2cSJim Jagielski			Problems during setting up the acceptor.
61*b1cdbd2cSJim Jagielski	      (e.g., Security-reasons, socket already busy, etc.)
62*b1cdbd2cSJim Jagielski	   @throws com::sun::star::lang::IllegalArgumentException
63*b1cdbd2cSJim Jagielski	              sConnectionDescription could not be interpreted
64*b1cdbd2cSJim Jagielski
65*b1cdbd2cSJim Jagielski	 */
66*b1cdbd2cSJim Jagielski	XConnection accept( [in] string sConnectionDescription )
67*b1cdbd2cSJim Jagielski		raises( AlreadyAcceptingException,
68*b1cdbd2cSJim Jagielski				ConnectionSetupException,
69*b1cdbd2cSJim Jagielski				com::sun::star::lang::IllegalArgumentException);
70*b1cdbd2cSJim Jagielski
71*b1cdbd2cSJim Jagielski
72*b1cdbd2cSJim Jagielski	/** pushes acceptor out of the accept-call.
73*b1cdbd2cSJim Jagielski	 */
74*b1cdbd2cSJim Jagielski	void stopAccepting();
75*b1cdbd2cSJim Jagielski};
76*b1cdbd2cSJim Jagielski
77*b1cdbd2cSJim Jagielski};};};};
78*b1cdbd2cSJim Jagielski
79*b1cdbd2cSJim Jagielski#endif
80