Vuo  2.3.2
VuoArtNetOutputDevice.c
Go to the documentation of this file.
1 
10 #include "type.h"
11 #include "VuoArtNetOutputDevice.h"
12 
14 #ifdef VUO_COMPILER
16  "title" : "Art-Net Output Device",
17  "description" : "Information about an Art-Net output device.",
18  "keywords" : [ ],
19  "version" : "1.0.0",
20  "dependencies" : [
21  "VuoArtNetInputDevice",
22  "VuoInteger",
23  "VuoText"
24  ]
25  });
26 #endif
28 
44 {
45  return (VuoArtNetOutputDevice){
46  VuoJson_getObjectValue(VuoText, js, "name", NULL),
47  VuoJson_getObjectValue(VuoText, js, "ipAddress", NULL),
48  VuoJson_getObjectValue(VuoText, js, "ethernetAddress", NULL),
49  {
50  VuoJson_getObjectValue(VuoInteger, js, "net", 0),
51  VuoJson_getObjectValue(VuoInteger, js, "subNet", 0),
52  VuoJson_getObjectValue(VuoInteger, js, "universe", 0),
53  }};
54 }
55 
60 {
61  json_object *js = json_object_new_object();
62 
63  if (value.name)
64  json_object_object_add(js, "name", VuoText_getJson(value.name));
65 
66  if (value.ipAddress)
67  json_object_object_add(js, "ipAddress", VuoText_getJson(value.ipAddress));
68 
69  if (value.ethernetAddress)
70  json_object_object_add(js, "ethernetAddress", VuoText_getJson(value.ethernetAddress));
71 
72  json_object_object_add(js, "net", VuoInteger_getJson(value.address.net));
73 
74  json_object_object_add(js, "subNet", VuoInteger_getJson(value.address.subNet));
75 
76  json_object_object_add(js, "universe", VuoInteger_getJson(value.address.universe));
77 
78  return js;
79 }
80 
85 {
86  if (value.name && value.ipAddress && value.ethernetAddress)
87  return VuoText_format("%s<br>%s (%s)<br>Net %lld, Sub-Net %lld, Universe %lld",
88  value.name,
89  value.ipAddress, value.ethernetAddress,
90  value.address.net, value.address.subNet, value.address.universe);
91  else if (value.ipAddress)
92  return VuoText_format("%s<br>Net %lld, Sub-Net %lld, Universe %lld",
93  value.ipAddress,
94  value.address.net, value.address.subNet, value.address.universe);
95  else
96  return VuoText_format("Net %lld, Sub-Net %lld, Universe %lld", value.address.net, value.address.subNet, value.address.universe);
97 }
98 
103 {
105  bzero(&d, sizeof(VuoArtNetOutputDevice));
106  d.address.net = net;
107  d.address.subNet = subNet;
108  d.address.universe = universe;
109  return d;
110 }
111 
115 VuoArtNetOutputDevice VuoArtNetOutputDevice_makeUnicast(const VuoText ipAddress, const VuoInteger net, const VuoInteger subNet, const VuoInteger universe)
116 {
118  bzero(&d, sizeof(VuoArtNetOutputDevice));
119  d.ipAddress = ipAddress;
120  d.address.net = net;
121  d.address.subNet = subNet;
122  d.address.universe = universe;
123  return d;
124 }
125 
134 {
135  if (!VuoArtNetAddress_areEqual(value1.address, value2.address))
136  return false;
137 
138  if (!VuoText_areEqual(value1.ipAddress, value2.ipAddress))
139  return false;
140 
141  if (!VuoText_areEqual(value1.name, value2.name))
142  return false;
143 
144  if (!VuoText_areEqual(value1.ethernetAddress, value2.ethernetAddress))
145  return false;
146 
147  return true;
148 }
149 
154 {
155  VuoType_returnInequality(VuoText, a.name, b.name);
156  VuoType_returnInequality(VuoText, a.ipAddress, b.ipAddress);
157  VuoType_returnInequality(VuoText, a.ethernetAddress, b.ethernetAddress);
158  VuoType_returnInequality(VuoArtNetAddress, a.address, b.address);
159  return false;
160 }