]> git.basschouten.com Git - openhab-addons.git/blob
002ca93b008108add595d347f0f28d32cf9828a3
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2020 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> INITIAL_COMMANDS = new HashSet<>(
72             Arrays.asList(QUERY_POWER_STATUS, QUERY_FIRMWARE_VERSION, QUERY_VOLUME, QUERY_HDMI_RESOLUTION,
73                     QUERY_HDR_SETTING, QUERY_PLAYBACK_STATUS, QUERY_DISC_TYPE, QUERY_AUDIO_TYPE, QUERY_SUBTITLE_SHIFT,
74                     QUERY_OSD_POSITION, QUERY_REPEAT_MODE, QUERY_ZOOM_MODE, QUERY_INPUT_SOURCE));
75
76     public static final Set<OppoCommand> QUERY_COMMANDS = new HashSet<>(
77             Arrays.asList(QUERY_VOLUME, QUERY_HDMI_RESOLUTION, QUERY_PLAYBACK_STATUS, QUERY_DISC_TYPE, QUERY_AUDIO_TYPE,
78                     QUERY_SUBTITLE_SHIFT, QUERY_OSD_POSITION, QUERY_REPEAT_MODE, QUERY_ZOOM_MODE, QUERY_INPUT_SOURCE));
79
80     OppoCommand(String value) {
81         this.value = value;
82     }
83
84     /**
85      * Get the command name
86      *
87      * @return the command name
88      */
89     public String getValue() {
90         return value;
91     }
92 }