1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.fourthline.cling.model.message.gena;
17
18 import org.fourthline.cling.model.message.StreamRequestMessage;
19 import org.fourthline.cling.model.message.header.CallbackHeader;
20 import org.fourthline.cling.model.message.header.UpnpHeader;
21 import org.fourthline.cling.model.message.header.NTEventHeader;
22 import org.fourthline.cling.model.message.header.TimeoutHeader;
23 import org.fourthline.cling.model.message.header.SubscriptionIdHeader;
24 import org.fourthline.cling.model.meta.LocalService;
25
26 import java.net.URL;
27 import java.util.List;
28
29
30
31
32 public class IncomingSubscribeRequestMessage extends StreamRequestMessage {
33
34 final private LocalService service;
35
36 public IncomingSubscribeRequestMessage(StreamRequestMessage source, LocalService service) {
37 super(source);
38 this.service = service;
39 }
40
41 public LocalService getService() {
42 return service;
43 }
44
45 public List<URL> getCallbackURLs() {
46 CallbackHeader header = getHeaders().getFirstHeader(UpnpHeader.Type.CALLBACK, CallbackHeader.class);
47 return header != null ? header.getValue() : null;
48 }
49
50 public boolean hasNotificationHeader() {
51 return getHeaders().getFirstHeader(UpnpHeader.Type.NT, NTEventHeader.class) != null;
52 }
53
54 public Integer getRequestedTimeoutSeconds() {
55 TimeoutHeader timeoutHeader = getHeaders().getFirstHeader(UpnpHeader.Type.TIMEOUT, TimeoutHeader.class);
56 return timeoutHeader != null ? timeoutHeader.getValue() : null;
57 }
58
59 public String getSubscriptionId() {
60 SubscriptionIdHeader header = getHeaders().getFirstHeader(UpnpHeader.Type.SID, SubscriptionIdHeader.class);
61 return header != null ? header.getValue() : null;
62 }
63 }