epoc32/include/stdapis/dbus-1.0/dbus/dbus-glib.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:27:01 +0100
branchSymbian2
changeset 3 e1b950c65cb4
permissions -rw-r--r--
Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
williamr@2
     1
/* -*- mode: C; c-file-style: "gnu" -*- */
williamr@2
     2
/* dbus-glib.h GLib integration
williamr@2
     3
 *
williamr@2
     4
 * Copyright (C) 2002, 2003  CodeFactory AB
williamr@2
     5
 * Copyright (C) 2003, 2004 Red Hat, Inc.
williamr@2
     6
 * Portion Copyright © 2008 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
williamr@2
     7
 * Licensed under the Academic Free License version 2.1
williamr@2
     8
 * 
williamr@2
     9
 * This program is free software; you can redistribute it and/or modify
williamr@2
    10
 * it under the terms of the GNU General Public License as published by
williamr@2
    11
 * the Free Software Foundation; either version 2 of the License, or
williamr@2
    12
 * (at your option) any later version.
williamr@2
    13
 *
williamr@2
    14
 * This program is distributed in the hope that it will be useful,
williamr@2
    15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
williamr@2
    16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
williamr@2
    17
 * GNU General Public License for more details.
williamr@2
    18
 * 
williamr@2
    19
 * You should have received a copy of the GNU General Public License
williamr@2
    20
 * along with this program; if not, write to the Free Software
williamr@2
    21
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
williamr@2
    22
 *
williamr@2
    23
 */
williamr@2
    24
#ifndef DBUS_GLIB_H
williamr@2
    25
#define DBUS_GLIB_H
williamr@2
    26
williamr@2
    27
#include <glib-object.h>
williamr@2
    28
#include <dbus/dbus-shared.h>
williamr@2
    29
williamr@2
    30
G_BEGIN_DECLS
williamr@2
    31
williamr@2
    32
#define DBUS_INSIDE_DBUS_GLIB_H 1
williamr@2
    33
williamr@2
    34
williamr@2
    35
/**
williamr@2
    36
 * Convert to DBusConnection with dbus_g_connection_get_connection() in dbus-glib-lowlevel.h
williamr@2
    37
 */
williamr@2
    38
typedef struct _DBusGConnection DBusGConnection;
williamr@2
    39
/**
williamr@2
    40
 * Convert to DBusMessage with dbus_g_message_get_message() in dbus-glib-lowlevel.h
williamr@2
    41
 */
williamr@2
    42
typedef struct _DBusGMessage DBusGMessage;
williamr@2
    43
williamr@2
    44
williamr@2
    45
#define DBUS_TYPE_G_CONNECTION   (dbus_g_connection_get_g_type ())
williamr@2
    46
#define DBUS_TYPE_G_MESSAGE      (dbus_g_message_get_g_type ())
williamr@2
    47
#ifdef __SYMBIAN32__
williamr@2
    48
IMPORT_C
williamr@2
    49
#endif
williamr@2
    50
GType dbus_g_connection_get_g_type   (void) G_GNUC_CONST;
williamr@2
    51
#ifdef __SYMBIAN32__
williamr@2
    52
IMPORT_C
williamr@2
    53
#endif
williamr@2
    54
GType dbus_g_message_get_g_type      (void) G_GNUC_CONST;
williamr@2
    55
williamr@2
    56
williamr@2
    57
#ifdef __SYMBIAN32__
williamr@2
    58
IMPORT_C
williamr@2
    59
#endif
williamr@2
    60
DBusGConnection*  dbus_g_connection_ref          (DBusGConnection        *connection);
williamr@2
    61
#ifdef __SYMBIAN32__
williamr@2
    62
IMPORT_C
williamr@2
    63
#endif
williamr@2
    64
void              dbus_g_connection_unref        (DBusGConnection        *connection);
williamr@2
    65
#ifdef __SYMBIAN32__
williamr@2
    66
IMPORT_C
williamr@2
    67
#endif
williamr@2
    68
DBusGMessage*     dbus_g_message_ref             (DBusGMessage           *message);
williamr@2
    69
#ifdef __SYMBIAN32__
williamr@2
    70
IMPORT_C
williamr@2
    71
#endif
williamr@2
    72
void              dbus_g_message_unref           (DBusGMessage           *message);
williamr@2
    73
williamr@2
    74
#ifdef __SYMBIAN32__
williamr@2
    75
IMPORT_C
williamr@2
    76
#endif
williamr@2
    77
void              dbus_g_connection_flush        (DBusGConnection        *connection);
williamr@2
    78
williamr@2
    79
#ifdef __SYMBIAN32__
williamr@2
    80
IMPORT_C
williamr@2
    81
#endif
williamr@2
    82
GQuark dbus_g_error_quark (void);
williamr@2
    83
#define DBUS_GERROR dbus_g_error_quark ()
williamr@2
    84
williamr@2
    85
typedef enum
williamr@2
    86
{
williamr@2
    87
#ifndef __SYMBIAN32__	
williamr@2
    88
#include "dbus-glib-error-enum.h" 
williamr@2
    89
#else
williamr@2
    90
#include <dbus/dbus-glib-error-enum.h>
williamr@2
    91
#endif //__SYMBIAN32__
williamr@2
    92
} DBusGError;
williamr@2
    93
williamr@2
    94
#ifdef __SYMBIAN32__
williamr@2
    95
IMPORT_C
williamr@2
    96
#endif
williamr@2
    97
gboolean         dbus_g_error_has_name    (GError      *error,
williamr@2
    98
					   const char  *name);
williamr@2
    99
#ifdef __SYMBIAN32__
williamr@2
   100
IMPORT_C
williamr@2
   101
#endif
williamr@2
   102
const char *     dbus_g_error_get_name    (GError      *error);
williamr@2
   103
williamr@2
   104
#ifdef __SYMBIAN32__
williamr@2
   105
IMPORT_C
williamr@2
   106
#endif
williamr@2
   107
void             dbus_g_thread_init (void);
williamr@2
   108
williamr@2
   109
#ifdef __SYMBIAN32__
williamr@2
   110
IMPORT_C
williamr@2
   111
#endif
williamr@2
   112
DBusGConnection* dbus_g_connection_open (const gchar  *address,
williamr@2
   113
                                         GError      **error);
williamr@2
   114
#ifdef __SYMBIAN32__
williamr@2
   115
IMPORT_C
williamr@2
   116
#endif
williamr@2
   117
DBusGConnection* dbus_g_bus_get         (DBusBusType   type,
williamr@2
   118
                                         GError      **error);
williamr@2
   119
williamr@2
   120
typedef struct _DBusGObjectInfo DBusGObjectInfo;
williamr@2
   121
typedef struct _DBusGMethodInfo DBusGMethodInfo;
williamr@2
   122
williamr@2
   123
/**
williamr@2
   124
 * DBusGMethodInfo:
williamr@2
   125
 * @function: C method to invoke
williamr@2
   126
 * @marshaller: Marshaller to invoke method 
williamr@2
   127
 * @data_offset: Offset into the introspection data
williamr@2
   128
 *
williamr@2
   129
 * Object typically generated by #dbus-binding-tool that
williamr@2
   130
 * stores a mapping from introspection data to a
williamr@2
   131
 * function pointer for a C method to be invoked.
williamr@2
   132
 */
williamr@2
   133
struct _DBusGMethodInfo
williamr@2
   134
{
williamr@2
   135
  GCallback                 function;    
williamr@2
   136
  GClosureMarshal           marshaller;  
williamr@2
   137
  int                       data_offset; 
williamr@2
   138
};
williamr@2
   139
williamr@2
   140
/**
williamr@2
   141
 * DBusGObjectInfo:
williamr@2
   142
 * @format_version: Allows us to change the rest of this struct
williamr@2
   143
 *   by adding DBusGObjectInfo2, DBusGObjectInfo3, etc.
williamr@2
   144
 * @method_infos:  Array of method pointers 
williamr@2
   145
 * @n_method_infos: Length of the infos array 
williamr@2
   146
 * @data: Introspection data 
williamr@2
   147
 * @exported_signals: Exported signals
williamr@2
   148
 * @exported_properties: Exported properties 
williamr@2
   149
 *
williamr@2
   150
 * Introspection data for a #GObject, normally autogenerated by
williamr@2
   151
 * a tool such as #dbus-binding-tool.
williamr@2
   152
 */
williamr@2
   153
struct _DBusGObjectInfo
williamr@2
   154
{
williamr@2
   155
  int   format_version;
williamr@2
   156
                       
williamr@2
   157
  const DBusGMethodInfo *method_infos;
williamr@2
   158
  int   n_method_infos;                
williamr@2
   159
  const char *data; 
williamr@2
   160
  const char *exported_signals;  
williamr@2
   161
  const char *exported_properties; 
williamr@2
   162
};
williamr@2
   163
williamr@2
   164
#ifdef __SYMBIAN32__
williamr@2
   165
IMPORT_C
williamr@2
   166
#endif
williamr@2
   167
void       dbus_g_object_type_install_info     (GType                 object_type,
williamr@2
   168
                                                const DBusGObjectInfo *info);
williamr@2
   169
williamr@2
   170
#ifdef __SYMBIAN32__
williamr@2
   171
IMPORT_C
williamr@2
   172
#endif
williamr@2
   173
void       dbus_g_error_domain_register        (GQuark                domain,
williamr@2
   174
						const char *          default_iface,
williamr@2
   175
						GType                 code_enum);
williamr@2
   176
williamr@2
   177
#ifdef __SYMBIAN32__
williamr@2
   178
IMPORT_C
williamr@2
   179
#endif
williamr@2
   180
void       dbus_g_connection_register_g_object (DBusGConnection       *connection,
williamr@2
   181
						const char            *at_path,
williamr@2
   182
						GObject               *object);
williamr@2
   183
#ifdef __SYMBIAN32__
williamr@2
   184
IMPORT_C
williamr@2
   185
#endif
williamr@2
   186
GObject *  dbus_g_connection_lookup_g_object   (DBusGConnection       *connection,
williamr@2
   187
						const char            *at_path);
williamr@2
   188
williamr@2
   189
#ifdef DBUS_COMPILATION
williamr@2
   190
#include "dbus/dbus-gtype-specialized.h"
williamr@2
   191
#else
williamr@2
   192
#include <dbus/dbus-gtype-specialized.h>
williamr@2
   193
#endif
williamr@2
   194
williamr@2
   195
/* definitions for some basic array types */
williamr@2
   196
#define DBUS_TYPE_G_BOOLEAN_ARRAY  (dbus_g_type_get_collection ("GArray", G_TYPE_BOOLEAN))
williamr@2
   197
#define DBUS_TYPE_G_UCHAR_ARRAY    (dbus_g_type_get_collection ("GArray", G_TYPE_UCHAR))
williamr@2
   198
#define DBUS_TYPE_G_UINT_ARRAY     (dbus_g_type_get_collection ("GArray", G_TYPE_UINT))
williamr@2
   199
#define DBUS_TYPE_G_INT_ARRAY      (dbus_g_type_get_collection ("GArray", G_TYPE_INT))
williamr@2
   200
#define DBUS_TYPE_G_UINT64_ARRAY   (dbus_g_type_get_collection ("GArray", G_TYPE_UINT64))
williamr@2
   201
#define DBUS_TYPE_G_INT64_ARRAY    (dbus_g_type_get_collection ("GArray", G_TYPE_INT64))
williamr@2
   202
#define DBUS_TYPE_G_OBJECT_ARRAY   (dbus_g_type_get_collection ("GPtrArray", G_TYPE_OBJECT))
williamr@2
   203
williamr@2
   204
#define DBUS_TYPE_G_STRING_STRING_HASHTABLE (dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_STRING))
williamr@2
   205
williamr@2
   206
#ifdef __SYMBIAN32__
williamr@2
   207
IMPORT_C
williamr@2
   208
#endif
williamr@2
   209
GType        dbus_g_object_path_get_g_type         (void) G_GNUC_CONST;
williamr@2
   210
#define DBUS_TYPE_G_OBJECT_PATH (dbus_g_object_path_get_g_type ())
williamr@2
   211
williamr@2
   212
#ifdef __SYMBIAN32__
williamr@2
   213
IMPORT_C
williamr@2
   214
#endif
williamr@2
   215
void         dbus_g_object_register_marshaller      (GClosureMarshal  marshaller,
williamr@2
   216
						     GType            rettype,
williamr@2
   217
						     ...);
williamr@2
   218
void         dbus_g_object_register_marshaller_array(GClosureMarshal  marshaller,
williamr@2
   219
						     GType            rettype,
williamr@2
   220
						     guint            n_types,
williamr@2
   221
						     const GType*     types);
williamr@2
   222
williamr@2
   223
typedef struct _DBusGProxy       DBusGProxy;
williamr@2
   224
typedef struct _DBusGProxyClass  DBusGProxyClass;
williamr@2
   225
williamr@2
   226
#define DBUS_TYPE_G_PROXY              (dbus_g_proxy_get_type ())
williamr@2
   227
#define DBUS_G_PROXY(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), DBUS_TYPE_G_PROXY, DBusGProxy))
williamr@2
   228
#define DBUS_G_PROXY_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), DBUS_TYPE_G_PROXY, DBusGProxyClass))
williamr@2
   229
#define DBUS_IS_G_PROXY(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), DBUS_TYPE_G_PROXY))
williamr@2
   230
#define DBUS_IS_G_PROXY_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), DBUS_TYPE_G_PROXY))
williamr@2
   231
#define DBUS_G_PROXY_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), DBUS_TYPE_G_PROXY, DBusGProxyClass))
williamr@2
   232
williamr@2
   233
struct _DBusGProxy
williamr@2
   234
{
williamr@2
   235
  GObject parent;
williamr@2
   236
};
williamr@2
   237
williamr@2
   238
struct _DBusGProxyClass
williamr@2
   239
{
williamr@2
   240
  GObjectClass parent_class;  /**< Parent class */
williamr@2
   241
};
williamr@2
   242
williamr@2
   243
typedef struct _DBusGProxyCall DBusGProxyCall;
williamr@2
   244
typedef void (* DBusGProxyCallNotify) (DBusGProxy       *proxy,
williamr@2
   245
				       DBusGProxyCall   *call_id,
williamr@2
   246
				       void             *user_data);
williamr@2
   247
williamr@2
   248
#ifdef __SYMBIAN32__
williamr@2
   249
IMPORT_C
williamr@2
   250
#endif
williamr@2
   251
GType             dbus_g_proxy_get_type              (void) G_GNUC_CONST;
williamr@2
   252
#ifdef __SYMBIAN32__
williamr@2
   253
IMPORT_C
williamr@2
   254
#endif
williamr@2
   255
DBusGProxy*       dbus_g_proxy_new_for_name          (DBusGConnection   *connection,
williamr@2
   256
                                                      const char        *name,
williamr@2
   257
                                                      const char        *path,
williamr@2
   258
                                                      const char        *interface);
williamr@2
   259
#ifdef __SYMBIAN32__
williamr@2
   260
IMPORT_C
williamr@2
   261
#endif
williamr@2
   262
DBusGProxy*       dbus_g_proxy_new_for_name_owner    (DBusGConnection   *connection,
williamr@2
   263
                                                      const char        *name,
williamr@2
   264
                                                      const char        *path,
williamr@2
   265
                                                      const char        *interface,
williamr@2
   266
                                                      GError           **error);
williamr@2
   267
#ifdef __SYMBIAN32__
williamr@2
   268
IMPORT_C
williamr@2
   269
#endif
williamr@2
   270
DBusGProxy*       dbus_g_proxy_new_from_proxy        (DBusGProxy        *proxy,
williamr@2
   271
                                                      const char        *interface,
williamr@2
   272
                                                      const char        *path_name);
williamr@2
   273
#ifdef __SYMBIAN32__
williamr@2
   274
IMPORT_C
williamr@2
   275
#endif
williamr@2
   276
DBusGProxy*       dbus_g_proxy_new_for_peer          (DBusGConnection   *connection,
williamr@2
   277
                                                      const char        *path_name,
williamr@2
   278
                                                      const char        *interface_name);
williamr@2
   279
williamr@2
   280
#ifdef __SYMBIAN32__
williamr@2
   281
IMPORT_C
williamr@2
   282
#endif
williamr@2
   283
void              dbus_g_proxy_set_interface         (DBusGProxy        *proxy,
williamr@2
   284
						      const char        *interface_name);
williamr@2
   285
#ifdef __SYMBIAN32__
williamr@2
   286
IMPORT_C
williamr@2
   287
#endif
williamr@2
   288
void              dbus_g_proxy_add_signal            (DBusGProxy        *proxy,
williamr@2
   289
						      const char        *signal_name,
williamr@2
   290
						      GType              first_type, 
williamr@2
   291
						      ...);
williamr@2
   292
williamr@2
   293
#ifdef __SYMBIAN32__
williamr@2
   294
IMPORT_C
williamr@2
   295
#endif
williamr@2
   296
void              dbus_g_proxy_connect_signal        (DBusGProxy        *proxy,
williamr@2
   297
                                                      const char        *signal_name,
williamr@2
   298
                                                      GCallback          handler,
williamr@2
   299
                                                      void              *data,
williamr@2
   300
                                                      GClosureNotify     free_data_func);
williamr@2
   301
#ifdef __SYMBIAN32__
williamr@2
   302
IMPORT_C
williamr@2
   303
#endif
williamr@2
   304
void              dbus_g_proxy_disconnect_signal     (DBusGProxy        *proxy,
williamr@2
   305
                                                      const char        *signal_name,
williamr@2
   306
                                                      GCallback          handler,
williamr@2
   307
                                                      void              *data);
williamr@2
   308
williamr@2
   309
#ifdef __SYMBIAN32__
williamr@2
   310
IMPORT_C
williamr@2
   311
#endif
williamr@2
   312
gboolean          dbus_g_proxy_call                  (DBusGProxy        *proxy,
williamr@2
   313
						      const char        *method,
williamr@2
   314
						      GError           **error,
williamr@2
   315
						      GType              first_arg_type,
williamr@2
   316
						      ...);
williamr@2
   317
williamr@2
   318
#ifdef __SYMBIAN32__
williamr@2
   319
IMPORT_C
williamr@2
   320
#endif
williamr@2
   321
gboolean          dbus_g_proxy_call_with_timeout     (DBusGProxy        *proxy,
williamr@2
   322
				                      const char       *method,
williamr@2
   323
	                   			      int timeout,
williamr@2
   324
                   				      GError           **error,
williamr@2
   325
                   				      GType              first_arg_type,
williamr@2
   326
				                      ...);
williamr@2
   327
williamr@2
   328
#ifdef __SYMBIAN32__
williamr@2
   329
IMPORT_C
williamr@2
   330
#endif
williamr@2
   331
void              dbus_g_proxy_call_no_reply         (DBusGProxy        *proxy,
williamr@2
   332
                                                      const char        *method,
williamr@2
   333
                                                      GType              first_arg_type,
williamr@2
   334
                                                      ...);
williamr@2
   335
williamr@2
   336
#ifdef __SYMBIAN32__
williamr@2
   337
IMPORT_C
williamr@2
   338
#endif
williamr@2
   339
DBusGProxyCall *  dbus_g_proxy_begin_call            (DBusGProxy        *proxy,
williamr@2
   340
                                                      const char        *method,
williamr@2
   341
						      DBusGProxyCallNotify notify,
williamr@2
   342
						      gpointer           data,
williamr@2
   343
						      GDestroyNotify     destroy,
williamr@2
   344
                                                      GType              first_arg_type,
williamr@2
   345
                                                      ...);
williamr@2
   346
#ifdef __SYMBIAN32__
williamr@2
   347
IMPORT_C
williamr@2
   348
#endif
williamr@2
   349
DBusGProxyCall * dbus_g_proxy_begin_call_with_timeout (DBusGProxy        *proxy,
williamr@2
   350
		                                       const char       *method,
williamr@2
   351
		                                       DBusGProxyCallNotify notify,
williamr@2
   352
                                                       gpointer       user_data,
williamr@2
   353
                                                       GDestroyNotify   destroy,
williamr@2
   354
                                                       int timeout,
williamr@2
   355
                                                       GType             first_arg_type,
williamr@2
   356
				                       ...);
williamr@2
   357
williamr@2
   358
#ifdef __SYMBIAN32__
williamr@2
   359
IMPORT_C
williamr@2
   360
#endif
williamr@2
   361
gboolean          dbus_g_proxy_end_call              (DBusGProxy        *proxy,
williamr@2
   362
                                                      DBusGProxyCall    *call,
williamr@2
   363
                                                      GError           **error,
williamr@2
   364
                                                      GType              first_arg_type,
williamr@2
   365
                                                      ...);
williamr@2
   366
#ifdef __SYMBIAN32__
williamr@2
   367
IMPORT_C
williamr@2
   368
#endif
williamr@2
   369
void              dbus_g_proxy_cancel_call           (DBusGProxy        *proxy,
williamr@2
   370
                                                      DBusGProxyCall    *call);
williamr@2
   371
williamr@2
   372
#ifdef __SYMBIAN32__
williamr@2
   373
IMPORT_C
williamr@2
   374
#endif
williamr@2
   375
const char*       dbus_g_proxy_get_path              (DBusGProxy        *proxy);
williamr@2
   376
williamr@2
   377
#ifdef __SYMBIAN32__
williamr@2
   378
IMPORT_C
williamr@2
   379
#endif
williamr@2
   380
const char*       dbus_g_proxy_get_bus_name          (DBusGProxy        *proxy);
williamr@2
   381
williamr@2
   382
#ifdef __SYMBIAN32__
williamr@2
   383
IMPORT_C
williamr@2
   384
#endif
williamr@2
   385
const char*       dbus_g_proxy_get_interface         (DBusGProxy        *proxy);
williamr@2
   386
williamr@2
   387
typedef struct _DBusGMethodInvocation DBusGMethodInvocation;
williamr@2
   388
williamr@2
   389
#ifdef __SYMBIAN32__
williamr@2
   390
IMPORT_C
williamr@2
   391
#endif
williamr@2
   392
void              dbus_g_method_return               (DBusGMethodInvocation *context, ...);
williamr@2
   393
williamr@2
   394
#ifdef __SYMBIAN32__
williamr@2
   395
IMPORT_C
williamr@2
   396
#endif
williamr@2
   397
void              dbus_g_method_return_error         (DBusGMethodInvocation *context, GError *error);
williamr@2
   398
williamr@2
   399
/* Probably possible to replace this with a closure */
williamr@2
   400
typedef struct {
williamr@2
   401
  GCallback cb;
williamr@2
   402
  gpointer userdata;
williamr@2
   403
} DBusGAsyncData;
williamr@2
   404
williamr@2
   405
#undef DBUS_INSIDE_DBUS_GLIB_H
williamr@2
   406
williamr@2
   407
G_END_DECLS
williamr@2
   408
williamr@2
   409
#endif /* DBUS_GLIB_H */