30 #include <dbus/dbus.h>
43 return dbus_message_iter_get_arg_type((DBusMessageIter *)&
_iter);
48 return type() == DBUS_TYPE_INVALID;
53 return dbus_message_iter_has_next((DBusMessageIter *)&
_iter);
58 dbus_message_iter_next((DBusMessageIter *)&
_iter);
71 return dbus_message_iter_append_basic((DBusMessageIter *)&
_iter, type_id, value);
76 if (
type() != type_id)
79 dbus_message_iter_get_basic((DBusMessageIter *)
_iter, ptr);
169 unsigned long long u;
211 get_basic(DBUS_TYPE_OBJECT_PATH, &chars);
230 dbus_message_iter_recurse((DBusMessageIter *)&
_iter, (DBusMessageIter *) & (iter.
_iter));
236 return dbus_message_iter_get_signature((DBusMessageIter *)&
_iter);
241 return dbus_message_iter_append_fixed_array((DBusMessageIter *)&
_iter,
type, &ptr, length);
246 return dbus_message_iter_get_element_type((DBusMessageIter *)&
_iter);
252 dbus_message_iter_get_fixed_array((DBusMessageIter *)&
_iter, ptr, &length);
258 return dbus_message_iter_get_arg_type((DBusMessageIter *)&
_iter) == DBUS_TYPE_ARRAY;
263 return is_array() && dbus_message_iter_get_element_type((DBusMessageIter *)
_iter) == DBUS_TYPE_DICT_ENTRY;
269 dbus_message_iter_open_container(
270 (DBusMessageIter *)&
_iter, DBUS_TYPE_ARRAY, sig, (DBusMessageIter *) & (arr.
_iter)
278 dbus_message_iter_open_container(
279 (DBusMessageIter *)
_iter, DBUS_TYPE_VARIANT, sig, (DBusMessageIter *) & (var.
_iter)
287 dbus_message_iter_open_container(
288 (DBusMessageIter *)
_iter, DBUS_TYPE_STRUCT, NULL, (DBusMessageIter *) & (stu.
_iter)
296 dbus_message_iter_open_container(
297 (DBusMessageIter *)
_iter, DBUS_TYPE_DICT_ENTRY, NULL, (DBusMessageIter *) & (ent.
_iter)
304 dbus_message_iter_close_container((DBusMessageIter *)&
_iter, (DBusMessageIter *) & (container.
_iter));
335 debug_log(
"copying basic type: %c", from.type());
337 unsigned char value[8];
338 from.get_basic(from.type(), &value);
346 debug_log(
"copying compound type: %c[%s]", from.type(), sig);
349 dbus_message_iter_open_container
351 (DBusMessageIter *) & (to.
_iter),
353 from.type() == DBUS_TYPE_VARIANT ? NULL : sig,
354 (DBusMessageIter *) & (to_container.
_iter)
375 if (
_pvt->msg && incref) dbus_message_ref(
_pvt->msg);
381 dbus_message_ref(
_pvt->msg);
386 dbus_message_unref(
_pvt->msg);
393 dbus_message_unref(
_pvt->msg);
395 dbus_message_ref(
_pvt->msg);
409 va_start(vl, first_type);
411 bool b = dbus_message_append_args_valist(
_pvt->msg, first_type, vl);
419 dbus_message_append_args(
_pvt->msg, DBUS_TYPE_INVALID);
424 return dbus_message_get_type(
_pvt->msg);
429 return dbus_message_get_serial(
_pvt->msg);
434 return dbus_message_get_reply_serial(
_pvt->msg);
439 return dbus_message_set_reply_serial(
_pvt->msg, s);
444 return dbus_message_get_sender(
_pvt->msg);
449 return dbus_message_set_sender(
_pvt->msg, s);
454 return dbus_message_get_destination(
_pvt->msg);
459 return dbus_message_set_destination(
_pvt->msg, s);
464 return type() == DBUS_MESSAGE_TYPE_ERROR;
469 return dbus_message_is_signal(
_pvt->msg, interface, member);
475 dbus_message_iter_init_append(
_pvt->msg, (DBusMessageIter *) & (iter.
_iter));
482 dbus_message_iter_init(
_pvt->msg, (DBusMessageIter *) & (iter.
_iter));
491 _pvt->msg = dbus_message_new(DBUS_MESSAGE_TYPE_ERROR);
496 _pvt->msg = dbus_message_new_error(to_reply.
_pvt->msg,
name, message);
501 return dbus_message_is_error(
_pvt->msg, m.
name());
506 return dbus_message_get_error_name(
_pvt->msg);
511 return dbus_message_set_error_name(
_pvt->msg, n);
519 _pvt->msg = dbus_message_new(DBUS_MESSAGE_TYPE_SIGNAL);
535 return dbus_message_get_interface(
_pvt->msg);
540 return dbus_message_set_interface(
_pvt->msg, i);
545 return dbus_message_get_member(
_pvt->msg);
550 return dbus_message_set_member(
_pvt->msg, m);
555 return dbus_message_get_path(
_pvt->msg);
561 dbus_message_get_path_decomposed(
_pvt->msg, &p);
567 return dbus_message_set_path(
_pvt->msg, p);
575 _pvt->msg = dbus_message_new(DBUS_MESSAGE_TYPE_METHOD_CALL);
580 _pvt->msg = dbus_message_new_method_call(dest,
path, iface, method);
590 return dbus_message_get_interface(
_pvt->msg);
595 return dbus_message_set_interface(
_pvt->msg, i);
600 return dbus_message_get_member(
_pvt->msg);
605 return dbus_message_set_member(
_pvt->msg, m);
610 return dbus_message_get_path(
_pvt->msg);
616 dbus_message_get_path_decomposed(
_pvt->msg, &p);
622 return dbus_message_set_path(
_pvt->msg, p);
627 return dbus_message_get_signature(
_pvt->msg);
640 return dbus_message_get_signature(
_pvt->msg);