@UpnpAction(out = { @UpnpOutputArgument(name = "ConnectionID", stateVariable = "A_ARG_TYPE_ConnectionID", getterName = "getConnectionID"), @UpnpOutputArgument(name = "AVTransportID", stateVariable = "A_ARG_TYPE_AVTransportID", getterName = "getAvTransportID"), @UpnpOutputArgument(name = "RcsID", stateVariable = "A_ARG_TYPE_RcsID", getterName = "getRcsID") }) synchronized public ConnectionInfo prepareForConnection( @UpnpInputArgument(name = "RemoteProtocolInfo", stateVariable = "A_ARG_TYPE_ProtocolInfo") ProtocolInfo remoteProtocolInfo, @UpnpInputArgument(name = "PeerConnectionManager", stateVariable = "A_ARG_TYPE_ConnectionManager") ServiceReference peerConnectionManager, @UpnpInputArgument(name = "PeerConnectionID", stateVariable = "A_ARG_TYPE_ConnectionID") int peerConnectionId, @UpnpInputArgument(name = "Direction", stateVariable = "A_ARG_TYPE_Direction") String direction) throws ActionException { int connectionId = getNewConnectionId(); ConnectionInfo.Direction dir; try { dir = ConnectionInfo.Direction.valueOf(direction); } catch (Exception ex) { throw new ConnectionManagerException(ErrorCode.ARGUMENT_VALUE_INVALID, "Unsupported direction: " + direction); } log.fine("Preparing for connection with local new ID " + connectionId + " and peer connection ID: " + peerConnectionId); ConnectionInfo newConnectionInfo = createConnection( connectionId, peerConnectionId, peerConnectionManager, dir, remoteProtocolInfo ); storeConnection(newConnectionInfo); return newConnectionInfo; }
@UpnpAction(out = { @UpnpOutputArgument(name = "ConnectionID", stateVariable = "A_ARG_TYPE_ConnectionID", getterName = "getConnectionID"), @UpnpOutputArgument(name = "AVTransportID", stateVariable = "A_ARG_TYPE_AVTransportID", getterName = "getAvTransportID"), @UpnpOutputArgument(name = "RcsID", stateVariable = "A_ARG_TYPE_RcsID", getterName = "getRcsID") }) synchronized public ConnectionInfo prepareForConnection( @UpnpInputArgument(name = "RemoteProtocolInfo", stateVariable = "A_ARG_TYPE_ProtocolInfo") ProtocolInfo remoteProtocolInfo, @UpnpInputArgument(name = "PeerConnectionManager", stateVariable = "A_ARG_TYPE_ConnectionManager") ServiceReference peerConnectionManager, @UpnpInputArgument(name = "PeerConnectionID", stateVariable = "A_ARG_TYPE_ConnectionID") int peerConnectionId, @UpnpInputArgument(name = "Direction", stateVariable = "A_ARG_TYPE_Direction") String direction) throws ActionException { int connectionId = getNewConnectionId(); ConnectionInfo.Direction dir; try { dir = ConnectionInfo.Direction.valueOf(direction); } catch (Exception ex) { throw new ConnectionManagerException(ErrorCode.ARGUMENT_VALUE_INVALID, "Unsupported direction: " + direction); } log.fine("Preparing for connection with local new ID " + connectionId + " and peer connection ID: " + peerConnectionId); ConnectionInfo newConnectionInfo = createConnection( connectionId, peerConnectionId, peerConnectionManager, dir, remoteProtocolInfo ); storeConnection(newConnectionInfo); return newConnectionInfo; }
@Override public void success(ActionInvocation invocation) { try { ConnectionInfo info = new ConnectionInfo( (Integer)invocation.getInput("ConnectionID").getValue(), (Integer)invocation.getOutput("RcsID").getValue(), (Integer)invocation.getOutput("AVTransportID").getValue(), new ProtocolInfo(invocation.getOutput("ProtocolInfo").toString()), new ServiceReference(invocation.getOutput("PeerConnectionManager").toString()), (Integer)invocation.getOutput("PeerConnectionID").getValue(), ConnectionInfo.Direction.valueOf(invocation.getOutput("Direction").toString()), ConnectionInfo.Status.valueOf(invocation.getOutput("Status").toString()) ); received(invocation, info); } catch (Exception ex) { invocation.setFailure( new ActionException(ErrorCode.ACTION_FAILED, "Can't parse ConnectionInfo response: " + ex, ex) ); failure(invocation, null); } }
public Direction getOpposite() { return this.equals(Output) ? Input : Output; }
@Override public void received(ActionInvocation invocation, int peerConnectionID, int rcsID, int avTransportID) { ConnectionInfo info = new ConnectionInfo( localConnectionID, rcsID, avTransportID, protInfo, peerService.getReference(), peerConnectionID, direction.getOpposite(), // If I prepared you for output, then I do input ConnectionInfo.Status.OK ); storeConnection(info); }
public PrepareForConnection(Service service, ControlPoint controlPoint, ProtocolInfo remoteProtocolInfo, ServiceReference peerConnectionManager, int peerConnectionID, ConnectionInfo.Direction direction) { super(new ActionInvocation(service.getAction("PrepareForConnection")), controlPoint); getActionInvocation().setInput("RemoteProtocolInfo", remoteProtocolInfo.toString()); getActionInvocation().setInput("PeerConnectionManager", peerConnectionManager.toString()); getActionInvocation().setInput("PeerConnectionID", peerConnectionID); getActionInvocation().setInput("Direction", direction.toString()); }
@Override public int hashCode() { int result = connectionID; result = 31 * result + rcsID; result = 31 * result + avTransportID; result = 31 * result + (protocolInfo != null ? protocolInfo.hashCode() : 0); result = 31 * result + (peerConnectionManager != null ? peerConnectionManager.hashCode() : 0); result = 31 * result + peerConnectionID; result = 31 * result + direction.hashCode(); result = 31 * result + connectionStatus.hashCode(); return result; }
@Override public void success(ActionInvocation invocation) { try { ConnectionInfo info = new ConnectionInfo( (Integer)invocation.getInput("ConnectionID").getValue(), (Integer)invocation.getOutput("RcsID").getValue(), (Integer)invocation.getOutput("AVTransportID").getValue(), new ProtocolInfo(invocation.getOutput("ProtocolInfo").toString()), new ServiceReference(invocation.getOutput("PeerConnectionManager").toString()), (Integer)invocation.getOutput("PeerConnectionID").getValue(), ConnectionInfo.Direction.valueOf(invocation.getOutput("Direction").toString()), ConnectionInfo.Status.valueOf(invocation.getOutput("Status").toString()) ); received(invocation, info); } catch (Exception ex) { invocation.setFailure( new ActionException(ErrorCode.ACTION_FAILED, "Can't parse ConnectionInfo response: " + ex, ex) ); failure(invocation, null); } }
@Override public void received(ActionInvocation invocation, int peerConnectionID, int rcsID, int avTransportID) { ConnectionInfo info = new ConnectionInfo( localConnectionID, rcsID, avTransportID, protInfo, peerService.getReference(), peerConnectionID, direction.getOpposite(), // If I prepared you for output, then I do input ConnectionInfo.Status.OK ); storeConnection(info); }
public Direction getOpposite() { return this.equals(Output) ? Input : Output; }
public PrepareForConnection(Service service, ControlPoint controlPoint, ProtocolInfo remoteProtocolInfo, ServiceReference peerConnectionManager, int peerConnectionID, ConnectionInfo.Direction direction) { super(new ActionInvocation(service.getAction("PrepareForConnection")), controlPoint); getActionInvocation().setInput("RemoteProtocolInfo", remoteProtocolInfo.toString()); getActionInvocation().setInput("PeerConnectionManager", peerConnectionManager.toString()); getActionInvocation().setInput("PeerConnectionID", peerConnectionID); getActionInvocation().setInput("Direction", direction.toString()); }
@Override public int hashCode() { int result = connectionID; result = 31 * result + rcsID; result = 31 * result + avTransportID; result = 31 * result + (protocolInfo != null ? protocolInfo.hashCode() : 0); result = 31 * result + (peerConnectionManager != null ? peerConnectionManager.hashCode() : 0); result = 31 * result + peerConnectionID; result = 31 * result + direction.hashCode(); result = 31 * result + connectionStatus.hashCode(); return result; }
@UpnpAction(out = { @UpnpOutputArgument(name = "ConnectionID", stateVariable = "A_ARG_TYPE_ConnectionID", getterName = "getConnectionID"), @UpnpOutputArgument(name = "AVTransportID", stateVariable = "A_ARG_TYPE_AVTransportID", getterName = "getAvTransportID"), @UpnpOutputArgument(name = "RcsID", stateVariable = "A_ARG_TYPE_RcsID", getterName = "getRcsID") }) synchronized public ConnectionInfo prepareForConnection( @UpnpInputArgument(name = "RemoteProtocolInfo", stateVariable = "A_ARG_TYPE_ProtocolInfo") ProtocolInfo remoteProtocolInfo, @UpnpInputArgument(name = "PeerConnectionManager", stateVariable = "A_ARG_TYPE_ConnectionManager") ServiceReference peerConnectionManager, @UpnpInputArgument(name = "PeerConnectionID", stateVariable = "A_ARG_TYPE_ConnectionID") int peerConnectionId, @UpnpInputArgument(name = "Direction", stateVariable = "A_ARG_TYPE_Direction") String direction) throws ActionException { int connectionId = getNewConnectionId(); ConnectionInfo.Direction dir; try { dir = ConnectionInfo.Direction.valueOf(direction); } catch (Exception ex) { throw new ConnectionManagerException(ErrorCode.ARGUMENT_VALUE_INVALID, "Unsupported direction: " + direction); } log.fine("Preparing for connection with local new ID " + connectionId + " and peer connection ID: " + peerConnectionId); ConnectionInfo newConnectionInfo = createConnection( connectionId, peerConnectionId, peerConnectionManager, dir, remoteProtocolInfo ); storeConnection(newConnectionInfo); return newConnectionInfo; }
@Override public void success(ActionInvocation invocation) { try { ConnectionInfo info = new ConnectionInfo( (Integer)invocation.getInput("ConnectionID").getValue(), (Integer)invocation.getOutput("RcsID").getValue(), (Integer)invocation.getOutput("AVTransportID").getValue(), new ProtocolInfo(invocation.getOutput("ProtocolInfo").toString()), new ServiceReference(invocation.getOutput("PeerConnectionManager").toString()), (Integer)invocation.getOutput("PeerConnectionID").getValue(), ConnectionInfo.Direction.valueOf(invocation.getOutput("Direction").toString()), ConnectionInfo.Status.valueOf(invocation.getOutput("Status").toString()) ); received(invocation, info); } catch (Exception ex) { invocation.setFailure( new ActionException(ErrorCode.ACTION_FAILED, "Can't parse ConnectionInfo response: " + ex, ex) ); failure(invocation, null); } }
@Override public void received(ActionInvocation invocation, int peerConnectionID, int rcsID, int avTransportID) { ConnectionInfo info = new ConnectionInfo( localConnectionID, rcsID, avTransportID, protInfo, peerService.getReference(), peerConnectionID, direction.getOpposite(), // If I prepared you for output, then I do input ConnectionInfo.Status.OK ); storeConnection(info); }
public Direction getOpposite() { return this.equals(Output) ? Input : Output; }
@Override public int hashCode() { int result = connectionID; result = 31 * result + rcsID; result = 31 * result + avTransportID; result = 31 * result + (protocolInfo != null ? protocolInfo.hashCode() : 0); result = 31 * result + (peerConnectionManager != null ? peerConnectionManager.hashCode() : 0); result = 31 * result + peerConnectionID; result = 31 * result + direction.hashCode(); result = 31 * result + connectionStatus.hashCode(); return result; }
public PrepareForConnection(Service service, ControlPoint controlPoint, ProtocolInfo remoteProtocolInfo, ServiceReference peerConnectionManager, int peerConnectionID, ConnectionInfo.Direction direction) { super(new ActionInvocation(service.getAction("PrepareForConnection")), controlPoint); getActionInvocation().setInput("RemoteProtocolInfo", remoteProtocolInfo.toString()); getActionInvocation().setInput("PeerConnectionManager", peerConnectionManager.toString()); getActionInvocation().setInput("PeerConnectionID", peerConnectionID); getActionInvocation().setInput("Direction", direction.toString()); }