📄 cmd.cpp
字号:
#include<stdio.h>#include"cmd.h"#include<pthread.h>ker_cmd::ker_cmd(){ DOOR_connected = false; HOME_connected = false; PDA_connected = false;}ker_cmd::~ker_cmd(){}void ker_cmd::center_cmd_proxy(int cmd){ printf("loging to sql \n"); emit sig_log(cmd); printf("center get cmd %x \n",cmd); int cmd_t; if(cmd & TO(DOOR_CMD)) { cmd_t =cmd; cmd_t &= 0xf0ffffff; cmd_t |= TO(DOOR_CMD); printf("sig cmd door %x\n",cmd); emit sig_cmd_door(cmd_t,DOOR_M); } if(cmd & TO(HOME_CMD)) { cmd_t =cmd; cmd_t &= 0xf0ffffff; cmd_t |= TO(HOME_CMD); printf("sig cmd home %x\n",cmd); emit sig_cmd_home(cmd_t,HOME_M); } if(cmd & TO(PDA_CMD)) { cmd_t =cmd; cmd_t &= 0xf0ffffff; cmd_t |= TO(PDA_CMD); printf("sig cmd pda %x \n",cmd); emit sig_cmd_pda(cmd_t); } if(cmd & TO(KER_CMD)) { cmd_t =cmd; cmd_t &= 0xf0ffffff; cmd_t |= TO(KER_CMD); printf("sig cmd ker %x\n",cmd); ker_cmd_proxy(cmd_t); }}void ker_cmd::ker_cmd_proxy(int cmd)//local executer should put signals directly to this{ int cmd_t; printf("ker get cmd %x \n",cmd); if(cmd & TO(KER_CMD)) { if(cmd & ui) emit sig_cmd_local_ui(cmd); else { switch(cmd & 0xff) { //to local executer,from ker_cmd,indirectly from ui or bt case start_ker_audio: case close_ker_audio: emit sig_cmd_local_audio(cmd); break; case start_ker_video: case close_ker_video: emit sig_cmd_local_video(cmd); break; case stop_bt_ser: case bt_disconnect: emit sig_cmd_local_bt(cmd_t); default: printf("error ker_cmd_local wrong cmd \n"); break; } } cmd &= ~(TO(KER_CMD)); if(cmd & (TO(0xf))) center_cmd_proxy(cmd); } else { if(cmd & (TO(0xf))) { printf("ker send to center %x \n",cmd); center_cmd_proxy(cmd); } } }void ker_cmd::try_connect_door(){ sig_cmd_door(connect_cmd_request,DOOR_M);}void ker_cmd::try_connect_home(){ sig_cmd_home(connect_cmd_request,HOME_M);}void ker_cmd::try_connect_pda(){ sig_cmd_pda(connect_cmd_request);}void ker_cmd::try_connect_all(){ try_connect_door(); try_connect_home(); try_connect_pda();}void ker_cmd::door_connected(){ DOOR_connected = true;}void ker_cmd::home_connected(){ HOME_connected = true;}void ker_cmd::pda_connected(){ PDA_connected = true;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -