Loading system/btif/src/btif_sdp_server.cc +46 −1 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ static sdp_slot_t sdp_slots[MAX_SDP_SLOTS]; *****************************************************************************/ static int add_maps_sdp(const bluetooth_sdp_mas_record* rec); static int add_mapc_sdp(const bluetooth_sdp_mns_record* rec); static int add_pbapc_sdp(const bluetooth_sdp_pce_record* rec); static int add_pbaps_sdp(const bluetooth_sdp_pse_record* rec); static int add_opps_sdp(const bluetooth_sdp_ops_record* rec); static int add_saps_sdp(const bluetooth_sdp_sap_record* rec); Loading Loading @@ -339,7 +340,8 @@ void on_create_record_event(int id) { handle = add_saps_sdp(&record->sap); break; case SDP_TYPE_PBAP_PCE: // break; not yet supported handle = add_pbapc_sdp(&record->pce); break; default: BTIF_TRACE_DEBUG("Record type %d is not supported", record->hdr.type); break; Loading Loading @@ -533,6 +535,49 @@ static int add_mapc_sdp(const bluetooth_sdp_mns_record* rec) { return sdp_handle; } /* Create a PBAP Client SDP record based on information stored in a * bluetooth_sdp_pce_record */ static int add_pbapc_sdp(const bluetooth_sdp_pce_record* rec) { uint16_t service = UUID_SERVCLASS_PBAP_PCE; uint16_t browse = UUID_SERVCLASS_PUBLIC_BROWSE_GROUP; bool status = true; uint32_t sdp_handle = 0; APPL_TRACE_DEBUG("%s(): service name %s", __func__, rec->hdr.service_name); sdp_handle = SDP_CreateRecord(); if (sdp_handle == 0) { APPL_TRACE_ERROR("%s(): Unable to register PBAP Client Service", __func__); return sdp_handle; } status &= SDP_AddServiceClassIdList(sdp_handle, 1, &service); /* Add a name entry */ status &= SDP_AddAttribute(sdp_handle, (uint16_t)ATTR_ID_SERVICE_NAME, (uint8_t)TEXT_STR_DESC_TYPE, (uint32_t)(rec->hdr.service_name_length + 1), (uint8_t*)rec->hdr.service_name); /* Add in the Bluetooth Profile Descriptor List */ status &= SDP_AddProfileDescriptorList(sdp_handle, service, rec->hdr.profile_version); /* Make the service browseable */ status &= SDP_AddUuidSequence(sdp_handle, ATTR_ID_BROWSE_GROUP_LIST, 1, &browse); if (!status) { SDP_DeleteRecord(sdp_handle); sdp_handle = 0; APPL_TRACE_ERROR("%s() FAILED", __func__); return sdp_handle; } bta_sys_add_uuid(service); /* UUID_SERVCLASS_PBAP_PCE */ APPL_TRACE_DEBUG("%s(): SDP Registered (handle 0x%08x)", __func__, sdp_handle); return sdp_handle; } /* Create a PBAP Server SDP record based on information stored in a * bluetooth_sdp_pse_record */ static int add_pbaps_sdp(const bluetooth_sdp_pse_record* rec) { Loading Loading
system/btif/src/btif_sdp_server.cc +46 −1 Original line number Diff line number Diff line Loading @@ -72,6 +72,7 @@ static sdp_slot_t sdp_slots[MAX_SDP_SLOTS]; *****************************************************************************/ static int add_maps_sdp(const bluetooth_sdp_mas_record* rec); static int add_mapc_sdp(const bluetooth_sdp_mns_record* rec); static int add_pbapc_sdp(const bluetooth_sdp_pce_record* rec); static int add_pbaps_sdp(const bluetooth_sdp_pse_record* rec); static int add_opps_sdp(const bluetooth_sdp_ops_record* rec); static int add_saps_sdp(const bluetooth_sdp_sap_record* rec); Loading Loading @@ -339,7 +340,8 @@ void on_create_record_event(int id) { handle = add_saps_sdp(&record->sap); break; case SDP_TYPE_PBAP_PCE: // break; not yet supported handle = add_pbapc_sdp(&record->pce); break; default: BTIF_TRACE_DEBUG("Record type %d is not supported", record->hdr.type); break; Loading Loading @@ -533,6 +535,49 @@ static int add_mapc_sdp(const bluetooth_sdp_mns_record* rec) { return sdp_handle; } /* Create a PBAP Client SDP record based on information stored in a * bluetooth_sdp_pce_record */ static int add_pbapc_sdp(const bluetooth_sdp_pce_record* rec) { uint16_t service = UUID_SERVCLASS_PBAP_PCE; uint16_t browse = UUID_SERVCLASS_PUBLIC_BROWSE_GROUP; bool status = true; uint32_t sdp_handle = 0; APPL_TRACE_DEBUG("%s(): service name %s", __func__, rec->hdr.service_name); sdp_handle = SDP_CreateRecord(); if (sdp_handle == 0) { APPL_TRACE_ERROR("%s(): Unable to register PBAP Client Service", __func__); return sdp_handle; } status &= SDP_AddServiceClassIdList(sdp_handle, 1, &service); /* Add a name entry */ status &= SDP_AddAttribute(sdp_handle, (uint16_t)ATTR_ID_SERVICE_NAME, (uint8_t)TEXT_STR_DESC_TYPE, (uint32_t)(rec->hdr.service_name_length + 1), (uint8_t*)rec->hdr.service_name); /* Add in the Bluetooth Profile Descriptor List */ status &= SDP_AddProfileDescriptorList(sdp_handle, service, rec->hdr.profile_version); /* Make the service browseable */ status &= SDP_AddUuidSequence(sdp_handle, ATTR_ID_BROWSE_GROUP_LIST, 1, &browse); if (!status) { SDP_DeleteRecord(sdp_handle); sdp_handle = 0; APPL_TRACE_ERROR("%s() FAILED", __func__); return sdp_handle; } bta_sys_add_uuid(service); /* UUID_SERVCLASS_PBAP_PCE */ APPL_TRACE_DEBUG("%s(): SDP Registered (handle 0x%08x)", __func__, sdp_handle); return sdp_handle; } /* Create a PBAP Server SDP record based on information stored in a * bluetooth_sdp_pse_record */ static int add_pbaps_sdp(const bluetooth_sdp_pse_record* rec) { Loading