/* libnih * * Copyright © 2009 Scott James Remnant . * Copyright © 2009 Canonical Ltd. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef NIH_DBUS_MESSAGE_H #define NIH_DBUS_MESSAGE_H /** * The NihDBusMessage structure references both an incoming D-Bus message * and the connection it was received on, and may be created with the * nih_dbus_message_new() function. * * This allows both a single pointer to be passed around to deal with a * message, and also provides an nih_alloc() context for attaching allocated * data that can be discarded when the message has been processed (often * strings used to generate the reply, for example). * * A typical function that uses this structure is nih_dbus_message_error() * which generates and sends a reply to the incoming message that is an * error return with the given name and format. **/ #include #include /** * NihDBusMessage: * @connection: D-Bus connection message was received on, * @message: message object received. * * This structure is used as a context for the processing of a message; the * primary reason for its existance is to be used as an nih_alloc() context * for any reply data. * * Instances are allocated automatically and passed to marshaller functions, * and freed on their return. **/ typedef struct nih_dbus_message { DBusConnection *connection; DBusMessage * message; } NihDBusMessage; NIH_BEGIN_EXTERN NihDBusMessage *nih_dbus_message_new (const void *parent, DBusConnection *connection, DBusMessage *message) __attribute__ ((warn_unused_result)); int nih_dbus_message_error (NihDBusMessage *msg, const char *name, const char *format, ...) __attribute__ ((warn_unused_result)); NIH_END_EXTERN #endif /* NIH_DBUS_MESSAGE_H */