summaryrefslogtreecommitdiffstats
path: root/dbus
diff options
context:
space:
mode:
Diffstat (limited to 'dbus')
-rw-r--r--dbus/dbus-message.c29
-rw-r--r--dbus/dbus-message.h4
-rw-r--r--dbus/dbus-protocol.h1
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