1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.fourthline.cling.model.message.discovery;
17
18 import org.fourthline.cling.model.Constants;
19 import org.fourthline.cling.model.Location;
20 import org.fourthline.cling.model.message.header.InterfaceMacHeader;
21 import org.fourthline.cling.model.message.header.RootDeviceHeader;
22 import org.fourthline.cling.model.message.header.USNRootDeviceHeader;
23 import org.fourthline.cling.model.message.header.UpnpHeader;
24 import org.fourthline.cling.model.meta.LocalDevice;
25 import org.fourthline.cling.model.types.NotificationSubtype;
26
27
28
29
30 public class OutgoingNotificationRequestRootDevice extends OutgoingNotificationRequest {
31
32 public OutgoingNotificationRequestRootDevice(Location location, LocalDevice device, NotificationSubtype type) {
33 super(location, device, type);
34
35 getHeaders().add(UpnpHeader.Type.NT, new RootDeviceHeader());
36 getHeaders().add(UpnpHeader.Type.USN, new USNRootDeviceHeader(device.getIdentity().getUdn()));
37
38 if ("true".equals(System.getProperty(Constants.SYSTEM_PROPERTY_ANNOUNCE_MAC_ADDRESS))
39 && location.getNetworkAddress().getHardwareAddress() != null) {
40 getHeaders().add(
41 UpnpHeader.Type.EXT_IFACE_MAC,
42 new InterfaceMacHeader(location.getNetworkAddress().getHardwareAddress())
43 );
44 }
45 }
46
47 }