diff options
Diffstat (limited to 'dbus')
-rw-r--r-- | dbus/dbus-message.c | 29 | ||||
-rw-r--r-- | dbus/dbus-message.h | 4 | ||||
-rw-r--r-- | dbus/dbus-protocol.h | 1 |
3 files changed, 34 insertions, 0 deletions
diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c index ffaef43c..696b2503 100644 --- a/dbus/dbus-message.c +++ b/dbus/dbus-message.c @@ -4387,6 +4387,35 @@ dbus_message_get_no_reply (DBusMessage *message) return (*header & DBUS_HEADER_FLAG_NO_REPLY_EXPECTED) != 0; } +void +dbus_message_set_auto_activation (DBusMessage *message, + dbus_bool_t auto_activation) +{ + char *header; + + _dbus_return_if_fail (message != NULL); + _dbus_return_if_fail (!message->locked); + + header = _dbus_string_get_data_len (&message->header, FLAGS_OFFSET, 1); + + if (auto_activation) + *header |= DBUS_HEADER_FLAG_AUTO_ACTIVATION; + else + *header &= ~DBUS_HEADER_FLAG_AUTO_ACTIVATION; +} + +dbus_bool_t +dbus_message_get_auto_activation (DBusMessage *message) +{ + const char *header; + + _dbus_return_val_if_fail (message != NULL, FALSE); + + header = _dbus_string_get_const_data_len (&message->header, FLAGS_OFFSET, 1); + + return (*header & DBUS_HEADER_FLAG_AUTO_ACTIVATION) != 0; +} + /** * Gets the service which originated this message, * or #NULL if unknown or inapplicable. diff --git a/dbus/dbus-message.h b/dbus/dbus-message.h index 3655d2e4..d9ddc94c 100644 --- a/dbus/dbus-message.h +++ b/dbus/dbus-message.h @@ -119,6 +119,10 @@ dbus_bool_t dbus_message_set_reply_serial (DBusMessage *message, dbus_uint32_t reply_serial); dbus_uint32_t dbus_message_get_reply_serial (DBusMessage *message); +void dbus_message_set_auto_activation (DBusMessage *message, + dbus_bool_t auto_activation); +dbus_bool_t dbus_message_get_auto_activation (DBusMessage *message); + dbus_bool_t dbus_message_get_path_decomposed (DBusMessage *message, char ***path); diff --git a/dbus/dbus-protocol.h b/dbus/dbus-protocol.h index f042f026..54d70e4e 100644 --- a/dbus/dbus-protocol.h +++ b/dbus/dbus-protocol.h @@ -72,6 +72,7 @@ extern "C" { /* Header flags */ #define DBUS_HEADER_FLAG_NO_REPLY_EXPECTED 0x1 +#define DBUS_HEADER_FLAG_AUTO_ACTIVATION 0x2 /* Header fields */ #define DBUS_HEADER_FIELD_INVALID 0 |