📄 btsocket.cpp
字号:
#include "btsocket.h"#include "bycmd.h"#include "btrmtdevmgr.h"#include "global.h"#include "bthandsfree.h"#include "btcamera.h"#include "webcamclient.h"extern int g_nSendType;extern bool g_bCamSend;extern bool g_bCameraConnected;extern bool ConnectToCamera(int n);char EIMCode[40];int localx;int localy;int localwidth;int localheight;int remotex;int remotey;int remotewidth;int remoteheight;int cmdsave;void BtSocket::ProcessPacket(const IpcPacket& in, const sockaddr_in& sock_in){ printf("recvfrom %s:%d\n", inet_ntoa(sock_in.sin_addr), ntohs(sock_in.sin_port)); cmdsave=0; const int cmd = in.GetCmd(); switch (cmd) { case BT_SPP_MENU: OnBtSppMenu(in); break; case BT_RECONNECT: // RmtDevMgr::StartSearch(); break; case HF_STATUS: { // printf("HF_STATUS %d\n", g_hfDev.m_bAGConnected); if (g_hfDev.m_bAGConnected) { IpcPacket o(HF_CONNECTED); g_btSock.SendTo(o, BY_MAIN_PORT); } else { IpcPacket o(HF_DISCONNECTED); g_btSock.SendTo(o, BY_MAIN_PORT); } } break; case BT_HF_INCOMING_CALL: { const char* no = in.ReadString(); printf("BTSDK_AGAP_NETWORK_INCOMING_CALL: %s\n", no); Btsdk_AGAP_NetworkEvent(BTSDK_AGAP_NETWORK_INCOMING_CALL, (char*)no); } break; case BT_HF_ALERTING_RMT: printf("============BTSDK_AGAP_NETWORK_ALERTING_RMT\n"); // Btsdk_AGAP_NetworkEvent(BTSDK_AGAP_NETWORK_ALERTING_RMT, NULL); break; case BT_HF_RMT_ANSWER_CALL: printf("++++++++++++BTSDK_AGAP_NETWORK_RMT_ANSWER_CALL\n"); Btsdk_AGAP_NetworkEvent(BTSDK_AGAP_NETWORK_RMT_ANSWER_CALL,NULL); break; case BT_HF_SVC_UNAVAILABLE: printf("------------BTSDK_AGAP_NETWORK_SVC_UNAVAILABLE\n"); Btsdk_AGAP_NetworkEvent(BTSDK_AGAP_NETWORK_SVC_UNAVAILABLE, NULL); break; case CAM_START: { printf("摄像头窗口打开\n"); g_bCamSend = true; g_nSendType = 0; const int n = in.Read32(); if (!g_bCameraConnected) { ConnectToCamera(n); printf("ConnectToCamera() %d\n", g_bCameraConnected); printf("songyongsongyongsongyongsongyong\n"); } } break; case CAM_STOP: case CAM_IM_STOP: { printf("摄像头窗口关闭!!!\n"); g_bCamSend = false; DisconnectCamera(); g_nSendType = 0; } break; case CAM_IM_START: { printf(" 摄像头窗口打开\n"); g_bCamSend = true; g_nSendType = 1; int m; localx=in.Read32(); localy=in.Read32(); localwidth=in.Read32(); localheight=in.Read32(); remotex=in.Read32(); remotey=in.Read32(); remotewidth=in.Read32(); remoteheight=in.Read32(); m = in.ReadData(EIMCode); if(m<0) return; EIMCode[m] = 0; cmdsave=1; printf("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"); printf("%s\n",EIMCode); printf("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\n"); printf("%d\n",localx); printf("%d\n",localy); printf("%d\n",localwidth); printf("%d\n",localheight); printf("%d\n",remotex); printf("%d\n",remotey); printf("%d\n",remotewidth); printf("%d\n",remoteheight);// strcpy(EIMCode,"10041731"); /* localx=38; localy=112; localwidth=160; localheight=120; remotex=200; remotey=112; remotewidth=160; remoteheight=120;*/ if (!g_bCameraConnected) { ConnectToCamera(1); printf("ConnectToCamera() %d\n", g_bCameraConnected); } // 网络摄像头服务器 ConnectToWebCamServer(); } break; case BOX_CAMERA_FIND: RmtDevMgr::GetBtList(); break; default: printf("Unknown cmd %d\n", cmd); break; }}// 要求发数据到手柄void BtSocket::OnBtSppMenu(const IpcPacket& in){ char buf[512] = { 0 }; int len = in.ReadData(buf); // 长度为 32 的倍数 g_hfDev.SendSppData(buf, (len / 32 + 1) * 32);}// 接受手柄发送的数据void BtSocket::OnRecvSpp(int com, const char* data, int len){ printf("Send data to MBOX\n"); IpcPacket o(BT_SPP_KEY); o.WriteData(data, len); SendTo(o, BY_MAIN_PORT);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -