2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.roku.internal.dto;
15 import javax.xml.bind.annotation.XmlAccessType;
16 import javax.xml.bind.annotation.XmlAccessorType;
17 import javax.xml.bind.annotation.XmlElement;
18 import javax.xml.bind.annotation.XmlRootElement;
20 import org.eclipse.jdt.annotation.NonNullByDefault;
23 * Maps the XML response from the Roku HTTP endpoint '/query/device-info' (Device information)
25 * @author Michael Lobstein - Initial contribution
29 @XmlAccessorType(XmlAccessType.FIELD)
30 @XmlRootElement(name = "device-info")
31 public class DeviceInfo {
32 @XmlElement(name = "udn")
33 private String udn = "";
34 @XmlElement(name = "serial-number")
35 private String serialNumber = "";
36 @XmlElement(name = "device-id")
37 private String deviceId = "";
38 @XmlElement(name = "advertising-id")
39 private String advertisingId = "";
40 @XmlElement(name = "vendor-name")
41 private String vendorName = "";
42 @XmlElement(name = "model-name")
43 private String modelName = "";
44 @XmlElement(name = "model-number")
45 private String modelNumber = "";
46 @XmlElement(name = "model-region")
47 private String modelRegion = "";
48 @XmlElement(name = "is-tv")
49 private boolean isTv = false;
50 @XmlElement(name = "is-stick")
51 private boolean isStick = false;
52 @XmlElement(name = "ui-resolution")
53 private String uiResolution = "";
54 @XmlElement(name = "supports-ethernet")
55 private boolean supportsEthernet = false;
56 @XmlElement(name = "wifi-mac")
57 private String wifiMac = "";
58 @XmlElement(name = "wifi-driver")
59 private String wifiDriver = "";
60 @XmlElement(name = "has-wifi-extender")
61 private boolean hasWifiExtender = false;
62 @XmlElement(name = "has-wifi-5G-support")
63 private boolean hasWifi5GSupport = false;
64 @XmlElement(name = "can-use-wifi-extender")
65 private boolean canUseWifiExtender = false;
66 @XmlElement(name = "ethernet-mac")
67 private String ethernetMac = "";
68 @XmlElement(name = "network-type")
69 private String networkType = "";
70 @XmlElement(name = "friendly-device-name")
71 private String friendlyDeviceName = "";
72 @XmlElement(name = "friendly-model-name")
73 private String friendlyModelName = "";
74 @XmlElement(name = "default-device-name")
75 private String defaultDeviceName = "";
76 @XmlElement(name = "user-device-name")
77 private String userDeviceName = "";
78 @XmlElement(name = "user-device-location")
79 private String userDeviceLocation = "";
80 @XmlElement(name = "build-number")
81 private String buildNumber = "";
82 @XmlElement(name = "software-version")
83 private String softwareVersion = "";
84 @XmlElement(name = "software-build")
85 private String softwareBuild = "";
86 @XmlElement(name = "secure-device")
87 private boolean secureDevice = false;
88 @XmlElement(name = "language")
89 private String language = "";
90 @XmlElement(name = "country")
91 private String country = "";
92 @XmlElement(name = "locale")
93 private String locale = "";
94 @XmlElement(name = "time-zone-auto")
95 private boolean timeZoneAuto = false;
96 @XmlElement(name = "time-zone")
97 private String timeZone = "";
98 @XmlElement(name = "time-zone-name")
99 private String timeZoneName = "";
100 @XmlElement(name = "time-zone-tz")
101 private String timeZoneTz = "";
102 @XmlElement(name = "time-zone-offset")
103 private int timeZoneOffset = 0;
104 @XmlElement(name = "clock-format")
105 private String clockFormat = "";
106 @XmlElement(name = "uptime")
107 private int uptime = 0;
108 @XmlElement(name = "power-mode")
109 private String powerMode = "";
110 @XmlElement(name = "supports-suspend")
111 private boolean supportsSuspend = false;
112 @XmlElement(name = "supports-find-remote")
113 private boolean supportsFindRemote = false;
114 @XmlElement(name = "find-remote-is-possible")
115 private boolean findRemoteIsPossible = false;
116 @XmlElement(name = "supports-audio-guide")
117 private boolean supportsAudioGuide = false;
118 @XmlElement(name = "supports-rva")
119 private boolean supportsRva = false;
120 @XmlElement(name = "developer-enabled")
121 private boolean developerEnabled = false;
122 @XmlElement(name = "keyed-developer-id")
123 private String keyedDeveloperId = "";
124 @XmlElement(name = "search-enabled")
125 private boolean searchEnabled = false;
126 @XmlElement(name = "search-channels-enabled")
127 private boolean searchChannelsEnabled = false;
128 @XmlElement(name = "voice-search-enabled")
129 private boolean voiceSearchEnabled = false;
130 @XmlElement(name = "notifications-enabled")
131 private boolean notificationsEnabled = false;
132 @XmlElement(name = "notifications-first-use")
133 private boolean notificationsFirstUse = false;
134 @XmlElement(name = "supports-private-listening")
135 private boolean supportsPrivateListening = false;
136 @XmlElement(name = "headphones-connected")
137 private boolean headphonesConnected = false;
138 @XmlElement(name = "supports-ecs-textedit")
139 private boolean supportsEcsTextedit = false;
140 @XmlElement(name = "supports-ecs-microphone")
141 private boolean supportsEcsMicrophone = false;
142 @XmlElement(name = "supports-wake-on-wlan")
143 private boolean supportsWakeOnWlan = false;
144 @XmlElement(name = "has-play-on-roku")
145 private boolean hasPlayOnRoku = false;
146 @XmlElement(name = "has-mobile-screensaver")
147 private boolean hasMobileScreensaver = false;
148 @XmlElement(name = "support-url")
149 private String supportUrl = "";
150 @XmlElement(name = "grandcentral-version")
151 private String grandcentralVersion = "";
152 @XmlElement(name = "trc-version")
153 private String trcVersion = "";
154 @XmlElement(name = "trc-channel-version")
155 private String trcChannelVersion = "";
156 @XmlElement(name = "davinci-version")
157 private String davinciVersion = "";
159 public String getUdn() {
163 public void setUdn(String value) {
167 public String getSerialNumber() {
171 public void setSerialNumber(String value) {
172 this.serialNumber = value;
175 public String getDeviceId() {
179 public void setDeviceId(String value) {
180 this.deviceId = value;
183 public String getAdvertisingId() {
184 return advertisingId;
187 public void setAdvertisingId(String value) {
188 this.advertisingId = value;
191 public String getVendorName() {
195 public void setVendorName(String value) {
196 this.vendorName = value;
199 public String getModelName() {
203 public void setModelName(String value) {
204 this.modelName = value;
207 public String getModelNumber() {
211 public void setModelNumber(String value) {
212 this.modelNumber = value;
215 public String getModelRegion() {
219 public void setModelRegion(String value) {
220 this.modelRegion = value;
223 public boolean isTv() {
227 public void setIsTv(boolean value) {
231 public boolean isStick() {
235 public void setIsStick(boolean value) {
236 this.isStick = value;
239 public String getUiResolution() {
243 public void setUiResolution(String value) {
244 this.uiResolution = value;
247 public boolean isSupportsEthernet() {
248 return supportsEthernet;
251 public void setSupportsEthernet(boolean value) {
252 this.supportsEthernet = value;
255 public String getWifiMac() {
259 public void setWifiMac(String value) {
260 this.wifiMac = value;
263 public String getWifiDriver() {
267 public void setWifiDriver(String value) {
268 this.wifiDriver = value;
271 public boolean isHasWifiExtender() {
272 return hasWifiExtender;
275 public void setHasWifiExtender(boolean value) {
276 this.hasWifiExtender = value;
279 public boolean isHasWifi5GSupport() {
280 return hasWifi5GSupport;
283 public void setHasWifi5GSupport(boolean value) {
284 this.hasWifi5GSupport = value;
287 public boolean isCanUseWifiExtender() {
288 return canUseWifiExtender;
291 public void setCanUseWifiExtender(boolean value) {
292 this.canUseWifiExtender = value;
295 public String getEthernetMac() {
299 public void setEthernetMac(String value) {
300 this.ethernetMac = value;
303 public String getNetworkType() {
307 public void setNetworkType(String value) {
308 this.networkType = value;
311 public String getFriendlyDeviceName() {
312 return friendlyDeviceName;
315 public void setFriendlyDeviceName(String value) {
316 this.friendlyDeviceName = value;
319 public String getFriendlyModelName() {
320 return friendlyModelName;
323 public void setFriendlyModelName(String value) {
324 this.friendlyModelName = value;
327 public String getDefaultDeviceName() {
328 return defaultDeviceName;
331 public void setDefaultDeviceName(String value) {
332 this.defaultDeviceName = value;
335 public String getUserDeviceName() {
336 return userDeviceName;
339 public void setUserDeviceName(String value) {
340 this.userDeviceName = value;
343 public String getUserDeviceLocation() {
344 return userDeviceLocation;
347 public void setUserDeviceLocation(String value) {
348 this.userDeviceLocation = value;
351 public String getBuildNumber() {
355 public void setBuildNumber(String value) {
356 this.buildNumber = value;
359 public String getSoftwareVersion() {
360 return softwareVersion;
363 public void setSoftwareVersion(String value) {
364 this.softwareVersion = value;
367 public String getSoftwareBuild() {
368 return softwareBuild;
371 public void setSoftwareBuild(String value) {
372 this.softwareBuild = value;
375 public boolean isSecureDevice() {
379 public void setSecureDevice(boolean value) {
380 this.secureDevice = value;
383 public String getLanguage() {
387 public void setLanguage(String value) {
388 this.language = value;
391 public String getCountry() {
395 public void setCountry(String value) {
396 this.country = value;
399 public String getLocale() {
403 public void setLocale(String value) {
407 public boolean isTimeZoneAuto() {
411 public void setTimeZoneAuto(boolean value) {
412 this.timeZoneAuto = value;
415 public String getTimeZone() {
419 public void setTimeZone(String value) {
420 this.timeZone = value;
423 public String getTimeZoneName() {
427 public void setTimeZoneName(String value) {
428 this.timeZoneName = value;
431 public String getTimeZoneTz() {
435 public void setTimeZoneTz(String value) {
436 this.timeZoneTz = value;
439 public int getTimeZoneOffset() {
440 return timeZoneOffset;
443 public void setTimeZoneOffset(int value) {
444 this.timeZoneOffset = value;
447 public String getClockFormat() {
451 public void setClockFormat(String value) {
452 this.clockFormat = value;
455 public int getUptime() {
459 public void setUptime(int value) {
463 public String getPowerMode() {
467 public void setPowerMode(String value) {
468 this.powerMode = value;
471 public boolean isSupportsSuspend() {
472 return supportsSuspend;
475 public void setSupportsSuspend(boolean value) {
476 this.supportsSuspend = value;
479 public boolean isSupportsFindRemote() {
480 return supportsFindRemote;
483 public void setSupportsFindRemote(boolean value) {
484 this.supportsFindRemote = value;
487 public boolean isFindRemoteIsPossible() {
488 return findRemoteIsPossible;
491 public void setFindRemoteIsPossible(boolean value) {
492 this.findRemoteIsPossible = value;
495 public boolean isSupportsAudioGuide() {
496 return supportsAudioGuide;
499 public void setSupportsAudioGuide(boolean value) {
500 this.supportsAudioGuide = value;
503 public boolean isSupportsRva() {
507 public void setSupportsRva(boolean value) {
508 this.supportsRva = value;
511 public boolean isDeveloperEnabled() {
512 return developerEnabled;
515 public void setDeveloperEnabled(boolean value) {
516 this.developerEnabled = value;
519 public String getKeyedDeveloperId() {
520 return keyedDeveloperId;
523 public void setKeyedDeveloperId(String value) {
524 this.keyedDeveloperId = value;
527 public boolean isSearchEnabled() {
528 return searchEnabled;
531 public void setSearchEnabled(boolean value) {
532 this.searchEnabled = value;
535 public boolean isSearchChannelsEnabled() {
536 return searchChannelsEnabled;
539 public void setSearchChannelsEnabled(boolean value) {
540 this.searchChannelsEnabled = value;
543 public boolean isVoiceSearchEnabled() {
544 return voiceSearchEnabled;
547 public void setVoiceSearchEnabled(boolean value) {
548 this.voiceSearchEnabled = value;
551 public boolean isNotificationsEnabled() {
552 return notificationsEnabled;
555 public void setNotificationsEnabled(boolean value) {
556 this.notificationsEnabled = value;
559 public boolean isNotificationsFirstUse() {
560 return notificationsFirstUse;
563 public void setNotificationsFirstUse(boolean value) {
564 this.notificationsFirstUse = value;
567 public boolean isSupportsPrivateListening() {
568 return supportsPrivateListening;
571 public void setSupportsPrivateListening(boolean value) {
572 this.supportsPrivateListening = value;
575 public boolean isHeadphonesConnected() {
576 return headphonesConnected;
579 public void setHeadphonesConnected(boolean value) {
580 this.headphonesConnected = value;
583 public boolean isSupportsEcsTextedit() {
584 return supportsEcsTextedit;
587 public void setSupportsEcsTextedit(boolean value) {
588 this.supportsEcsTextedit = value;
591 public boolean isSupportsEcsMicrophone() {
592 return supportsEcsMicrophone;
595 public void setSupportsEcsMicrophone(boolean value) {
596 this.supportsEcsMicrophone = value;
599 public boolean isSupportsWakeOnWlan() {
600 return supportsWakeOnWlan;
603 public void setSupportsWakeOnWlan(boolean value) {
604 this.supportsWakeOnWlan = value;
607 public boolean isHasPlayOnRoku() {
608 return hasPlayOnRoku;
611 public void setHasPlayOnRoku(boolean value) {
612 this.hasPlayOnRoku = value;
615 public boolean isHasMobileScreensaver() {
616 return hasMobileScreensaver;
619 public void setHasMobileScreensaver(boolean value) {
620 this.hasMobileScreensaver = value;
623 public String getSupportUrl() {
627 public void setSupportUrl(String value) {
628 this.supportUrl = value;
631 public String getGrandcentralVersion() {
632 return grandcentralVersion;
635 public void setGrandcentralVersion(String value) {
636 this.grandcentralVersion = value;
639 public String getTrcVersion() {
643 public void setTrcVersion(String value) {
644 this.trcVersion = value;
647 public String getTrcChannelVersion() {
648 return trcChannelVersion;
651 public void setTrcChannelVersion(String value) {
652 this.trcChannelVersion = value;
655 public String getDavinciVersion() {
656 return davinciVersion;
659 public void setDavinciVersion(String value) {
660 this.davinciVersion = value;