diff options
author | Richard Hult <richard@imendio.com> | 2004-03-16 18:00:35 +0000 |
---|---|---|
committer | Richard Hult <richard@imendio.com> | 2004-03-16 18:00:35 +0000 |
commit | 93f433a17a0aabff91a0384bf9c4f99c9cf30ae1 (patch) | |
tree | be2ffbc0160abfb63808d994d076faa67e4ff81a /dbus/dbus-message.c | |
parent | 24ffe79c80d376b058c2d154b2b5f0ef8fee1c36 (diff) | |
download | dbus-93f433a17a0aabff91a0384bf9c4f99c9cf30ae1.tar.gz |
2004-03-16 Richard Hult <richard@imendio.com>
* bus/activation.c: (bus_activation_service_created),
(bus_activation_send_pending_auto_activation_messages),
(bus_activation_activate_service):
* bus/activation.h:
* bus/dispatch.c: (bus_dispatch),
(check_nonexistent_service_auto_activation),
(check_service_auto_activated),
(check_segfault_service_auto_activation),
(check_existent_service_auto_activation), (bus_dispatch_test):
* bus/driver.c: (bus_driver_handle_activate_service):
* bus/services.c: (bus_registry_acquire_service):
* dbus/dbus-message.c: (dbus_message_set_auto_activation),
(dbus_message_get_auto_activation):
* dbus/dbus-message.h:
* dbus/dbus-protocol.h: Implement auto-activation.
Diffstat (limited to 'dbus/dbus-message.c')
-rw-r--r-- | dbus/dbus-message.c | 29 |
1 files changed, 29 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. |