1 /*
2 * Copyright (C) 2013 4th Line GmbH, Switzerland
3 *
4 * The contents of this file are subject to the terms of either the GNU
5 * Lesser General Public License Version 2 or later ("LGPL") or the
6 * Common Development and Distribution License Version 1 or later
7 * ("CDDL") (collectively, the "License"). You may not use this file
8 * except in compliance with the License. See LICENSE.txt for more
9 * information.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 */
15 package example.localservice;
16
17 import org.fourthline.cling.binding.annotations.*;
18
19 @UpnpService( // DOC:INC1
20 serviceId = @UpnpServiceId("MyService"),
21 serviceType = @UpnpServiceType(namespace = "mydomain", value = "MyService"),
22 stringConvertibleTypes = MyStringConvertible.class
23 )
24 public class MyServiceWithEnum {
25
26 public enum Color {
27 Red,
28 Green,
29 Blue
30 }
31
32 @UpnpStateVariable
33 private Color color;
34
35 @UpnpAction(out = @UpnpOutputArgument(name = "Out"))
36 public Color getColor() {
37 return color;
38 }
39
40 @UpnpAction
41 public void setColor(@UpnpInputArgument(name = "In") String color) {
42 this.color = Color.valueOf(color);
43 }
44
45 } // DOC:INC1