Vuo  2.3.2
VuoDiode.c
Go to the documentation of this file.
1 
10 #include <string.h>
11 #include "type.h"
12 
14 #ifdef VUO_COMPILER
16  "title" : "Diode",
17  "description" : "How to manage signal polarity.",
18  "keywords" : [ ],
19  "version" : "1.0.0",
20  "dependencies" : [
21  "VuoList_VuoDiode"
22  ]
23  });
24 #endif
26 
35 {
36  const char *valueAsString = "";
37  if (json_object_get_type(js) == json_type_string)
38  valueAsString = json_object_get_string(js);
39 
40  VuoDiode value = VuoDiode_Unipolar;
41 
42  if (strcmp(valueAsString, "bipolar") == 0)
43  value = VuoDiode_Bipolar;
44  else if (strcmp(valueAsString, "absolute") == 0)
45  value = VuoDiode_Absolute;
46 
47  return value;
48 }
49 
54 {
55  char *valueAsString = "unipolar";
56 
57  if (value == VuoDiode_Bipolar)
58  valueAsString = "bipolar";
59  else if (value == VuoDiode_Absolute)
60  valueAsString = "absolute";
61 
62  return json_object_new_string(valueAsString);
63 }
64 
69 {
71  VuoListAppendValue_VuoDiode(l, VuoDiode_Unipolar);
72  VuoListAppendValue_VuoDiode(l, VuoDiode_Bipolar);
73  VuoListAppendValue_VuoDiode(l, VuoDiode_Absolute);
74  return l;
75 }
76 
80 char *VuoDiode_getSummary(const VuoDiode value)
81 {
82  const char *valueAsString = "Unipolar";
83 
84  if (value == VuoDiode_Bipolar)
85  valueAsString = "Bipolar";
86  else if (value == VuoDiode_Absolute)
87  valueAsString = "Absolute";
88 
89  return strdup(valueAsString);
90 }
91 
95 bool VuoDiode_areEqual(const VuoDiode valueA, const VuoDiode valueB)
96 {
97  return valueA == valueB;
98 }
99 
103 bool VuoDiode_isLessThan(const VuoDiode valueA, const VuoDiode valueB)
104 {
105  return valueA < valueB;
106 }