public boolean postControlAction() { // Thanks for Giordano Sassaroli <sassarol@cefriel.it> (08/30/03) ArgumentList actionArgList = getArgumentList(); ArgumentList actionInputArgList = getInputArgumentList(); ActionRequest ctrlReq = new ActionRequest(); ctrlReq.setRequest(this, actionInputArgList); if (Debug.isOn() == true) ctrlReq.print(); ActionResponse ctrlRes = ctrlReq.post(); if (Debug.isOn() == true) ctrlRes.print(); setControlResponse(ctrlRes); // Thanks for Dimas <cyberrate@users.sourceforge.net> and Stefano Lenzi <kismet-sl@users.sourceforge.net> (07/09/04) int statCode = ctrlRes.getStatusCode(); setStatus(statCode); if (ctrlRes.isSuccessful() == false) return false; ArgumentList outArgList = ctrlRes.getResponse(); try { actionArgList.setResArgs(outArgList); } catch (IllegalArgumentException ex){ setStatus(UPnPStatus.INVALID_ARGS,"Action succesfully delivered but invalid arguments returned."); return false; } return true; }
public void setRequest(Action action, ArgumentList argList) { Service service = action.getService(); setRequestHost(service); setEnvelopeNode(SOAP.createEnvelopeBodyNode()); Node envNode = getEnvelopeNode(); Node bodyNode = getBodyNode(); Node argNode = createContentNode(service, action, argList); bodyNode.addNode(argNode); setContent(envNode); String serviceType = service.getServiceType(); String actionName = action.getName(); String soapAction = "\"" + serviceType + "#" + actionName + "\""; setSOAPAction(soapAction); }
private void deviceActionControlRecieved(ActionRequest ctlReq, Service service) { if (Debug.isOn() == true) ctlReq.print(); String actionName = ctlReq.getActionName(); Action action = service.getAction(actionName); if (action == null) { invalidActionControlRecieved(ctlReq); return; } ArgumentList actionArgList = action.getArgumentList(); ArgumentList reqArgList = ctlReq.getArgumentList(); try { actionArgList.setReqArgs(reqArgList); } catch (IllegalArgumentException ex) { invalidArgumentsControlRecieved(ctlReq); return; } if (action.performActionListener(ctlReq) == false) invalidActionControlRecieved(ctlReq); }
public ActionResponse post() { SOAPResponse soapRes = postMessage(getRequestHost(), getRequestPort()); return new ActionResponse(soapRes); } }
private void deviceControlRequestRecieved(ControlRequest ctlReq, Service service) { if (ctlReq.isQueryControl() == true) deviceQueryControlRecieved(new QueryRequest(ctlReq), service); else deviceActionControlRecieved(new ActionRequest(ctlReq), service); }
public String getActionName() { Node node = getActionNode(); if (node == null) return ""; String name = node.getName(); if (name == null) return ""; int idx = name.indexOf(SOAP.DELIM)+1; if (idx < 0) return ""; return name.substring(idx, name.length()); }
public Node getActionNode() { Node bodyNode = getBodyNode(); if (bodyNode == null) return null; if (bodyNode.hasNodes() == false) return null; return bodyNode.getNode(0); }
public boolean performActionListener(ActionRequest actionReq) { ActionListener listener = (ActionListener)getActionListener(); if (listener == null) return false; ActionResponse actionRes = new ActionResponse(); setStatus(UPnPStatus.INVALID_ACTION); clearOutputAgumentValues(); if (listener.actionControlReceived(this) == true) { actionRes.setResponse(this); } else { UPnPStatus upnpStatus = getStatus(); actionRes.setFaultResponse(upnpStatus.getCode(), upnpStatus.getDescription()); } if (Debug.isOn() == true) actionRes.print(); actionReq.post(actionRes); return true; }
public ActionResponse post() { SOAPResponse soapRes = postMessage(getRequestHost(), getRequestPort()); return new ActionResponse(soapRes); } }
private void soapActionRecieved(HTTPRequest soapReq) { String uri = soapReq.getURI(); Service ctlService = getServiceByControlURL(uri); if (ctlService != null) { ActionRequest crlReq = new ActionRequest(soapReq); deviceControlRequestRecieved(crlReq, ctlService); return; } soapBadActionRecieved(soapReq); }
public ArgumentList getArgumentList() { Node actNode = getActionNode(); int nArgNodes = actNode.getNNodes(); ArgumentList argList = new ArgumentList(); for (int n=0; n<nArgNodes; n++) { Argument arg = new Argument(); Node argNode = actNode.getNode(n); arg.setName(argNode.getName()); arg.setValue(argNode.getValue()); argList.add(arg); } return argList; }
public Node getActionNode() { Node bodyNode = getBodyNode(); if (bodyNode == null) return null; if (bodyNode.hasNodes() == false) return null; return bodyNode.getNode(0); }
public boolean performActionListener(ActionRequest actionReq) { ActionListener listener = (ActionListener)getActionListener(); if (listener == null) return false; ActionResponse actionRes = new ActionResponse(); setStatus(UPnPStatus.INVALID_ACTION); clearOutputAgumentValues(); if (listener.actionControlReceived(this) == true) { actionRes.setResponse(this); } else { UPnPStatus upnpStatus = getStatus(); actionRes.setFaultResponse(upnpStatus.getCode(), upnpStatus.getDescription()); } if (Debug.isOn() == true) actionRes.print(); actionReq.post(actionRes); return true; }
public void setRequest(Action action, ArgumentList argList) { Service service = action.getService(); setRequestHost(service); setEnvelopeNode(SOAP.createEnvelopeBodyNode()); Node envNode = getEnvelopeNode(); Node bodyNode = getBodyNode(); Node argNode = createContentNode(service, action, argList); bodyNode.addNode(argNode); setContent(envNode); String serviceType = service.getServiceType(); String actionName = action.getName(); String soapAction = "\"" + serviceType + "#" + actionName + "\""; setSOAPAction(soapAction); }
public boolean postControlAction() { // Thanks for Giordano Sassaroli <sassarol@cefriel.it> (08/30/03) ArgumentList actionArgList = getArgumentList(); ArgumentList actionInputArgList = getInputArgumentList(); ActionRequest ctrlReq = new ActionRequest(); ctrlReq.setRequest(this, actionInputArgList); if (Debug.isOn() == true) ctrlReq.print(); ActionResponse ctrlRes = ctrlReq.post(); if (Debug.isOn() == true) ctrlRes.print(); setControlResponse(ctrlRes); // Thanks for Dimas <cyberrate@users.sourceforge.net> and Stefano Lenzi <kismet-sl@users.sourceforge.net> (07/09/04) int statCode = ctrlRes.getStatusCode(); setStatus(statCode); if (ctrlRes.isSuccessful() == false) return false; ArgumentList outArgList = ctrlRes.getResponse(); try { actionArgList.setResArgs(outArgList); } catch (IllegalArgumentException ex){ setStatus(UPnPStatus.INVALID_ARGS,"Action succesfully delivered but invalid arguments returned."); return false; } return true; }
public ActionResponse post() { SOAPResponse soapRes = postMessage(getRequestHost(), getRequestPort()); return new ActionResponse(soapRes); } }
private void deviceActionControlRecieved(ActionRequest ctlReq, Service service) { if (Debug.isOn() == true) ctlReq.print(); String actionName = ctlReq.getActionName(); Action action = service.getAction(actionName); if (action == null) { invalidActionControlRecieved(ctlReq); return; } ArgumentList actionArgList = action.getArgumentList(); ArgumentList reqArgList = ctlReq.getArgumentList(); try { actionArgList.setReqArgs(reqArgList); } catch (IllegalArgumentException ex) { invalidArgumentsControlRecieved(ctlReq); return; } if (action.performActionListener(ctlReq) == false) invalidActionControlRecieved(ctlReq); }
private void deviceControlRequestRecieved(ControlRequest ctlReq, Service service) { if (ctlReq.isQueryControl() == true) deviceQueryControlRecieved(new QueryRequest(ctlReq), service); else deviceActionControlRecieved(new ActionRequest(ctlReq), service); }
public String getActionName() { Node node = getActionNode(); if (node == null) return ""; String name = node.getName(); if (name == null) return ""; int idx = name.indexOf(SOAP.DELIM)+1; if (idx < 0) return ""; return name.substring(idx, name.length()); }
public Node getActionNode() { Node bodyNode = getBodyNode(); if (bodyNode == null) return null; if (bodyNode.hasNodes() == false) return null; return bodyNode.getNode(0); }