hfp.c (a874746709fd7a8c0715bc158b817e9b8a601294) | hfp.c (5611a760af48d1ce1beea59c7908be73bd2393f1) |
---|---|
1/* 2 * Copyright (C) 2014 BlueKitchen GmbH 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright --- 404 unchanged lines hidden (view full) --- 413 de_add_data(service, DE_STRING, strlen(name), (uint8_t *) name); 414} 415 416static hfp_connection_t * connection_doing_sdp_query = NULL; 417 418static void handle_query_rfcomm_event(uint8_t packet_type, uint8_t *packet, uint16_t size, void * context){ 419 hfp_connection_t * connection = connection_doing_sdp_query; 420 | 1/* 2 * Copyright (C) 2014 BlueKitchen GmbH 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright --- 404 unchanged lines hidden (view full) --- 413 de_add_data(service, DE_STRING, strlen(name), (uint8_t *) name); 414} 415 416static hfp_connection_t * connection_doing_sdp_query = NULL; 417 418static void handle_query_rfcomm_event(uint8_t packet_type, uint8_t *packet, uint16_t size, void * context){ 419 hfp_connection_t * connection = connection_doing_sdp_query; 420 |
421 if ( connection->state != HFP_W4_SDP_QUERY_COMPLETE) return; | 421 if ( connection->state != HFP_W4_SDP_EVENT_QUERY_COMPLETE) return; |
422 423 switch (packet[0]){ | 422 423 switch (packet[0]){ |
424 case SDP_QUERY_RFCOMM_SERVICE: | 424 case SDP_EVENT_QUERY_RFCOMM_SERVICE: |
425 if (!connection) { 426 log_error("handle_query_rfcomm_event alloc connection for RFCOMM port %u failed", sdp_query_rfcomm_service_event_get_rfcomm_channel(packet)); 427 return; 428 } 429 connection->rfcomm_channel_nr = sdp_query_rfcomm_service_event_get_rfcomm_channel(packet); 430 break; | 425 if (!connection) { 426 log_error("handle_query_rfcomm_event alloc connection for RFCOMM port %u failed", sdp_query_rfcomm_service_event_get_rfcomm_channel(packet)); 427 return; 428 } 429 connection->rfcomm_channel_nr = sdp_query_rfcomm_service_event_get_rfcomm_channel(packet); 430 break; |
431 case SDP_QUERY_COMPLETE: | 431 case SDP_EVENT_QUERY_COMPLETE: |
432 connection_doing_sdp_query = NULL; 433 if (connection->rfcomm_channel_nr > 0){ 434 connection->state = HFP_W4_RFCOMM_CONNECTED; | 432 connection_doing_sdp_query = NULL; 433 if (connection->rfcomm_channel_nr > 0){ 434 connection->state = HFP_W4_RFCOMM_CONNECTED; |
435 log_info("HFP: SDP_QUERY_COMPLETE context %p, addr %s, state %d", connection, bd_addr_to_str( connection->remote_addr), connection->state); | 435 log_info("HFP: SDP_EVENT_QUERY_COMPLETE context %p, addr %s, state %d", connection, bd_addr_to_str( connection->remote_addr), connection->state); |
436 rfcomm_create_channel(connection->remote_addr, connection->rfcomm_channel_nr, NULL); 437 break; 438 } 439 log_info("rfcomm service not found, status %u.", sdp_query_complete_event_get_status(packet)); 440 break; 441 default: 442 break; 443 } --- 846 unchanged lines hidden (view full) --- 1290 case HFP_W2_DISCONNECT_RFCOMM: 1291 context->state = HFP_SERVICE_LEVEL_CONNECTION_ESTABLISHED; 1292 return; 1293 case HFP_W4_RFCOMM_DISCONNECTED: 1294 context->state = HFP_W4_RFCOMM_DISCONNECTED_AND_RESTART; 1295 return; 1296 case HFP_IDLE: 1297 memcpy(context->remote_addr, bd_addr, 6); | 436 rfcomm_create_channel(connection->remote_addr, connection->rfcomm_channel_nr, NULL); 437 break; 438 } 439 log_info("rfcomm service not found, status %u.", sdp_query_complete_event_get_status(packet)); 440 break; 441 default: 442 break; 443 } --- 846 unchanged lines hidden (view full) --- 1290 case HFP_W2_DISCONNECT_RFCOMM: 1291 context->state = HFP_SERVICE_LEVEL_CONNECTION_ESTABLISHED; 1292 return; 1293 case HFP_W4_RFCOMM_DISCONNECTED: 1294 context->state = HFP_W4_RFCOMM_DISCONNECTED_AND_RESTART; 1295 return; 1296 case HFP_IDLE: 1297 memcpy(context->remote_addr, bd_addr, 6); |
1298 context->state = HFP_W4_SDP_QUERY_COMPLETE; | 1298 context->state = HFP_W4_SDP_EVENT_QUERY_COMPLETE; |
1299 connection_doing_sdp_query = context; 1300 context->service_uuid = service_uuid; 1301 sdp_query_rfcomm_channel_and_name_for_uuid(context->remote_addr, service_uuid); 1302 break; 1303 default: 1304 break; 1305 } 1306} --- 54 unchanged lines hidden --- | 1299 connection_doing_sdp_query = context; 1300 context->service_uuid = service_uuid; 1301 sdp_query_rfcomm_channel_and_name_for_uuid(context->remote_addr, service_uuid); 1302 break; 1303 default: 1304 break; 1305 } 1306} --- 54 unchanged lines hidden --- |