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); } }
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); }
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); }