Exemplo n.º 1
0
es_Status es_rcontrol_handle_msg(es_TCPMessage *msg, es_TCPStream *responseStream) {
  if(msg==NULL) {
    RCERROR("invalid rcontrol command: NULL");
  }

  LOG_TRACE(rcontrol,"received command ID %d",msg->id);

  switch(msg->id) {
#ifdef WITH_JIM
    case TCPMSG_ES_RUNTCL:
      return es_rcontrol_run_tcl(msg, responseStream);
#endif // WITH_JIM
    case TCPMSG_ES_GETCONF:
      return es_rcontrol_getconf(responseStream);
    case TCPMSG_ES_SENDEVTS:
      es_rcontrol_send_events = (bool)msg->data[0];
      return es_rcontrol_send_ok(responseStream,TCPMSG_ES_SENDEVTS);
    default:
      RCERROR("unsupported rcontrol command: %d",msg->id);
  }
}
Exemplo n.º 2
0
int es_jim_track_cmd(Jim_Interp *interp, int argc, Jim_Obj *const *argv) {
  const char *cmd = Jim_GetString(argv[0],NULL);

  if(argc<2) {
    WRONG_ARGS(interp,1,argv,"missing subcommand");
  }
  char *subcmd = GetString(argv[1]);

  if(argc > 4) {
    WRONG_ARGS(interp,2,argv,"arg");
  }
  char *arg1 = GetString(argv[2]);
  char *arg2 = NULL;
  if( argc==4 )
    arg2 = GetString(argv[3]);

  if(!strcmp("track::balise",cmd)) {
    if(es_tcl_track_balise(subcmd,arg1,arg2,es_jim_append_result,NULL)) {
      RCERROR(interp,es_msg_buf);
    }
    return JIM_OK;
  }
  if(!strcmp("track::radio",cmd)) {
    if(!strcmp("raw",subcmd)) {
      if(es_tcl_track_radio(subcmd,arg1,arg2,es_jim_append_result,NULL)) {
        RCERROR(interp,es_msg_buf);
      }
      return JIM_OK;
    }
    RCERROR(interp,"invalid subcommand for track::radio: %s",subcmd);
  }
  if(!strcmp("track::add",cmd)) {
    if(es_tcl_track_add(subcmd,atof(arg1))) {
      RCERROR(interp,es_msg_buf);
    }
    return JIM_OK;
  }

  RCERROR(interp,"invalid track command: %s",cmd);
}
Exemplo n.º 3
0
int es_jim_log_cmd(Jim_Interp *interp, int argc, Jim_Obj *const *argv) {
  if(argc!=4) {
    WRONG_ARGS(interp,1,argv,"info|warn|error tag message");
  }
  char *lvl = (char*)Jim_GetString(argv[1],NULL);
  char *src = (char*)Jim_GetString(argv[2],NULL);
  char *msg = (char*)Jim_GetString(argv[3],NULL);
  if(!strcmp("info",lvl)) {
    LOG_INFO(src,msg);
    return JIM_OK;
  }
  if(!strcmp("warn",lvl)) {
    LOG_WARN(src,msg);
    return JIM_OK;
  }
  if(!strcmp("error",lvl)) {
    LOG_ERROR(src,msg);
    return JIM_OK;
  }
  RCERROR(interp,"Invalid log level: %s",lvl);
}