public void activate(String client_id) throws UPnPException { UPnPAction act = service.getAction("Activate"); if (act == null) { throw (new UPnPException("Activate not supported")); } else { UPnPActionInvocation inv = act.getInvocation(); inv.addArgument("NewClientID", client_id); UPnPActionArgument[] args = inv.invoke(); for (int i = 0; i < args.length; i++) { UPnPActionArgument arg = args[i]; String name = arg.getName(); if (name.equalsIgnoreCase("NewStatus")) { return; } } throw (new UPnPException("status not found")); } }
public long getFreeSpace(String client_id) throws UPnPException { UPnPAction act = service.getAction("GetFreeSpace"); if (act == null) { throw (new UPnPException("GetFreeSpace not supported")); } else { UPnPActionInvocation inv = act.getInvocation(); inv.addArgument("NewClientID", client_id); UPnPActionArgument[] args = inv.invoke(); for (int i = 0; i < args.length; i++) { UPnPActionArgument arg = args[i]; String name = arg.getName(); if (name.equalsIgnoreCase("NewFreeSpace")) { return (Long.parseLong(arg.getValue())); } } throw (new UPnPException("result not found")); } }
public String addDownload(String client_id, String hash, String torrent) throws UPnPException { UPnPAction act = service.getAction("AddDownload"); if (act == null) { throw (new UPnPException("AddDownload not supported")); } else { UPnPActionInvocation inv = act.getInvocation(); inv.addArgument("NewClientID", client_id); inv.addArgument("NewTorrentHash", hash); inv.addArgument("NewTorrentData", torrent); UPnPActionArgument[] args = inv.invoke(); for (int i = 0; i < args.length; i++) { UPnPActionArgument arg = args[i]; String name = arg.getName(); if (name.equalsIgnoreCase("NewStatus")) { return (arg.getValue()); } } throw (new UPnPException("result not found")); } }
public String[] updateDownload(String client_id, String hash, String required_map) throws UPnPException { UPnPAction act = service.getAction("UpdateDownload"); if (act == null) { throw (new UPnPException("UpdateDownload not supported")); } else { UPnPActionInvocation inv = act.getInvocation(); inv.addArgument("NewClientID", client_id); inv.addArgument("NewTorrentHash", hash); inv.addArgument("NewPieceRequiredMap", required_map); UPnPActionArgument[] args = inv.invoke(); String have = null; String status = null; for (int i = 0; i < args.length; i++) { UPnPActionArgument arg = args[i]; String name = arg.getName(); if (name.equalsIgnoreCase("NewPieceHaveMap")) { have = arg.getValue(); } else if (name.equalsIgnoreCase("NewStatus")) { status = arg.getValue(); } } if (have != null && status != null) { return (new String[] {have, status}); } throw (new UPnPException("have or status not found")); } }
public String[] startDownload(String client_id, String hash) throws UPnPException { UPnPAction act = service.getAction("StartDownload"); if (act == null) { throw (new UPnPException("StartDownload not supported")); } else { UPnPActionInvocation inv = act.getInvocation(); inv.addArgument("NewClientID", client_id); inv.addArgument("NewTorrentHash", hash); UPnPActionArgument[] args = inv.invoke(); String status = null; String data_port = null; for (int i = 0; i < args.length; i++) { UPnPActionArgument arg = args[i]; String name = arg.getName(); if (name.equalsIgnoreCase("NewStatus")) { status = arg.getValue(); } else if (name.equalsIgnoreCase("NewDataPort")) { data_port = arg.getValue(); } } if (status != null && data_port != null) { return (new String[] {data_port, status}); } throw (new UPnPException("status or data port not found")); } }
public String[] setDownloads(String client_id, String hash_list) throws UPnPException { UPnPAction act = service.getAction("SetDownloads"); if (act == null) { throw (new UPnPException("SetDownloads not supported")); } else { UPnPActionInvocation inv = act.getInvocation(); inv.addArgument("NewClientID", client_id); inv.addArgument("NewTorrentHashList", hash_list); UPnPActionArgument[] args = inv.invoke(); String result = null; String status = null; for (int i = 0; i < args.length; i++) { UPnPActionArgument arg = args[i]; String name = arg.getName(); if (name.equalsIgnoreCase("NewSetDownloadsResultList")) { result = arg.getValue(); } else if (name.equalsIgnoreCase("NewStatus")) { status = arg.getValue(); } } if (result != null && status != null) { return (new String[] {result, status}); } throw (new UPnPException("result or status not found")); } }