Add GNU LGPL headers to all .c .C and .h files
[oweals/cde.git] / cde / lib / tt / slib / mp_rpc_server.h
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /*%%  (c) Copyright 1993, 1994 Hewlett-Packard Company                   */
24 /*%%  (c) Copyright 1993, 1994 International Business Machines Corp.     */
25 /*%%  (c) Copyright 1993, 1994 Sun Microsystems, Inc.                    */
26 /*%%  (c) Copyright 1993, 1994 Novell, Inc.                              */
27 /*%%  $TOG: mp_rpc_server.h /main/4 1999/08/30 11:03:46 mgreess $                                                        */
28 /*
29  *
30  * @(#)mp_rpc_server.h  1.8 93/09/07
31  *
32  * Copyright (c) 1990,1993 by Sun Microsystems, Inc.
33  *
34  * Implementation of _Tt_rpc_server which represents a provider of an
35  * RPC service and _Tt_rpc_client which represents the corresponding
36  * RPC client.
37  */
38 #ifndef _TT_MP_RPC_SERVER_H
39 #define _TT_MP_RPC_SERVER_H
40
41 #include "mp/mp_auth.h"
42 #include "mp/mp_rpc.h"
43
44 class _Tt_rpc_server : public _Tt_object {
45       public:
46         _Tt_rpc_server() {};
47         _Tt_rpc_server(int program, int version, int Rsocket, _Tt_auth &auth);
48         virtual ~_Tt_rpc_server();
49         int                     init(void (*service_fn)(svc_req *, SVCXPRT *));
50         _Tt_rpcsrv_err          run_until(int *stop, int sec_timeout,
51                                     _Tt_int_rec_list_ptr &efds);
52         int                     program() { return _program; };
53         int                     version() { return _version; };
54       private:
55         _Tt_auth                _auth;
56         int                     _program;
57         int                     _version;
58         int                     _socket;
59         int                     _rpc_fd;
60         SVCXPRT                 *_transp;
61 };
62
63 #endif                          /* _TT_MP_RPC_SERVER_H */