2 * Copyright (c) 2010-2020 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.upnpcontrol.internal;
16 import java.util.stream.Collectors;
17 import java.util.stream.Stream;
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.openhab.core.thing.ThingTypeUID;
23 * The {@link UpnpControlBindingConstants} class defines common constants, which are
24 * used across the whole binding.
26 * @author Mark Herwege - Initial contribution
29 public class UpnpControlBindingConstants {
31 public static final String BINDING_ID = "upnpcontrol";
33 // List of all Thing Type UIDs
34 public static final ThingTypeUID THING_TYPE_RENDERER = new ThingTypeUID(BINDING_ID, "upnprenderer");
35 public static final ThingTypeUID THING_TYPE_SERVER = new ThingTypeUID(BINDING_ID, "upnpserver");
36 public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Stream.of(THING_TYPE_RENDERER, THING_TYPE_SERVER)
37 .collect(Collectors.toSet());
39 // List of thing parameter names
40 public static final String HOST_PARAMETER = "ipAddress";
41 public static final String TCP_PORT_PARAMETER = "port";
42 public static final String UDN_PARAMETER = "udn";
43 public static final String REFRESH_INTERVAL = "refreshInterval";
45 // List of all Channel ids
46 public static final String VOLUME = "volume";
47 public static final String MUTE = "mute";
48 public static final String CONTROL = "control";
49 public static final String STOP = "stop";
50 public static final String TITLE = "title";
51 public static final String ALBUM = "album";
52 public static final String ALBUM_ART = "albumart";
53 public static final String CREATOR = "creator";
54 public static final String ARTIST = "artist";
55 public static final String PUBLISHER = "publisher";
56 public static final String GENRE = "genre";
57 public static final String TRACK_NUMBER = "tracknumber";
58 public static final String TRACK_DURATION = "trackduration";
59 public static final String TRACK_POSITION = "trackposition";
61 public static final String UPNPRENDERER = "upnprenderer";
62 public static final String CURRENTID = "currentid";
63 public static final String BROWSE = "browse";
64 public static final String SEARCH = "search";
65 public static final String SERVE = "serve";
67 // Thing config properties
68 public static final String CONFIG_FILTER = "filter";
69 public static final String SORT_CRITERIA = "sortcriteria";