diff options
Diffstat (limited to 'uca-net-protocol.h')
-rw-r--r-- | uca-net-protocol.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/uca-net-protocol.h b/uca-net-protocol.h index 653a26d..d8e07e6 100644 --- a/uca-net-protocol.h +++ b/uca-net-protocol.h @@ -5,6 +5,7 @@ typedef enum { UCA_NET_MESSAGE_INVALID = 0, + UCA_NET_MESSAGE_GET_PROPERTIES, UCA_NET_MESSAGE_GET_PROPERTY, UCA_NET_MESSAGE_SET_PROPERTY, UCA_NET_MESSAGE_START_RECORDING, @@ -60,4 +61,36 @@ typedef struct { gchar name[128]; } UcaNetMessageWriteRequest; +typedef struct { + UcaNetMessageType type; + guint num_properties; +} UcaNetMessageGetPropertiesReply; + +#define NUMERIC_STRUCT(type) \ + struct { \ + type minimum; \ + type maximum; \ + type default_value; \ + } type; + +typedef struct { + GType value_type; + GParamFlags flags; + gchar name[128]; + gchar nick[128]; + gchar blurb[128]; + + union { + struct { + gboolean default_value; + } gboolean; + NUMERIC_STRUCT (gint) + NUMERIC_STRUCT (guint) + NUMERIC_STRUCT (gfloat) + NUMERIC_STRUCT (gdouble) + } spec; +} UcaNetMessageProperty; + +#undef NUMERIC_STRUCT + #endif |