📄 btbase.cpp
字号:
case btLibL2DiscReasonUnknown:
msg = (Char *)"Bt Error: L2DiscReasonUnknown";
break;
case btLibL2DiscUserRequest:
msg = (Char *)"Bt Error: L2DiscUserRequest";
break;
case btLibL2DiscRequestTimeout:
msg = (Char *)"Bt Error: L2DiscRequestTimeout";
break;
case btLibL2DiscLinkDisc:
msg = (Char *)"Bt Error: L2DiscLinkDisc";
break;
case btLibL2DiscQosViolation:
msg = (Char *)"Bt Error: L2DiscQosViolation";
break;
case btLibL2DiscSecurityBlock:
msg = (Char *)"Bt Error: L2DiscSecurityBlock";
break;
case btLibL2DiscConnPsmUnsupported:
msg = (Char *)"Bt Error: L2DiscConnPsmUnsupported";
break;
case btLibL2DiscConnSecurityBlock:
msg = (Char *)"Bt Error: L2DiscConnSecurityBlock";
break;
case btLibL2DiscConnNoResources:
msg = (Char *)"Bt Error: L2DiscConnNoResources";
break;
case btLibL2DiscConfigUnacceptable:
msg = (Char *)"Bt Error: L2DiscConfigUnacceptable";
break;
case btLibL2DiscConfigReject:
msg = (Char *)"Bt Error: L2DiscConfigReject";
break;
case btLibL2DiscConfigOptions:
msg = (Char *)"Bt Error: L2DiscConfigOptions";
break;
case btLibServiceShutdownAppUse:
msg = (Char *)"Bt Error: ServiceShutdownAppUse";
break;
case btLibServiceShutdownPowerCycled:
msg = (Char *)"Bt Error: ServiceShutdownPowerCycled";
break;
case btLibServiceShutdownAclDrop:
msg = (Char *)"Bt Error: ServiceShutdownAclDrop";
break;
case btLibServiceShutdownTimeout:
msg = (Char *)"Bt Error: ServiceShutdownTimeout";
break;
case btLibServiceShutdownDetached:
msg = (Char *)"Bt Error: ServiceShutdownDetached";
break;
case btLibErrInUseByService:
msg = (Char *)"Bt Error: InUseByService";
break;
case btLibErrNoPiconet:
msg = (Char *)"Bt Error: NoPiconet";
break;
case btLibErrRoleChange:
msg = (Char *)"Bt Error: RoleChange";
break;
case btLibNotYetSupported:
msg = (Char *)"Bt Error: NotYetSupported";
break;
case btLibErrSdpNotMapped:
msg = (Char *)"Bt Error: SdpNotMapped";
break;
case btLibErrAlreadyConnected:
msg = (Char *)"Bt Error: AlreadyConnected";
break;
default:
msg = (Char *)"Bt Error: Unknown BT error";
break;
}
return msg;
}
void BtBase::debugPrint(Char *str)
{
}
void BtBase::managementCallback(BtLibManagementEventType *event, UInt32 context)
{
if (callbackRef == NULL)
return;
// handle low level Bluetooth management events
switch (event->event)
{
case btLibManagementEventAccessibilityChange:
callbackRef->onAccessibilityChange(event);
break;
case btLibManagementEventACLConnectInbound:
callbackRef->onACLConnectInbound(event);
break;
case btLibManagementEventACLConnectOutbound:
callbackRef->onACLConnectOutbound(event);
break;
case btLibManagementEventACLDisconnect:
callbackRef->onACLDisconnect(event);
break;
case btLibManagementEventAuthenticationComplete:
callbackRef->onAuthenticationComplete(event);
break;
case btLibManagementEventEncryptionChange:
callbackRef->onEncryptionChange(event);
break;
case btLibManagementEventInquiryCanceled:
callbackRef->onInquiryCanceled(event);
break;
case btLibManagementEventInquiryComplete:
callbackRef->onInquiryComplete(event);
break;
case btLibManagementEventInquiryResult:
callbackRef->onInquiryResult(event);
break;
case btLibManagementEventLocalNameChange:
callbackRef->onLocalNameChange(event);
break;
case btLibManagementEventModeChange:
callbackRef->onModeChange(event);
break;
case btLibManagementEventNameResult:
callbackRef->onNameResult(event);
break;
case btLibManagementEventPairingComplete:
callbackRef->onPairingComplete(event);
break;
case btLibManagementEventPasskeyRequest:
callbackRef->onPasskeyRequest(event);
break;
case btLibManagementEventPasskeyRequestComplete:
callbackRef->onPasskeyRequestComplete(event);
break;
case btLibManagementEventPiconetCreated:
callbackRef->onPiconetCreated(event);
break;
case btLibManagementEventPiconetDestroyed:
callbackRef->onPiconetDestroyed(event);
break;
case btLibManagementEventRadioState:
callbackRef->onRadioState(event);
break;
case btLibManagementEventRoleChange:
callbackRef->onRoleChange(event);
break;
default: break;
}
}
void BtBase::socketCallback(BtLibSocketEventType *event, UInt32 context)
{
if (callbackRef == NULL)
return;
// handle Bluetooth socket level protocol events
switch (event->event)
{
case btLibSocketEventConnectedInbound:
callbackRef->onConnectedInbound(event);
break;
case btLibSocketEventConnectedOutbound:
callbackRef->onConnectedOutbound(event);
break;
case btLibSocketEventConnectRequest:
callbackRef->onConnectRequest(event);
break;
case btLibSocketEventData:
callbackRef->onData(event);
break;
case btLibSocketEventDisconnected:
callbackRef->onDisconnected(event);
break;
case btLibSocketEventSdpServiceRecordHandle:
callbackRef->onSdpServiceRecordHandle(event);
break;
case btLibSocketEventSdpGetAttribute:
callbackRef->onSdpGetAttribute(event);
break;
case btLibSocketEventSdpGetStringLen:
callbackRef->onSdpGetStringLen(event);
break;
case btLibSocketEventSdpGetNumListEntries:
callbackRef->onSdpGetNumListEntries(event);
break;
case btLibSocketEventSdpGetNumLists:
callbackRef->onSdpGetNumLists(event);
break;
case btLibSocketEventSdpGetRawAttribute:
callbackRef->onSdpGetRawAttribute(event);
break;
case btLibSocketEventSdpGetRawAttributeSize:
callbackRef->onSdpGetRawAttributeSize(event);
break;
case btLibSocketEventSdpGetServerChannelByUuid:
callbackRef->onSdpGetServerChannelByUuid(event);
break;
case btLibSocketEventSdpGetPsmByUuid:
callbackRef->onSdpGetPsmByUuid(event);
break;
case btLibSocketEventSendComplete:
callbackRef->onSendComplete(event);
break;
default: break;
}
}
Boolean BtBase::onAccessibilityChange(BtLibManagementEventType *event)
{
localDevice.accessibility = event->eventData.accessible;
return true;
}
Boolean BtBase::onACLConnectInbound(BtLibManagementEventType *event)
{
return true;
}
Boolean BtBase::onACLConnectOutbound(BtLibManagementEventType *event)
{
return true;
}
Boolean BtBase::onACLDisconnect(BtLibManagementEventType *event)
{
return true;
}
Boolean BtBase::onAuthenticationComplete(BtLibManagementEventType *event)
{
return true;
}
Boolean BtBase::onEncryptionChange(BtLibManagementEventType *event)
{
return true;
}
Boolean BtBase::onInquiryCanceled(BtLibManagementEventType *event)
{
return true;
}
Boolean BtBase::onInquiryComplete(BtLibManagementEventType *event)
{
return true;
}
Boolean BtBase::onInquiryResult(BtLibManagementEventType *event)
{
return true;
}
Boolean BtBase::onLocalNameChange(BtLibManagementEventType *event)
{
if (localDevice.friendlyName.name != NULL)
MemPtrFree(localDevice.friendlyName.name);
localDevice.friendlyName.name = (UInt8 *)MemPtrNew(StrLen((Char *)event->eventData.nameResult.name.name));
MemMove(localDevice.friendlyName.name, event->eventData.nameResult.name.name,
event->eventData.nameResult.name.nameLength);
// Char msg[StrLen("Local name: ") + StrLen((Char *)event->eventData.nameResult.name.name) + 1];
// StrPrintF(msg, "Local name: %s", event->eventData.nameResult.name.name);
// debugPrint(msg);
return true;
}
Boolean BtBase::onModeChange(BtLibManagementEventType *event)
{
return true;
}
Boolean BtBase::onNameResult(BtLibManagementEventType *event)
{
return true;
}
Boolean BtBase::onPairingComplete(BtLibManagementEventType *event)
{
return true;
}
Boolean BtBase::onPasskeyRequest(BtLibManagementEventType *event)
{
return true;
}
Boolean BtBase::onPasskeyRequestComplete(BtLibManagementEventType *event)
{
return true;
}
Boolean BtBase::onPiconetCreated(BtLibManagementEventType *event)
{
return true;
}
Boolean BtBase::onPiconetDestroyed(BtLibManagementEventType *event)
{
return true;
}
Boolean BtBase::onRadioState(BtLibManagementEventType *event)
{
BtCustomEvent radioEvent;
MemSet((void **)&radioEvent, sizeof(BtCustomEvent), 0);
radioEvent.eType = firstUserEvent;
radioEvent.data.eventData.type = btCustomRadioStateEvent;
radioEvent.data.eventData.status = event->status;
radioInitialized = (event->status == btLibErrRadioInitialized);
// post event
EvtAddEventToQueue((EventPtr)&radioEvent);
return true;
}
Boolean BtBase::onRoleChange(BtLibManagementEventType *event)
{
return true;
}
Boolean BtBase::onConnectedInbound(BtLibSocketEventType *event)
{
return true;
}
Boolean BtBase::onConnectedOutbound(BtLibSocketEventType *event)
{
return true;
}
Boolean BtBase::onConnectRequest(BtLibSocketEventType *event)
{
return true;
}
Boolean BtBase::onData(BtLibSocketEventType *event)
{
return true;
}
Boolean BtBase::onDisconnected(BtLibSocketEventType *event)
{
return true;
}
Boolean BtBase::onSdpServiceRecordHandle(BtLibSocketEventType *event)
{
return true;
}
Boolean BtBase::onSdpGetAttribute(BtLibSocketEventType *event)
{
return true;
}
Boolean BtBase::onSdpGetStringLen(BtLibSocketEventType *event)
{
return true;
}
Boolean BtBase::onSdpGetNumListEntries(BtLibSocketEventType *event)
{
return true;
}
Boolean BtBase::onSdpGetNumLists(BtLibSocketEventType *event)
{
return true;
}
Boolean BtBase::onSdpGetRawAttribute(BtLibSocketEventType *event)
{
return true;
}
Boolean BtBase::onSdpGetRawAttributeSize(BtLibSocketEventType *event)
{
return true;
}
Boolean BtBase::onSdpGetServerChannelByUuid(BtLibSocketEventType *event)
{
return true;
}
Boolean BtBase::onSdpGetPsmByUuid(BtLibSocketEventType *event)
{
return true;
}
Boolean BtBase::onSendComplete(BtLibSocketEventType *event)
{
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -