Exemplo n.º 1
0
CAResult_t CAEDRClientConnect(const char *remoteAddress, const char *serviceUUID)
{
    OIC_LOG(DEBUG, EDR_ADAPTER_TAG, "IN");

    VERIFY_NON_NULL(remoteAddress, EDR_ADAPTER_TAG, "Remote address is null");
    VERIFY_NON_NULL(serviceUUID, EDR_ADAPTER_TAG, "Service UUID is null");

    size_t addressLen = strlen(remoteAddress);
    if (0 == addressLen || CA_MACADDR_SIZE - 1 != addressLen)
    {
        OIC_LOG(ERROR, EDR_ADAPTER_TAG, "Invalid input: Invalid remote address");
        return  CA_STATUS_INVALID_PARAM;
    }

    if (!serviceUUID[0])
    {
        OIC_LOG(ERROR, EDR_ADAPTER_TAG, "Invalid input: Empty service uuid");
        return  CA_STATUS_INVALID_PARAM;
    }

    bt_error_e err = bt_socket_connect_rfcomm(remoteAddress, serviceUUID);
    if (BT_ERROR_NONE != err)
    {
        OIC_LOG_V(ERROR, EDR_ADAPTER_TAG,
                  "Failed to connect!, address [%s] error num [%x]",
                  remoteAddress, err);
        return CA_STATUS_FAILED;
    }

    OIC_LOG(DEBUG, EDR_ADAPTER_TAG, "OUT");
    return CA_STATUS_OK;
}
gboolean start_bt_service(void* data)
{
	__COMMON_FUNC_ENTER__;
	char* start_address = (char*)data;
	int error, ret = 0;
	const char default_device_name[] = "Tizen-RHT";
	const char *device_name = NULL;
//	gMainLoop = g_main_loop_new(NULL, FALSE);


	MIN_LOG("Remote Hotspot Trigger started\n");

	device_name = default_device_name;
	bt_server_address = start_address;

	// Initialize bluetooth
	error = rhtf_initialize_bluetooth(device_name);
	if(error != 0) {
		ret = -2;
		return ret;
		//		goto error_end_without_socket;
	}
	MIN_LOG("succeed in rhtf_initialize_bluetooth()\n");

	ret = bt_socket_connect_rfcomm(bt_server_address, service_uuid);
	if(ret != BT_ERROR_NONE)
	{
		MIN_LOG("[%s] bt_socket_connect_rfcomm failed.", __FUNCTION__);
		return -50;
	}
	else
	{
		ALOGI("[%s] bt_socket_connect_rfcomm succeeded. bt_socket_connection_state_changed_cb will be called.", __FUNCTION__);
	
	}
	

	// If succeed to accept a connection, start a main loop.
//	g_main_loop_run(gMainLoop);

	ALOGI("Server is terminated successfully\n");

/*error_end_with_socket:
	// Finalized bluetooth
	rhtf_finalize_bluetooth_socket();
*/
//error_end_without_socket:
//	rhtf_finalize_bluetooth();
	__COMMON_FUNC_EXIT__;
	return ret;
}