1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.fourthline.cling.support.igd.callback;
17
18 import org.fourthline.cling.controlpoint.ActionCallback;
19 import org.fourthline.cling.controlpoint.ControlPoint;
20 import org.fourthline.cling.model.action.ActionInvocation;
21 import org.fourthline.cling.model.meta.Service;
22 import org.fourthline.cling.support.model.PortMapping;
23
24
25
26
27 public abstract class PortMappingDelete extends ActionCallback {
28
29 final protected PortMapping portMapping;
30
31 public PortMappingDelete(Service service, PortMapping portMapping) {
32 this(service, null, portMapping);
33 }
34
35 protected PortMappingDelete(Service service, ControlPoint controlPoint, PortMapping portMapping) {
36 super(new ActionInvocation(service.getAction("DeletePortMapping")), controlPoint);
37
38 this.portMapping = portMapping;
39
40 getActionInvocation().setInput("NewExternalPort", portMapping.getExternalPort());
41 getActionInvocation().setInput("NewProtocol", portMapping.getProtocol());
42 if (portMapping.hasRemoteHost())
43 getActionInvocation().setInput("NewRemoteHost", portMapping.getRemoteHost());
44
45 }
46
47 }