+2004-03-29 Michael Meeks <michael@ximian.com>
+
+ * dbus/dbus-message.c
+ (dbus_message_new_error_printf): impl.
+
+ * dbus/dbus-connection.c
+ (dbus_connection_unregister_object_path): fix warning.
+
+ * configure.in: fix no-mono-installed situation.
+
2004-03-27 Havoc Pennington <hp@redhat.com>
Patch from Timo Teräs:
CONNECTION_LOCK (connection);
- return _dbus_object_tree_unregister_and_unlock (connection->objects,
- path);
+ _dbus_object_tree_unregister_and_unlock (connection->objects, path);
}
/**
}
/**
+ * Creates a new message that is an error reply to a certain message.
+ * Error replies are possible in response to method calls primarily.
+ *
+ * @param reply_to the original message
+ * @param error_name the error name
+ * @param error_format the error message string to be printed
+ * @param ... value of first argument, list of additional values to print
+ * @returns a new error message
+ */
+DBusMessage*
+dbus_message_new_error_printf (DBusMessage *reply_to,
+ const char *error_name,
+ const char *error_format,
+ ...)
+{
+ va_list args;
+ DBusString str;
+ DBusMessage *message;
+
+ if (!_dbus_string_init (&str))
+ return NULL;
+
+ va_start (args, error_format);
+
+ if (_dbus_string_append_printf_valist (&str, error_format, args))
+ message = dbus_message_new_error (reply_to, error_name,
+ _dbus_string_get_const_data (&str));
+ else
+ message = NULL;
+
+ _dbus_string_free (&str);
+
+ va_end (args);
+
+ return message;
+}
+
+
+/**
* Creates a new message that is an exact replica of the message
* specified, except that its refcount is set to 1.
*
DBusMessage* dbus_message_new_error (DBusMessage *reply_to,
const char *error_name,
const char *error_message);
+DBusMessage* dbus_message_new_error_printf (DBusMessage *reply_to,
+ const char *error_name,
+ const char *error_format,
+ ...);
DBusMessage* dbus_message_copy (const DBusMessage *message);