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
00044 typedef struct DBusMessage DBusMessage;
00046 typedef struct DBusMessageIter DBusMessageIter;
00047
00051 struct DBusMessageIter
00052 {
00053 void *dummy1;
00054 void *dummy2;
00055 dbus_uint32_t dummy3;
00056 int dummy4;
00057 int dummy5;
00058 int dummy6;
00059 int dummy7;
00060 int dummy8;
00061 int dummy9;
00062 int dummy10;
00063 int dummy11;
00064 int pad1;
00065 int pad2;
00066 void *pad3;
00067 };
00068
00069 DBUS_EXPORT
00070 DBusMessage* dbus_message_new (int message_type);
00071 DBUS_EXPORT
00072 DBusMessage* dbus_message_new_method_call (const char *bus_name,
00073 const char *path,
00074 const char *interface,
00075 const char *method);
00076 DBUS_EXPORT
00077 DBusMessage* dbus_message_new_method_return (DBusMessage *method_call);
00078 DBUS_EXPORT
00079 DBusMessage* dbus_message_new_signal (const char *path,
00080 const char *interface,
00081 const char *name);
00082 DBUS_EXPORT
00083 DBusMessage* dbus_message_new_error (DBusMessage *reply_to,
00084 const char *error_name,
00085 const char *error_message);
00086 DBUS_EXPORT
00087 DBusMessage* dbus_message_new_error_printf (DBusMessage *reply_to,
00088 const char *error_name,
00089 const char *error_format,
00090 ...);
00091
00092 DBUS_EXPORT
00093 DBusMessage* dbus_message_copy (const DBusMessage *message);
00094
00095 DBUS_EXPORT
00096 DBusMessage* dbus_message_ref (DBusMessage *message);
00097 DBUS_EXPORT
00098 void dbus_message_unref (DBusMessage *message);
00099 DBUS_EXPORT
00100 int dbus_message_get_type (DBusMessage *message);
00101 DBUS_EXPORT
00102 dbus_bool_t dbus_message_set_path (DBusMessage *message,
00103 const char *object_path);
00104 DBUS_EXPORT
00105 const char* dbus_message_get_path (DBusMessage *message);
00106 DBUS_EXPORT
00107 dbus_bool_t dbus_message_has_path (DBusMessage *message,
00108 const char *object_path);
00109 DBUS_EXPORT
00110 dbus_bool_t dbus_message_set_interface (DBusMessage *message,
00111 const char *interface);
00112 DBUS_EXPORT
00113 const char* dbus_message_get_interface (DBusMessage *message);
00114 DBUS_EXPORT
00115 dbus_bool_t dbus_message_has_interface (DBusMessage *message,
00116 const char *interface);
00117 DBUS_EXPORT
00118 dbus_bool_t dbus_message_set_member (DBusMessage *message,
00119 const char *member);
00120 DBUS_EXPORT
00121 const char* dbus_message_get_member (DBusMessage *message);
00122 DBUS_EXPORT
00123 dbus_bool_t dbus_message_has_member (DBusMessage *message,
00124 const char *member);
00125 DBUS_EXPORT
00126 dbus_bool_t dbus_message_set_error_name (DBusMessage *message,
00127 const char *name);
00128 DBUS_EXPORT
00129 const char* dbus_message_get_error_name (DBusMessage *message);
00130 DBUS_EXPORT
00131 dbus_bool_t dbus_message_set_destination (DBusMessage *message,
00132 const char *destination);
00133 DBUS_EXPORT
00134 const char* dbus_message_get_destination (DBusMessage *message);
00135 DBUS_EXPORT
00136 dbus_bool_t dbus_message_set_sender (DBusMessage *message,
00137 const char *sender);
00138 DBUS_EXPORT
00139 const char* dbus_message_get_sender (DBusMessage *message);
00140 DBUS_EXPORT
00141 const char* dbus_message_get_signature (DBusMessage *message);
00142 DBUS_EXPORT
00143 void dbus_message_set_no_reply (DBusMessage *message,
00144 dbus_bool_t no_reply);
00145 DBUS_EXPORT
00146 dbus_bool_t dbus_message_get_no_reply (DBusMessage *message);
00147 DBUS_EXPORT
00148 dbus_bool_t dbus_message_is_method_call (DBusMessage *message,
00149 const char *interface,
00150 const char *method);
00151 DBUS_EXPORT
00152 dbus_bool_t dbus_message_is_signal (DBusMessage *message,
00153 const char *interface,
00154 const char *signal_name);
00155 DBUS_EXPORT
00156 dbus_bool_t dbus_message_is_error (DBusMessage *message,
00157 const char *error_name);
00158 DBUS_EXPORT
00159 dbus_bool_t dbus_message_has_destination (DBusMessage *message,
00160 const char *bus_name);
00161 DBUS_EXPORT
00162 dbus_bool_t dbus_message_has_sender (DBusMessage *message,
00163 const char *unique_bus_name);
00164 DBUS_EXPORT
00165 dbus_bool_t dbus_message_has_signature (DBusMessage *message,
00166 const char *signature);
00167 DBUS_EXPORT
00168 dbus_uint32_t dbus_message_get_serial (DBusMessage *message);
00169 DBUS_EXPORT
00170 void dbus_message_set_serial (DBusMessage *message,
00171 dbus_uint32_t serial);
00172 DBUS_EXPORT
00173 dbus_bool_t dbus_message_set_reply_serial (DBusMessage *message,
00174 dbus_uint32_t reply_serial);
00175 DBUS_EXPORT
00176 dbus_uint32_t dbus_message_get_reply_serial (DBusMessage *message);
00177
00178 DBUS_EXPORT
00179 void dbus_message_set_auto_start (DBusMessage *message,
00180 dbus_bool_t auto_start);
00181 DBUS_EXPORT
00182 dbus_bool_t dbus_message_get_auto_start (DBusMessage *message);
00183
00184 DBUS_EXPORT
00185 dbus_bool_t dbus_message_get_path_decomposed (DBusMessage *message,
00186 char ***path);
00187
00188 DBUS_EXPORT
00189 dbus_bool_t dbus_message_append_args (DBusMessage *message,
00190 int first_arg_type,
00191 ...);
00192 DBUS_EXPORT
00193 dbus_bool_t dbus_message_append_args_valist (DBusMessage *message,
00194 int first_arg_type,
00195 va_list var_args);
00196 DBUS_EXPORT
00197 dbus_bool_t dbus_message_get_args (DBusMessage *message,
00198 DBusError *error,
00199 int first_arg_type,
00200 ...);
00201 DBUS_EXPORT
00202 dbus_bool_t dbus_message_get_args_valist (DBusMessage *message,
00203 DBusError *error,
00204 int first_arg_type,
00205 va_list var_args);
00206
00207 DBUS_EXPORT
00208 dbus_bool_t dbus_message_contains_unix_fds (DBusMessage *message);
00209
00210 DBUS_EXPORT
00211 dbus_bool_t dbus_message_iter_init (DBusMessage *message,
00212 DBusMessageIter *iter);
00213 DBUS_EXPORT
00214 dbus_bool_t dbus_message_iter_has_next (DBusMessageIter *iter);
00215 DBUS_EXPORT
00216 dbus_bool_t dbus_message_iter_next (DBusMessageIter *iter);
00217 DBUS_EXPORT
00218 char* dbus_message_iter_get_signature (DBusMessageIter *iter);
00219 DBUS_EXPORT
00220 int dbus_message_iter_get_arg_type (DBusMessageIter *iter);
00221 DBUS_EXPORT
00222 int dbus_message_iter_get_element_type (DBusMessageIter *iter);
00223 DBUS_EXPORT
00224 void dbus_message_iter_recurse (DBusMessageIter *iter,
00225 DBusMessageIter *sub);
00226 DBUS_EXPORT
00227 void dbus_message_iter_get_basic (DBusMessageIter *iter,
00228 void *value);
00229 #ifndef DBUS_DISABLE_DEPRECATED
00230
00231
00232
00233 DBUS_EXPORT
00234 DBUS_DEPRECATED int dbus_message_iter_get_array_len (DBusMessageIter *iter);
00235 #endif
00236 DBUS_EXPORT
00237 void dbus_message_iter_get_fixed_array (DBusMessageIter *iter,
00238 void *value,
00239 int *n_elements);
00240
00241
00242 DBUS_EXPORT
00243 void dbus_message_iter_init_append (DBusMessage *message,
00244 DBusMessageIter *iter);
00245 DBUS_EXPORT
00246 dbus_bool_t dbus_message_iter_append_basic (DBusMessageIter *iter,
00247 int type,
00248 const void *value);
00249 DBUS_EXPORT
00250 dbus_bool_t dbus_message_iter_append_fixed_array (DBusMessageIter *iter,
00251 int element_type,
00252 const void *value,
00253 int n_elements);
00254 DBUS_EXPORT
00255 dbus_bool_t dbus_message_iter_open_container (DBusMessageIter *iter,
00256 int type,
00257 const char *contained_signature,
00258 DBusMessageIter *sub);
00259 DBUS_EXPORT
00260 dbus_bool_t dbus_message_iter_close_container (DBusMessageIter *iter,
00261 DBusMessageIter *sub);
00262 DBUS_EXPORT
00263 void dbus_message_iter_abandon_container (DBusMessageIter *iter,
00264 DBusMessageIter *sub);
00265
00266 DBUS_EXPORT
00267 void dbus_message_lock (DBusMessage *message);
00268
00269 DBUS_EXPORT
00270 dbus_bool_t dbus_set_error_from_message (DBusError *error,
00271 DBusMessage *message);
00272
00273
00274 DBUS_EXPORT
00275 dbus_bool_t dbus_message_allocate_data_slot (dbus_int32_t *slot_p);
00276 DBUS_EXPORT
00277 void dbus_message_free_data_slot (dbus_int32_t *slot_p);
00278 DBUS_EXPORT
00279 dbus_bool_t dbus_message_set_data (DBusMessage *message,
00280 dbus_int32_t slot,
00281 void *data,
00282 DBusFreeFunction free_data_func);
00283 DBUS_EXPORT
00284 void* dbus_message_get_data (DBusMessage *message,
00285 dbus_int32_t slot);
00286
00287 DBUS_EXPORT
00288 int dbus_message_type_from_string (const char *type_str);
00289 DBUS_EXPORT
00290 const char* dbus_message_type_to_string (int type);
00291
00292 DBUS_EXPORT
00293 dbus_bool_t dbus_message_marshal (DBusMessage *msg,
00294 char **marshalled_data_p,
00295 int *len_p);
00296 DBUS_EXPORT
00297 DBusMessage* dbus_message_demarshal (const char *str,
00298 int len,
00299 DBusError *error);
00300
00301 DBUS_EXPORT
00302 int dbus_message_demarshal_bytes_needed (const char *str,
00303 int len);
00304
00307 DBUS_END_DECLS
00308
00309 #endif