forked from mozilla/gecko-dev
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathBluetoothUuid.h
84 lines (72 loc) · 2.32 KB
/
BluetoothUuid.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/* -*- 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
class BluetoothProfileManagerBase;
/*
* 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
{
A2DP = 0x110D,
HANDSFREE = 0x111E,
HANDSFREE_AG = 0x111F,
HEADSET = 0x1108,
HEADSET_AG = 0x1112,
HID = 0x1124,
OBJECT_PUSH = 0x1105,
UNKNOWN = 0x0000
};
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);
/**
* 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);
static BluetoothServiceClass
GetBluetoothServiceClass(uint16_t aServiceUuid);
static BluetoothProfileManagerBase*
GetBluetoothProfileManager(uint16_t aServiceUuid);
};
// 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,
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
};
END_BLUETOOTH_NAMESPACE
#endif