source: trunk/third/bonobo/bonobo/bonobo-async.h @ 16750

Revision 16750, 1.5 KB checked in by ghudson, 23 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r16749, which included commits to RCS files with non-trunk default branches.
Line 
1/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2/**
3 * bonobo-async.h: Code to make hand written
4 * async CORBA wrappers easy to write.
5 *
6 * Author:
7 *     Miguel de Icaza (miguel@gnu.org).
8 *
9 * Copyright 2000 Helix Code, Inc.
10 */
11#ifndef _BONOBO_ASYNC_H_
12#define _BONOBO_ASYNC_H_
13
14#include <glib.h>
15#include <orb/orbit.h>
16#include <libgnome/gnome-defs.h>
17
18BEGIN_GNOME_DECLS
19
20typedef enum {
21        BONOBO_ASYNC_IN  = 0x1,
22        BONOBO_ASYNC_OUT = 0x2
23} BonoboAsyncArgFlag;
24
25typedef struct {
26        const CORBA_TypeCode  type;
27        BonoboAsyncArgFlag    flag;
28} BonoboAsyncArg;
29
30typedef struct {
31        const char           *name;
32        const CORBA_TypeCode  ret_type;
33        const BonoboAsyncArg *arguments;  /* NULL-terminated */
34        const CORBA_TypeCode *exceptions; /* NULL-terminated */
35} BonoboAsyncMethod;
36
37typedef struct _BonoboAsyncReply BonoboAsyncReply;
38
39typedef void (*BonoboAsyncCallback) (BonoboAsyncReply  *reply,
40                                     CORBA_Environment *ev,
41                                     gpointer           user_data);
42
43void bonobo_async_demarshal (BonoboAsyncReply        *reply,
44                             gpointer                 retval,
45                             gpointer                *out_args);
46
47void bonobo_async_invoke    (const BonoboAsyncMethod *method,
48                             BonoboAsyncCallback      cb,
49                             gpointer                 user_data,
50                             guint                    timeout_msec,
51                             CORBA_Object             object,
52                             gpointer                *args,
53                             CORBA_Environment       *ev);
54
55GIOPRecvBuffer *bonobo_async_handle_get_recv (BonoboAsyncReply *reply);
56
57END_GNOME_DECLS
58
59#endif /* _BONOBO_ASYNC_H_ */
60
Note: See TracBrowser for help on using the repository browser.