00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
#if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION)
00024
#error "Only <dbus/dbus.h> can be included directly, this file may disappear or change contents."
00025
#endif
00026
00027
#ifndef DBUS_MESSAGE_H
00028
#define DBUS_MESSAGE_H
00029
00030
#include <dbus/dbus-macros.h>
00031
#include <dbus/dbus-types.h>
00032
#include <dbus/dbus-arch-deps.h>
00033
#include <dbus/dbus-memory.h>
00034
#include <dbus/dbus-errors.h>
00035
#include <stdarg.h>
00036
00037
DBUS_BEGIN_DECLS;
00038
00039 typedef struct DBusMessage DBusMessage;
00040
typedef struct DBusMessageIter DBusMessageIter;
00041
00045 struct DBusMessageIter
00046 {
00047 void *
dummy1;
00048 void *
dummy2;
00049 dbus_uint32_t dummy3;
00050 int dummy4;
00051 int dummy5;
00052 int dummy6;
00053 int dummy7;
00054 int dummy8;
00055 int dummy9;
00056 int dummy10;
00057 int dummy11;
00058 int pad1;
00059 int pad2;
00060 void *
pad3;
00061 };
00062
00063
DBusMessage*
dbus_message_new (
int message_type);
00064
DBusMessage*
dbus_message_new_method_call (
const char *service,
00065
const char *path,
00066
const char *interface,
00067
const char *method);
00068
DBusMessage*
dbus_message_new_method_return (DBusMessage *method_call);
00069
DBusMessage*
dbus_message_new_signal (
const char *path,
00070
const char *interface,
00071
const char *name);
00072
DBusMessage*
dbus_message_new_error (DBusMessage *reply_to,
00073
const char *error_name,
00074
const char *error_message);
00075
DBusMessage*
dbus_message_new_error_printf (DBusMessage *reply_to,
00076
const char *error_name,
00077
const char *error_format,
00078 ...);
00079
00080
DBusMessage*
dbus_message_copy (
const DBusMessage *message);
00081
00082
DBusMessage*
dbus_message_ref (DBusMessage *message);
00083
void dbus_message_unref (DBusMessage *message);
00084
int dbus_message_get_type (DBusMessage *message);
00085
dbus_bool_t dbus_message_set_path (DBusMessage *message,
00086
const char *object_path);
00087
const char*
dbus_message_get_path (DBusMessage *message);
00088
dbus_bool_t dbus_message_set_interface (DBusMessage *message,
00089
const char *interface);
00090
const char*
dbus_message_get_interface (DBusMessage *message);
00091
dbus_bool_t dbus_message_set_member (DBusMessage *message,
00092
const char *member);
00093
const char*
dbus_message_get_member (DBusMessage *message);
00094
dbus_bool_t dbus_message_set_error_name (DBusMessage *message,
00095
const char *name);
00096
const char*
dbus_message_get_error_name (DBusMessage *message);
00097
dbus_bool_t dbus_message_set_destination (DBusMessage *message,
00098
const char *destination);
00099
const char*
dbus_message_get_destination (DBusMessage *message);
00100
dbus_bool_t dbus_message_set_sender (DBusMessage *message,
00101
const char *sender);
00102
const char*
dbus_message_get_sender (DBusMessage *message);
00103
const char*
dbus_message_get_signature (DBusMessage *message);
00104
void dbus_message_set_no_reply (DBusMessage *message,
00105
dbus_bool_t no_reply);
00106
dbus_bool_t dbus_message_get_no_reply (DBusMessage *message);
00107
dbus_bool_t dbus_message_is_method_call (DBusMessage *message,
00108
const char *interface,
00109
const char *method);
00110
dbus_bool_t dbus_message_is_signal (DBusMessage *message,
00111
const char *interface,
00112
const char *signal_name);
00113
dbus_bool_t dbus_message_is_error (DBusMessage *message,
00114
const char *error_name);
00115
dbus_bool_t dbus_message_has_destination (DBusMessage *message,
00116
const char *service);
00117
dbus_bool_t dbus_message_has_sender (DBusMessage *message,
00118
const char *service);
00119
dbus_bool_t dbus_message_has_signature (DBusMessage *message,
00120
const char *signature);
00121
dbus_uint32_t dbus_message_get_serial (DBusMessage *message);
00122
dbus_bool_t dbus_message_set_reply_serial (DBusMessage *message,
00123
dbus_uint32_t reply_serial);
00124
dbus_uint32_t dbus_message_get_reply_serial (DBusMessage *message);
00125
00126
void dbus_message_set_auto_activation (DBusMessage *message,
00127
dbus_bool_t auto_activation);
00128
dbus_bool_t dbus_message_get_auto_activation (DBusMessage *message);
00129
00130
dbus_bool_t dbus_message_get_path_decomposed (DBusMessage *message,
00131
char ***path);
00132
00133
dbus_bool_t dbus_message_append_args (DBusMessage *message,
00134
int first_arg_type,
00135 ...);
00136
dbus_bool_t dbus_message_append_args_valist (DBusMessage *message,
00137
int first_arg_type,
00138 va_list var_args);
00139
dbus_bool_t dbus_message_get_args (DBusMessage *message,
00140
DBusError *error,
00141
int first_arg_type,
00142 ...);
00143
dbus_bool_t dbus_message_get_args_valist (DBusMessage *message,
00144
DBusError *error,
00145
int first_arg_type,
00146 va_list var_args);
00147
dbus_bool_t dbus_message_iter_get_args (DBusMessageIter *iter,
00148
DBusError *error,
00149
int first_arg_type,
00150 ...);
00151
dbus_bool_t dbus_message_iter_get_args_valist (DBusMessageIter *iter,
00152
DBusError *error,
00153
int first_arg_type,
00154 va_list var_args);
00155
00156
00157
dbus_bool_t dbus_message_iter_init (DBusMessage *message,
00158 DBusMessageIter *iter);
00159
dbus_bool_t dbus_message_iter_has_next (DBusMessageIter *iter);
00160
dbus_bool_t dbus_message_iter_next (DBusMessageIter *iter);
00161
int dbus_message_iter_get_arg_type (DBusMessageIter *iter);
00162
int dbus_message_iter_get_array_type (DBusMessageIter *iter);
00163
unsigned char dbus_message_iter_get_byte (DBusMessageIter *iter);
00164
dbus_bool_t dbus_message_iter_get_boolean (DBusMessageIter *iter);
00165
dbus_int32_t dbus_message_iter_get_int32 (DBusMessageIter *iter);
00166
dbus_uint32_t dbus_message_iter_get_uint32 (DBusMessageIter *iter);
00167
#ifdef DBUS_HAVE_INT64
00168
dbus_int64_t dbus_message_iter_get_int64 (DBusMessageIter *iter);
00169
dbus_uint64_t dbus_message_iter_get_uint64 (DBusMessageIter *iter);
00170
#endif
00171
double dbus_message_iter_get_double (DBusMessageIter *iter);
00172
char *
dbus_message_iter_get_string (DBusMessageIter *iter);
00173
char *
dbus_message_iter_get_object_path (DBusMessageIter *iter);
00174
char *
dbus_message_iter_get_dict_key (DBusMessageIter *iter);
00175
dbus_bool_t dbus_message_iter_get_custom (DBusMessageIter *iter,
00176
char **name,
00177
unsigned char **value,
00178
int *len);
00179
00180
dbus_bool_t dbus_message_iter_init_array_iterator (DBusMessageIter *iter,
00181 DBusMessageIter *array_iter,
00182
int *array_type);
00183
dbus_bool_t dbus_message_iter_init_dict_iterator (DBusMessageIter *iter,
00184 DBusMessageIter *dict_iter);
00185
dbus_bool_t dbus_message_iter_get_byte_array (DBusMessageIter *iter,
00186
unsigned char **value,
00187
int *len);
00188
dbus_bool_t dbus_message_iter_get_boolean_array (DBusMessageIter *iter,
00189
unsigned char **value,
00190
int *len);
00191
dbus_bool_t dbus_message_iter_get_int32_array (DBusMessageIter *iter,
00192
dbus_int32_t **value,
00193
int *len);
00194
dbus_bool_t dbus_message_iter_get_uint32_array (DBusMessageIter *iter,
00195
dbus_uint32_t **value,
00196
int *len);
00197
#ifdef DBUS_HAVE_INT64
00198
dbus_bool_t dbus_message_iter_get_int64_array (DBusMessageIter *iter,
00199
dbus_int64_t **value,
00200
int *len);
00201
dbus_bool_t dbus_message_iter_get_uint64_array (DBusMessageIter *iter,
00202
dbus_uint64_t **value,
00203
int *len);
00204
#endif
00205
dbus_bool_t dbus_message_iter_get_double_array (DBusMessageIter *iter,
00206
double **value,
00207
int *len);
00208
dbus_bool_t dbus_message_iter_get_string_array (DBusMessageIter *iter,
00209
char ***value,
00210
int *len);
00211
dbus_bool_t dbus_message_iter_get_object_path_array (DBusMessageIter *iter,
00212
char ***value,
00213
int *len);
00214
00215
00216
void dbus_message_append_iter_init (DBusMessage *message,
00217 DBusMessageIter *iter);
00218
dbus_bool_t dbus_message_iter_append_nil (DBusMessageIter *iter);
00219
dbus_bool_t dbus_message_iter_append_boolean (DBusMessageIter *iter,
00220
dbus_bool_t value);
00221
dbus_bool_t dbus_message_iter_append_byte (DBusMessageIter *iter,
00222
unsigned char value);
00223
dbus_bool_t dbus_message_iter_append_int32 (DBusMessageIter *iter,
00224
dbus_int32_t value);
00225
dbus_bool_t dbus_message_iter_append_uint32 (DBusMessageIter *iter,
00226
dbus_uint32_t value);
00227
#ifdef DBUS_HAVE_INT64
00228
dbus_bool_t dbus_message_iter_append_int64 (DBusMessageIter *iter,
00229
dbus_int64_t value);
00230
dbus_bool_t dbus_message_iter_append_uint64 (DBusMessageIter *iter,
00231
dbus_uint64_t value);
00232
#endif
00233
dbus_bool_t dbus_message_iter_append_double (DBusMessageIter *iter,
00234
double value);
00235
dbus_bool_t dbus_message_iter_append_string (DBusMessageIter *iter,
00236
const char *value);
00237
dbus_bool_t dbus_message_iter_append_object_path (DBusMessageIter *iter,
00238
const char *value);
00239
dbus_bool_t dbus_message_iter_append_custom (DBusMessageIter *iter,
00240
const char *name,
00241
const unsigned char *data,
00242
int len);
00243
dbus_bool_t dbus_message_iter_append_dict_key (DBusMessageIter *iter,
00244
const char *value);
00245
dbus_bool_t dbus_message_iter_append_array (DBusMessageIter *iter,
00246 DBusMessageIter *array_iter,
00247
int element_type);
00248
dbus_bool_t dbus_message_iter_append_dict (DBusMessageIter *iter,
00249 DBusMessageIter *dict_iter);
00250
00251
00252
dbus_bool_t dbus_message_iter_append_boolean_array (DBusMessageIter *iter,
00253
unsigned const char *value,
00254
int len);
00255
dbus_bool_t dbus_message_iter_append_int32_array (DBusMessageIter *iter,
00256
const dbus_int32_t *value,
00257
int len);
00258
dbus_bool_t dbus_message_iter_append_uint32_array (DBusMessageIter *iter,
00259
const dbus_uint32_t *value,
00260
int len);
00261
#ifdef DBUS_HAVE_INT64
00262
dbus_bool_t dbus_message_iter_append_int64_array (DBusMessageIter *iter,
00263
const dbus_int64_t *value,
00264
int len);
00265
dbus_bool_t dbus_message_iter_append_uint64_array (DBusMessageIter *iter,
00266
const dbus_uint64_t *value,
00267
int len);
00268
#endif
00269
dbus_bool_t dbus_message_iter_append_double_array (DBusMessageIter *iter,
00270
const double *value,
00271
int len);
00272
dbus_bool_t dbus_message_iter_append_byte_array (DBusMessageIter *iter,
00273
unsigned const char *value,
00274
int len);
00275
dbus_bool_t dbus_message_iter_append_string_array (DBusMessageIter *iter,
00276
const char **value,
00277
int len);
00278
dbus_bool_t dbus_message_iter_append_object_path_array (DBusMessageIter *iter,
00279
const char **value,
00280
int len);
00281
00282
00283
00284
dbus_bool_t dbus_set_error_from_message (
DBusError *error,
00285 DBusMessage *message);
00286
00287
00288
dbus_bool_t dbus_message_allocate_data_slot (
dbus_int32_t *slot_p);
00289
void dbus_message_free_data_slot (
dbus_int32_t *slot_p);
00290
dbus_bool_t dbus_message_set_data (DBusMessage *message,
00291
dbus_int32_t slot,
00292
void *data,
00293
DBusFreeFunction free_data_func);
00294
void*
dbus_message_get_data (DBusMessage *message,
00295
dbus_int32_t slot);
00296
00297
int dbus_message_type_from_string (
const char *type_str);
00298
00299
DBUS_END_DECLS;
00300
00301
#endif