]> git.basschouten.com Git - openhab-addons.git/blob
fd8a670662168a365c90d13598035910b02c9f1a
[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.amazonechocontrol.internal.jsons;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.eclipse.jdt.annotation.Nullable;
17
18 /**
19  * The {@link JsonPlayerState} encapsulate the GSON data of the player state
20  *
21  * @author Michael Geramb - Initial contribution
22  */
23 @NonNullByDefault
24 public class JsonPlayerState {
25     public @Nullable PlayerInfo playerInfo;
26
27     public static class PlayerInfo {
28         public @Nullable String state;
29         public @Nullable InfoText infoText;
30         public @Nullable InfoText miniInfoText;
31         public @Nullable Provider provider;
32         public @Nullable Volume volume;
33         public @Nullable MainArt mainArt;
34
35         public @Nullable String queueId;
36         public @Nullable String mediaId;
37
38         public @Nullable Progress progress;
39
40         public static class InfoText {
41             public boolean multiLineMode;
42             public @Nullable String subText1;
43             public @Nullable String subText2;
44             public @Nullable String title;
45         }
46
47         public static class Provider {
48             public @Nullable String providerDisplayName;
49             public @Nullable String providerName;
50         }
51
52         public static class Volume {
53             public boolean muted;
54             public int volume;
55         }
56
57         public static class MainArt {
58             public @Nullable String altText;
59             public @Nullable String artType;
60             public @Nullable String contentType;
61             public @Nullable String url;
62         }
63
64         public static class Progress {
65             public @Nullable Boolean allowScrubbing;
66             public @Nullable Object locationInfo;
67             public @Nullable Long mediaLength;
68             public @Nullable Long mediaProgress;
69             public @Nullable Boolean showTiming;
70             public @Nullable Boolean visible;
71         }
72     }
73 }