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_bool_t ret = dbus_message_iter_open_container
351 (DBusMessageIter *) & (to.
_iter),
353 (from.type() == DBUS_TYPE_VARIANT || from.type() == DBUS_TYPE_ARRAY) ? sig : NULL,
354 (DBusMessageIter *) & (to_container.
_iter)
379 if (
_pvt->msg && incref) dbus_message_ref(
_pvt->msg);
385 dbus_message_ref(
_pvt->msg);
390 dbus_message_unref(
_pvt->msg);
397 dbus_message_unref(
_pvt->msg);
399 dbus_message_ref(
_pvt->msg);
413 va_start(vl, first_type);
415 bool b = dbus_message_append_args_valist(
_pvt->msg, first_type, vl);
423 dbus_message_append_args(
_pvt->msg, DBUS_TYPE_INVALID);
428 return dbus_message_get_type(
_pvt->msg);
433 return dbus_message_get_serial(
_pvt->msg);
438 return dbus_message_get_reply_serial(
_pvt->msg);
443 return dbus_message_set_reply_serial(
_pvt->msg, s);
448 return dbus_message_get_sender(
_pvt->msg);
453 return dbus_message_set_sender(
_pvt->msg, s);
458 return dbus_message_get_destination(
_pvt->msg);
463 return dbus_message_set_destination(
_pvt->msg, s);
468 return type() == DBUS_MESSAGE_TYPE_ERROR;
473 return dbus_message_is_signal(
_pvt->msg, interface, member);
479 dbus_message_iter_init_append(
_pvt->msg, (DBusMessageIter *) & (iter.
_iter));
486 dbus_message_iter_init(
_pvt->msg, (DBusMessageIter *) & (iter.
_iter));
495 _pvt->msg = dbus_message_new(DBUS_MESSAGE_TYPE_ERROR);
500 _pvt->msg = dbus_message_new_error(to_reply.
_pvt->msg,
name, message);
505 return dbus_message_is_error(
_pvt->msg, m.
name());
510 return dbus_message_get_error_name(
_pvt->msg);
515 return dbus_message_set_error_name(
_pvt->msg, n);
523 _pvt->msg = dbus_message_new(DBUS_MESSAGE_TYPE_SIGNAL);
539 return dbus_message_get_interface(
_pvt->msg);
544 return dbus_message_set_interface(
_pvt->msg, i);
549 return dbus_message_get_member(
_pvt->msg);
554 return dbus_message_set_member(
_pvt->msg, m);
559 return dbus_message_get_path(
_pvt->msg);
565 dbus_message_get_path_decomposed(
_pvt->msg, &p);
571 return dbus_message_set_path(
_pvt->msg, p);
579 _pvt->msg = dbus_message_new(DBUS_MESSAGE_TYPE_METHOD_CALL);
584 _pvt->msg = dbus_message_new_method_call(dest,
path, iface, method);
594 return dbus_message_get_interface(
_pvt->msg);
599 return dbus_message_set_interface(
_pvt->msg, i);
604 return dbus_message_get_member(
_pvt->msg);
609 return dbus_message_set_member(
_pvt->msg, m);
614 return dbus_message_get_path(
_pvt->msg);
620 dbus_message_get_path_decomposed(
_pvt->msg, &p);
626 return dbus_message_set_path(
_pvt->msg, p);
631 return dbus_message_get_signature(
_pvt->msg);
644 return dbus_message_get_signature(
_pvt->msg);