summaryrefslogtreecommitdiff
path: root/doxymain.h
blob: 66e0690fc83e0aba36ee4a89cd901953357b9b10 (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
/**
 * @mainpage Bluetooth Hands-Free Profile Server
 *
 * @section intro Introduction
 *
 * HFP for Linux is a Bluetooth Hands-Free Profile server, allowing 
 * your Linux system to act as a speakerphone for your mobile phone.  
 * It aims to be a compliant Bluetooth HFP 1.5 Hands Free 
 * implementation, supporting all required commands and notifications, 
 * as well as streaming audio.  The HFP for Linux package includes
 * three main components:
 *
 * - @b libhfp, a modular, toolkit-independent backend library with
 * rich APIs.  This documentation is primarily concerned with libhfp.
 * - @b hfpd, a D-Bus service daemon providing D-Bus APIs.  The D-Bus
 * APIs are presently undocumented, but are introspectable.
 * - @b hfconsole, a PyGTK console application for controlling the
 * D-Bus service daemon.
 *
 * The package also includes @b hfstandalone, a demonstration
 * monolithic speakerphone program built with Trolltech Qt.  hfstandalone
 * uses its own instance of libhfp and operates independently of hfpd.
 *
 * The developer of HFP for Linux believes that HFP is most useful in 
 * embedded devices, each with unique user interface requirements.  
 * Because of this, emphasis is placed on the internals and backend 
 * interfaces of libhfp, and the D-Bus interfaces of hfpd, so that it 
 * may be useful as a toolkit for building HFP applications and 
 * integrating HFP functionality into other applications.
 *
 * @section features Features
 *
 * - Supports device scanning, connection, disconnection, and automatic
 * reconnection
 * - Supports multiple concurrently connected audio gateway devices
 * - Resilient to loss of Bluetooth service
 * - Modular, event-driven backend
 * - All APIs are single-threaded, clients do not need to be concerned with
 * thread synchronization
 * - Audio handling components are completely asynchronous
 * - Supports the ALSA and OSS audio hardware interfaces
 * - Supports microphone input cleanup, including echo cancellation and
 * noise reduction.
 * - Supports simple recording and playback of stored audio files, e.g.
 * for recording calls and playing ring tones.
 *
 * @section reqs Software Requirements and Build Options
 *
 * - libbluetooth and BlueZ, the Linux Bluetooth stack
 * - libasound, the ALSA user-level audio library @em optional
 * - The OSS kernel-level audio interface @em optional
 * - libaudiofile, the SGI audiofile library @em optional
 * - libspeexdsp, the Speex signal processing library @em optional
 * - libdbus for hfpd
 * - PyGTK and dbus-python for the hfconsole app
 * - Trolltech Qt 3.3 for the monolithic demonstration app
 */