📄 main.cpp
字号:
/************************************************************************************
// Sample code for calling IVT BlueSoleil APIs
Copyright (c) 2004 -2005 , IVT Corporation. All rights reserved.
*******************************************************************************************/
#include <stdio.h>
#include "main.h"
#include "MonitorBsol.h"
#include "HelpFunc.h"
#include "menu.h"
#include "SdkFunc.h"
#include "ComPort.h"
#include "SdkSdp.h"
HANDLE g_hForceExit = NULL;
UCHAR g_targetBdAddr[6]={0};
char g_szIniPath[MAX_PATH] = "BlueSoleilClient.ini";
void ReadGlobalConfig()
{
char szTmp[MAX_PATH]={0};
GetCurrentDirectory(256, szTmp);
strcat(szTmp,"\\BlueSoleilClient.ini");
strcpy(g_szIniPath,szTmp);
if(GetPrivateProfileString("REMOTE_ADDRESS", "Remote Address", NULL, szTmp, 2*DEVICE_ADDRESS_LENGTH+1, g_szIniPath)==0)
{
printf("Get Remote Address Failed!\n");
return;
}
if (Help_InputAddr(szTmp, g_targetBdAddr))
{
printf("The New Remote Device Address:%02X:%02X:%02X:%02X:%02X:%02X\n",
g_targetBdAddr[5],
g_targetBdAddr[4],
g_targetBdAddr[3],
g_targetBdAddr[2],
g_targetBdAddr[1],
g_targetBdAddr[0]);
}
}
BOOL MainInit()
{
ReadGlobalConfig();
StartMornitorBsol();
g_hForceExit = CreateEvent(NULL, FALSE, FALSE, NULL);
SDK_Init();
return TRUE;
}
void MainDone()
{
printf("Waiting for all threads exit...\n");
SetEvent(g_hForceExit);
StopIoOnComport(NULL);
SDK_Done();
EndMornitorBsol();
CloseHandle(g_hForceExit);
g_hForceExit = NULL;
}
void DispatchCmd(int nInput)
{
switch (g_nCurrMenu)
{
case MENU_STANDBY:
switch(nInput)
{
case 0:
SDK_BtPair();
break;
case 1:
SDK_BtUnpair();
break;
case 2:
SDK_BtInquiry();
break;
case 3:
SDK_BtBrowseServices();
break;
case 4:
SDK_BtConnectService();
break;
case 5:
SDK_BtDisConnectService();
break;
case 6:
SDK_BtGetRemoteInfo();
break;
case 7:
SDK_BtSetRemoteInfo();
break;
case 8:
SDK_BtGetLocalInfo();
break;
case 9:
SDK_BtSetLocalInfo();
break;
case 10:
ChangeMenu2(MENU_REGISTER);
break;
case 11:
ChangeMenu2(MENU_UNREGISTER);
break;
case 12:
SDK_BtStartSPPExService();
break;
case 13:
SDK_BtStopSPPExService();
break;
case 14:
SDK_BtSearchSPPExServices();
break;
case 15:
SDK_BtConnectSPPExService();
break;
case 16:
SDK_BtDisConnectSPPExService();
break;
case 17:
SDK_StartBluetooth();
break;
case 18:
SDK_StopBluetooth();
break;
case 19:
SDK_CancelInquiry();
break;
case 20:
break;
case 21:
break;
case 22:
break;
case 23:
break;
case 24:
break;
case 25:
SDK_EnumConnections();
break;
case 26:
ReadGlobalConfig();
break;
case 100:
TS_ConnectRobustness();
break;
case 101:
TS_PanIpAllocation();
break;
case 102:
TS_SDP();
break;
}
break;
case MENU_REGISTER:
switch(nInput)
{
case -1:
ChangeMenu2(MENU_STANDBY);
break;
default:
SDK_BtRegisterCallBack(nInput);
break;
}
break;
case MENU_UNREGISTER:
switch(nInput)
{
case -1:
ChangeMenu2(MENU_STANDBY);
break;
default:
SDK_BtUnRegisterCallBack(nInput);
break;
}
break;
default:;
}
}
int main(int argc, char* argv[])
{
int nInput;
ChangeMenu2(MENU_IDLE);
MainInit();
while (1) {
scanf("%d", &nInput);
if ((g_nCurrMenu== MENU_STANDBY || g_nCurrMenu== MENU_IDLE) && nInput == CMD_QUIT)
break;
DispatchCmd(nInput);
ShowMenu();
}
MainDone();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -