1 #ifndef __XED_MESSAGE_TYPE_H__ 2 #define __XED_MESSAGE_TYPE_H__ 3 4 #include <glib-object.h> 5 #include <stdarg.h> 6 7 #include "xed-message.h" 8 9 G_BEGIN_DECLS 10 11 #define XED_TYPE_MESSAGE_TYPE (xed_message_type_get_type ()) 12 #define XED_MESSAGE_TYPE(x) ((XedMessageType *)(x)) 13 14 typedef void (*XedMessageTypeForeach) (const gchar *key, 15 GType type, 16 gboolean required, 17 gpointer user_data); 18 19 typedef struct _XedMessageType XedMessageType; 20 21 GType xed_message_type_get_type (void) G_GNUC_CONST; 22 23 gboolean xed_message_type_is_supported (GType type); 24 gchar *xed_message_type_identifier (const gchar *object_path, 25 const gchar *method); 26 gboolean xed_message_type_is_valid_object_path (const gchar *object_path); 27 28 XedMessageType *xed_message_type_new (const gchar *object_path, 29 const gchar *method, 30 guint num_optional, 31 ...) G_GNUC_NULL_TERMINATED; 32 XedMessageType *xed_message_type_new_valist (const gchar *object_path, 33 const gchar *method, 34 guint num_optional, 35 va_list var_args); 36 37 void xed_message_type_set (XedMessageType *message_type, 38 guint num_optional, 39 ...) G_GNUC_NULL_TERMINATED; 40 void xed_message_type_set_valist (XedMessageType *message_type, 41 guint num_optional, 42 va_list var_args); 43 44 XedMessageType *xed_message_type_ref (XedMessageType *message_type); 45 void xed_message_type_unref (XedMessageType *message_type); 46 47 48 XedMessage *xed_message_type_instantiate_valist (XedMessageType *message_type, 49 va_list va_args); 50 XedMessage *xed_message_type_instantiate (XedMessageType *message_type, 51 ...) G_GNUC_NULL_TERMINATED; 52 53 const gchar *xed_message_type_get_object_path (XedMessageType *message_type); 54 const gchar *xed_message_type_get_method (XedMessageType *message_type); 55 56 GType xed_message_type_lookup (XedMessageType *message_type, 57 const gchar *key); 58 59 void xed_message_type_foreach (XedMessageType *message_type, 60 XedMessageTypeForeach func, 61 gpointer user_data); 62 63 G_END_DECLS 64 65 #endif /* __XED_MESSAGE_TYPE_H__ */ 66 67 // ex:ts=8:noet: 68