Пример #1
0
bool Action::performActionListener(ActionRequest *actionReq) {
  ActionListener *listener = (ActionListener *)getActionListener();
  if (listener == NULL)
    return false;
  ActionResponse actionRes;
  setStatus(UPnP::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();
  ControlRequest *ctrlReq = actionReq;
  ctrlReq->post(&actionRes);
  return true;
}
Пример #2
0
bool StateVariable::performQueryListener(QueryRequest *queryReq)
{
  QueryListener *listener = getQueryListener();
  if (listener == NULL)
    return false;
  QueryResponse queryRes;
  StateVariable retVar;
  retVar.set(this);
  retVar.setValue("");
  retVar.setStatus(UPnP::INVALID_VAR);
  if (listener->queryControlReceived(&retVar) == true) {
    queryRes.setResponse(&retVar);
  }
  else {
    UPnPStatus *upnpStatus = retVar.getStatus();
    queryRes.setFaultResponse(upnpStatus->getCode(), upnpStatus->getDescription());
  }
  HTTPRequest *httpReq = queryReq;
  httpReq->post(&queryRes);
  return true;
}