View Javadoc
1   package org.fourthline.cling.support.igd.callback;
2   
3   import org.fourthline.cling.controlpoint.ActionCallback;
4   import org.fourthline.cling.controlpoint.ControlPoint;
5   import org.fourthline.cling.model.action.ActionArgumentValue;
6   import org.fourthline.cling.model.action.ActionInvocation;
7   import org.fourthline.cling.model.meta.Service;
8   import org.fourthline.cling.model.types.UnsignedIntegerTwoBytes;
9   import org.fourthline.cling.support.model.PortMapping;
10  
11  import java.util.Map;
12  
13  public abstract class PortMappingEntryGet extends ActionCallback {
14  
15      public PortMappingEntryGet(Service service, long index) {
16          this(service, null, index);
17      }
18  
19      protected PortMappingEntryGet(Service service, ControlPoint controlPoint, long index) {
20          super(new ActionInvocation(service.getAction("GetGenericPortMappingEntry")), controlPoint);
21  
22          getActionInvocation().setInput("NewPortMappingIndex", new UnsignedIntegerTwoBytes(index));
23      }
24  
25      @Override
26      public void success(ActionInvocation invocation) {
27  
28          Map<String, ActionArgumentValue<Service>> outputMap = invocation.getOutputMap();
29          success(new PortMapping(outputMap));
30      }
31  
32      protected abstract void success(PortMapping portMapping);
33  }