2012-11-26 22:12:19 -08:00
|
|
|
/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */
|
|
|
|
/* vim: set ts=2 et sw=2 tw=80: */
|
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
|
|
|
|
#ifndef mozilla_dom_bluetooth_bluetoothuuid_h__
|
|
|
|
#define mozilla_dom_bluetooth_bluetoothuuid_h__
|
|
|
|
|
|
|
|
#include "BluetoothCommon.h"
|
|
|
|
|
|
|
|
BEGIN_BLUETOOTH_NAMESPACE
|
|
|
|
|
2013-09-12 08:45:33 -07:00
|
|
|
class BluetoothProfileManagerBase;
|
|
|
|
|
2012-11-26 22:12:19 -08:00
|
|
|
/*
|
|
|
|
* Service classes and Profile Identifiers
|
|
|
|
*
|
|
|
|
* Supported Bluetooth services for v1 are listed as below.
|
|
|
|
*
|
|
|
|
* The value of each service class is defined in "AssignedNumbers/Service
|
|
|
|
* Discovery Protocol (SDP)/Service classes and Profile Identifiers" in the
|
|
|
|
* Bluetooth Core Specification.
|
|
|
|
*/
|
|
|
|
enum BluetoothServiceClass
|
|
|
|
{
|
2013-08-13 22:54:18 -07:00
|
|
|
A2DP = 0x110D,
|
2014-06-19 21:48:00 -07:00
|
|
|
A2DP_SINK = 0x110B,
|
2012-11-26 22:12:19 -08:00
|
|
|
HANDSFREE = 0x111E,
|
|
|
|
HANDSFREE_AG = 0x111F,
|
2013-08-13 22:54:18 -07:00
|
|
|
HEADSET = 0x1108,
|
|
|
|
HEADSET_AG = 0x1112,
|
2013-08-12 02:32:25 -07:00
|
|
|
HID = 0x1124,
|
2013-08-13 22:54:18 -07:00
|
|
|
OBJECT_PUSH = 0x1105,
|
|
|
|
UNKNOWN = 0x0000
|
2012-11-26 22:12:19 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
class BluetoothUuidHelper
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
/**
|
|
|
|
* Get a 128-bit uuid string calculated from a 16-bit service class UUID and
|
|
|
|
* BASE_UUID
|
|
|
|
*
|
|
|
|
* @param aServiceClassUuid 16-bit service class UUID
|
|
|
|
* @param aRetUuidStr out parameter, 128-bit uuid string
|
|
|
|
*/
|
|
|
|
static void
|
|
|
|
GetString(BluetoothServiceClass aServiceClassUuid, nsAString& aRetUuidStr);
|
2013-08-13 22:54:18 -07:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Convert a 128-bit uuid string to a value of BluetoothServiceClass
|
|
|
|
*
|
|
|
|
* @param aUuidStr 128-bit uuid string
|
|
|
|
* @return a value of BluetoothServiceClass
|
|
|
|
*/
|
|
|
|
static BluetoothServiceClass
|
|
|
|
GetBluetoothServiceClass(const nsAString& aUuidStr);
|
2013-09-06 04:19:46 -07:00
|
|
|
|
|
|
|
static BluetoothServiceClass
|
2013-09-12 08:45:33 -07:00
|
|
|
GetBluetoothServiceClass(uint16_t aServiceUuid);
|
|
|
|
|
|
|
|
static BluetoothProfileManagerBase*
|
|
|
|
GetBluetoothProfileManager(uint16_t aServiceUuid);
|
2012-11-26 22:12:19 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
// TODO/qdot: Move these back into gonk and make the service handler deal with
|
|
|
|
// it there.
|
|
|
|
//
|
|
|
|
// Gotten from reading the "u8" values in B2G/external/bluez/src/adapter.c
|
|
|
|
// These were hardcoded into android
|
|
|
|
enum BluetoothReservedChannels {
|
|
|
|
CHANNEL_DIALUP_NETWORK = 1,
|
2013-04-12 03:45:37 -07:00
|
|
|
CHANNEL_HANDSFREE_AG = 10,
|
|
|
|
CHANNEL_HEADSET_AG = 11,
|
|
|
|
CHANNEL_OPUSH = 12,
|
|
|
|
CHANNEL_SIM_ACCESS = 15,
|
|
|
|
CHANNEL_PBAP_PSE = 19,
|
|
|
|
CHANNEL_FTP = 20,
|
|
|
|
CHANNEL_OPUSH_L2CAP = 5255
|
2012-11-26 22:12:19 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
END_BLUETOOTH_NAMESPACE
|
|
|
|
|
|
|
|
#endif
|