summaryrefslogtreecommitdiffstats
path: root/uca-net-protocol.h
diff options
context:
space:
mode:
Diffstat (limited to 'uca-net-protocol.h')
-rw-r--r--uca-net-protocol.h33
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