⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 btbase.cpp

📁 1、手持设备的机器人--服务器端; 2、通过蓝牙通讯;
💻 CPP
📖 第 1 页 / 共 2 页
字号:

		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 + -