summaryrefslogtreecommitdiff
path: root/doc/headset-api.txt
blob: 01e2eeb07cee29832eaccc9e7d2add76bcd2d885 (plain)
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
Headset D-Bus API description
*****************************


HeadsetManager hierarchy
========================

Service		org.freedesktop.Headset
Interface	org.freedesktop.HeadsetManager
Object path	/

                The HeadsetManager interface manages the detected Devices
                and Registered Agents.

Methods         array{object,dict} GetDevices()

                        Get an array of device objects and properties
                        that represent the currently attached devices.

                        This method call should only be used once when an
                        application starts up. Further device additions
                        and removal shall be monitored via DeviceAdded and
                        DeviceRemoved signals.

                void Register(object path, dict)

                        Registers a Headset Agent with a specific
                        path (freely selectable by the subsystem) and
                        properties

                        Possible Errors: [service].Error.InvalidArguments

                void Unregister(object path)

                        Unregisters a Headset Agent with specific path

                        Possible Errors: [service].Error.NotFound
                                         [service].Error.InvalidArguments
                                         [service].Error.NotAllowed

Signals         DeviceAdded(object path, dict properties)

                        Signal that is sent when a new device is added.  It
                        contains the object path of new device and its
                        properties.

                DeviceRemoved(object path)

                        Signal that is sent when a device has been removed.
                        The object path is no longer accessible after this
                        signal and only emitted for reference.


Headset hierarchy
=================

Service		org.freedesktop.Headset
Interface	org.freedesktop.Headset
Object path	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX

Methods		dict Connect (dict properties)

			Acquire transport file descriptor and the MTU for read
			and write respectively.

                        Requires a dictionary with:

                         codec:  the requested codec

                        Returns a dictionary with at least:

                         fd:     file descriptor
                         mtu_r:  MTU for reading
                         mtu_w:  MTU for writing
                         codec:  the codec in use

			Possible Errors: [service].Error.NotAuthorized
					 [service].Error.Failed

		void Disconnect()

			Releases file descriptor.

			Possible Errors: [service].Error.NotAuthorized
					 [service].Error.Failed


Properties	object Device [readonly]

			The bluetooth Device object.

		string State [readonly]

			Indicates the state of the transport. Possible
			values are:
				"idle": not streaming
				"pending": connecting
				"active": connected and streaming



HeadsetVolume hierarchy
=======================

Service		org.freedesktop.Headset
Interface	org.freedesktop.HeadsetVolume
Object path	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX


Properties	byte MicrophoneGain [readwrite]

			Optional. Indicates volume level of the transport's
			incoming audio stream. This
			property is only writeable when the transport was
			acquired by the sender.

			Possible Values: 0-15

		byte SpeakerGain [readwrite]

			Optional. Indicates volume level of the transport's
			outgoing audio stream. This
			property is only writeable when the transport was
			acquired by the sender.

			Possible Values: 0-15