]> git.basschouten.com Git - openhab-addons.git/blob
a418ae0f792605d1409f801cebfb1e5e8d5a3aef
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
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
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.oppo.internal.communication;
14
15 import java.util.Arrays;
16 import java.util.HashSet;
17 import java.util.Set;
18
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20
21 /**
22  * Represents the different kinds of commands
23  *
24  * @author Michael Lobstein - Initial contribution
25  */
26 @NonNullByDefault
27 public enum OppoCommand {
28     POWER_ON("PON"),
29     POWER_OFF("POF"),
30     PLAY("PLA"),
31     PAUSE("PAU"),
32     PREV("PRE"),
33     REWIND("REV"),
34     FFORWARD("FWD"),
35     NEXT("NXT"),
36     MUTE("MUT"),
37     QUERY_POWER_STATUS("QPW"),
38     QUERY_FIRMWARE_VERSION("QVR"),
39     QUERY_VOLUME("QVL"),
40     QUERY_HDMI_RESOLUTION("QHD"),
41     QUERY_HDR_SETTING("QHR"),
42     QUERY_PLAYBACK_STATUS("QPL"),
43     QUERY_TITLE_TRACK("QTK"),
44     QUERY_CHAPTER("QCH"),
45     QUERY_TITLE_ELAPSED("QTE"),
46     QUERY_TITLE_REMAIN("QTR"),
47     QUERY_CHAPTER_ELAPSED("QCE"),
48     QUERY_CHAPTER_REMAIN("QCR"),
49     QUERY_DISC_TYPE("QDT"),
50     QUERY_AUDIO_TYPE("QAT"),
51     QUERY_SUBTITLE_TYPE("QST"),
52     QUERY_SUBTITLE_SHIFT("QSH"),
53     QUERY_OSD_POSITION("QOP"),
54     QUERY_REPEAT_MODE("QRP"),
55     QUERY_ZOOM_MODE("QZM"),
56     QUERY_INPUT_SOURCE("QIS"),
57     SET_VERBOSE_MODE("SVM"),
58     SET_HDMI_MODE("SHD"),
59     SET_HDR_MODE("SHR"),
60     SET_ZOOM_RATIO("SZM"),
61     SET_VOLUME_LEVEL("SVL"),
62     SET_REPEAT("SRP"),
63     SET_SUBTITLE_SHIFT("SSH"),
64     SET_OSD_POSITION("SOP"),
65     SET_TIME_DISPLAY("STC"),
66     SET_INPUT_SOURCE("SIS"),
67     NO_OP("NOP");
68
69     private final String value;
70
71     public static final Set<OppoCommand> QUERY_COMMANDS = new HashSet<>(
72             Arrays.asList(QUERY_VOLUME, QUERY_HDMI_RESOLUTION, QUERY_HDR_SETTING, QUERY_PLAYBACK_STATUS,
73                     QUERY_DISC_TYPE, QUERY_AUDIO_TYPE, QUERY_SUBTITLE_SHIFT, QUERY_OSD_POSITION, QUERY_REPEAT_MODE,
74                     QUERY_ZOOM_MODE, QUERY_INPUT_SOURCE, QUERY_FIRMWARE_VERSION));
75
76     OppoCommand(String value) {
77         this.value = value;
78     }
79
80     /**
81      * Get the command name
82      *
83      * @return the command name
84      */
85     public String getValue() {
86         return value;
87     }
88 }