Vuo
2.0.0
node
vuo.hid
VuoHidControl.c
Go to the documentation of this file.
1
10
#include "
type.h
"
11
#include "
VuoHidControl.h
"
12
14
#ifdef VUO_COMPILER
15
VuoModuleMetadata
({
16
"title"
:
"HID Control"
,
17
"description"
:
"Information about a control on a USB HID device."
,
18
"keywords"
: [ ],
19
"version"
:
"1.0.0"
,
20
"dependencies"
: [
21
"VuoInteger"
,
22
"VuoText"
23
]
24
});
25
#endif
26
40
VuoHidControl
VuoHidControl_makeFromJson
(
json_object
*js)
41
{
42
return
(
VuoHidControl
){
43
VuoJson_getObjectValue
(
VuoText
, js,
"name"
, NULL),
44
VuoJson_getObjectValue
(
VuoInteger
, js,
"value"
, 0),
45
VuoJson_getObjectValue
(
VuoInteger
, js,
"min"
, 0),
46
VuoJson_getObjectValue
(
VuoInteger
, js,
"max"
, 0)
47
};
48
}
49
53
json_object
*
VuoHidControl_getJson
(
const
VuoHidControl
value)
54
{
55
json_object
*js = json_object_new_object();
56
57
if
(value.
name
)
58
{
59
json_object
*o =
VuoText_getJson
(value.
name
);
60
json_object_object_add(js,
"name"
, o);
61
}
62
63
if
(value.
value
)
64
{
65
json_object
*o =
VuoInteger_getJson
(value.
value
);
66
json_object_object_add(js,
"value"
, o);
67
}
68
69
if
(value.
min
)
70
{
71
json_object
*o =
VuoInteger_getJson
(value.
min
);
72
json_object_object_add(js,
"min"
, o);
73
}
74
75
if
(value.
max
)
76
{
77
json_object
*o =
VuoInteger_getJson
(value.
max
);
78
json_object_object_add(js,
"max"
, o);
79
}
80
81
return
js;
82
}
83
87
bool
VuoHidControl_areEqual
(
const
VuoHidControl
valueA,
const
VuoHidControl
valueB)
88
{
89
if
(!
VuoText_areEqual
(valueA.
name
, valueB.
name
))
90
return
false
;
91
92
if
(!
VuoInteger_areEqual
(valueA.
value
, valueB.
value
))
93
return
false
;
94
95
if
(!
VuoInteger_areEqual
(valueA.
min
, valueB.
min
))
96
return
false
;
97
98
if
(!
VuoInteger_areEqual
(valueA.
max
, valueB.
max
))
99
return
false
;
100
101
return
true
;
102
}
103
107
bool
VuoHidControl_isLessThan
(
const
VuoHidControl
a,
const
VuoHidControl
b)
108
{
109
VuoType_returnInequality
(
VuoText
, a.
name
, b.
name
);
110
VuoType_returnInequality
(
VuoInteger
, a.
value
, b.
value
);
111
VuoType_returnInequality
(
VuoInteger
, a.
min
, b.
min
);
112
VuoType_returnInequality
(
VuoInteger
, a.
max
, b.
max
);
113
return
false
;
114
}
115
119
char
*
VuoHidControl_getSummary
(
const
VuoHidControl
value)
120
{
121
if
(value.
name
)
122
return
VuoText_format
(
"%s = %lld"
, value.
name
, value.
value
);
123
else
124
return
strdup(
"No control"
);
125
}
Generated on Wed Feb 26 2020 23:19:40 for Vuo by
1.8.17