summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2008-05-27 06:59:19 +0000
committerMarcel Holtmann <marcel@holtmann.org>2008-05-27 06:59:19 +0000
commit9e9f9adde3085582f81da3b681e6fe5bb62679d3 (patch)
treea0f53ed19cb9909d57074162bc416147541166f6
parentd1baca10987d6cb192bc24324571e7b308dc0fec (diff)
Add real libgdbus types for interface definitions
-rw-r--r--gdbus/gdbus.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/gdbus/gdbus.h b/gdbus/gdbus.h
index d8382306..48f7fceb 100644
--- a/gdbus/gdbus.h
+++ b/gdbus/gdbus.h
@@ -122,6 +122,43 @@ static inline DBusHandlerResult send_message_and_unref(DBusConnection *conn,
return DBUS_HANDLER_RESULT_HANDLED;
}
+typedef DBusMessage * (* GDBusMethodFunction) (DBusConnection *connection,
+ DBusMessage *message, void *user_data);
+
+typedef enum {
+ G_DBUS_METHOD_FLAG_DEPRECATED = (1 << 0),
+ G_DBUS_METHOD_FLAG_NOREPLY = (1 << 1),
+ G_DBUS_METHOD_FLAG_ASYNC = (1 << 2),
+} GDBusMethodFlags;
+
+typedef enum {
+ G_DBUS_SIGNAL_FLAG_DEPRECATED = (1 << 0),
+} GDBusSignalFlags;
+
+typedef enum {
+ G_DBUS_PROPERTY_FLAG_DEPRECATED = (1 << 0),
+} GDBusPropertyFlags;
+
+typedef struct {
+ const char *name;
+ const char *signature;
+ const char *reply;
+ GDBusMethodFunction function;
+ GDBusMethodFlags flags;
+} GDBusMethodTable;
+
+typedef struct {
+ const char *name;
+ const char *signature;
+ GDBusSignalFlags flags;
+} GDBusSignalTable;
+
+typedef struct {
+ const char *name;
+ const char *type;
+ GDBusPropertyFlags flags;
+} GDBusPropertyTable;
+
typedef void (*name_cb_t)(const char *name, void *user_data);
guint name_listener_add(DBusConnection *connection, const char *name,