summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2013-02-14hfp_hf_bluez5: Use some tricks to optimize codeDenis Kenzior1-39/+27
2013-02-14gdbus: Add g_dbus_proxy_set_removed_watchDenis Kenzior2-0/+20
2013-02-14hfp_hf_bluez5: Add support for Enabling/Disabling the modemVinicius Costa Gomes1-2/+37
Now that we have the support for sending the correct messages to BlueZ, we are able to dynamically power up/down the HFP modem. We add another property to the modem to be able to get the D-Bus object path that represents the remote device.
2013-02-14hfp_hf_bluez5: Add Profile RequestDisconnectionClaudio Takahasi1-3/+32
This patch implements RequestDisconnection method of the Profile1 interface. This method gets called when the profile gets disconnected. The profile implementation needs to cleanup the resources related to the informed device.
2013-02-14bluez5: Add support for Connecting/Disconnecting per UUIDVinicius Costa Gomes2-0/+102
This adds supports for sending the ConnectProfile() and DisconnectProfile() messages for the org.bluez.Device1 interface.
2013-02-14bluez5: Rename BlueZ Profile registration functionsClaudio Takahasi4-8/+8
This patch renames external profile registration functions replacing the prefix from 'bluetooth_' to 'bt_' in order to follow the name convention adopted for bluez5 functions.
2013-02-14gdbus: Fix missing PropertiesChanged signalVinicius Costa Gomes1-2/+5
If D-Bus ObjectManager is not supported, InterfacesAdded signal checking needs to be ignored otherwise PropertiesChanged signal will never be sent.
2013-02-11gdbus: Don't call property changed callback during client initMarcel Holtmann1-9/+10
When the client uses ObjectManager to init properties, do not call property changed callbacks. They should only be called once the proxy added has been successfully signaled since the proxy itself provides a full copy of available properties.
2013-02-01gdbus: Fix unpublished interface signal emissionJohan Hedberg1-0/+4
If we haven't published an interface yet (i.e. it's in the data->added list), we should just ignore any property changed indications as the values for the properties will anyway be part of the InterfacesAdded signal.
2013-01-31hfp_ag: Add BlueZ 5 versionFrédéric Danis2-0/+274
This patch adds initial implementation of the D-Bus Profile1 interface and methods responsible for handling Bluetooth connections. The HFP AG profile interface is registered as soon as a voice capable modem is registered in oFono.
2013-01-31hfp_hf_bluez5: Remove BlueZ devices proxies hashClaudio Takahasi1-13/+2
The hash table to track the devices is not necessary anymore since dynamic modem registration on NewConnection was removed.
2013-01-31hfp_hf_bluez5: Fix registering modem on NewConnectionClaudio Takahasi1-20/+3
HFP modem will be registered when Proxy Added callback gets called or when Pair is True. This patch removes the support for dynamic modem registration when a new connection is notified and there isn't a modem associated with the Bluetooth remote device. BlueZ behaviour has been changed and a NewConnection is not notified before the service discovery finishes.
2013-01-31hfp_hf_bluez5: Remove unneeded error handlingVinicius Costa Gomes1-5/+0
Apart from g_io_channel_unix_new() not setting errno, it never returns an NULL pointer on error, because in practice it only calls g_new().
2013-01-30bluetooth: Rename HFP AG pluginFrédéric Danis2-4/+5
As BlueZ 5 introduced backwards incompatible API changes, and we want to keep support for BlueZ 4 based HFP AG plugin for some time, we need to separate HFP AG plugin which is based on BlueZ 4 from the one based on BlueZ 5. The hfp_ag.c plugin is renamed to hfp_ag_bluez4. This will make it easy to add an HFP AG plugin for BlueZ 5.
2013-01-30hfp_hf_bluez5: Only register modems for Paired devicesVinicius Costa Gomes1-20/+41
When there are many devices around that support the HFP AG profile, we may have a lot of modems that the user will never use.
2013-01-30hfp_hf_bluez5: Improve Proxy property changed handlingClaudio Takahasi1-3/+2
This patch removes unnecessary GDBusProxy object access when property changed is triggered. The property name and the argument iterator is informed in the function callback.
2013-01-30TODO: Add task for supporting BlueZ 5 in dundeeVinicius Costa Gomes1-0/+9
2013-01-29hfp_hf_bluez5: Fix missing fd closeClaudio Takahasi1-1/+3
This patch fix an unusual scenario, service_level_connection() fails if GIOChannel or GAtChat memory allocation fails.
2013-01-29hfp_hf_bluez5: Rename 'Address' to 'Remote'Vinicius Costa Gomes1-2/+2
Rename this property to better indicate that it is the remote Address being referred to.
2013-01-29bluez5: Add RFCOMM socket address declarationClaudio Takahasi1-0/+7
This patch adds a copy of Bluetooth RFCOMM socket declaration.
2013-01-29bluez5: Add bt_bacmp()Claudio Takahasi2-0/+7
Adds a copy of BlueZ bacmp() function.
2013-01-29bluez5: Add bt_ba2str()Claudio Takahasi3-0/+10
Adds a copy of BlueZ ba2str() function.
2013-01-29hfp_hf_bluez5: Add SCO listen socketClaudio Takahasi1-0/+76
This patch adds the initial SCO server socket handling. BtIO and BlueZ functions should not be used, with the new Profile API the objetive is to get rid of these dependencies.
2013-01-29bluez5: Add bt_bacpy()Claudio Takahasi2-0/+8
Adds a copy of BlueZ bacpy() function.
2013-01-29bluez5: Add SCO socket declarationsClaudio Takahasi3-0/+33
Adds local copy of SCO Bluetooth sockets declarations, since the objective to avoid including BlueZ library headers.
2013-01-23hfp_hf_bluez5: Add SLC establishment procedureVinicius Costa Gomes1-6/+169
When receiving a NewConnection call from BlueZ, initiates the Service Level Connection using the received file descriptor. The HFP modem sub-components (devinfo, voicecall, netreg, handsfree and callvolume) are created at this point.
2013-01-23hfp_hf_bluez5: Handle NewConnection from BlueZVinicius Costa Gomes1-3/+48
Parse the essential arguments in the message, in this case only the file descriptor, and register the modem if it is not already registered. This is necessary because in some cases, we may receive a NewConnection call, and the SDP process is still taking place.
2013-01-23hfp_hf_bluez5: Follow HFP AG device Alias propertyVinicius Costa Gomes1-1/+17
If the device Alias property changes we should also change the name of the modem.
2013-01-23hfp_hf_bluez5: Register modem for HFP AG devicesVinicius Costa Gomes1-1/+77
Now that we are able to keep track of devices appearing and disappearing from BlueZ, we are able to register the modem when a device that supports the HFP AG UUID appears.
2013-01-23bluez5: Add HFP_AG_UUIDVinicius Costa Gomes1-0/+1
2013-01-23hfp_hf_bluez5: Add tracking of bluetooth devicesVinicius Costa Gomes1-3/+20
This patch tracks the GDBusProxy for Bluetooth devices in order to be able to get their properties.
2013-01-23hfp_hf_bluez5: Initial GDBusClient for BlueZVinicius Costa Gomes1-4/+47
This patch adds the initial callbacks to track when BlueZ connects so we can register our HFP external profile handler. And tracks the interfaces added or removed.
2013-01-23bluez5: Add additional definesVinicius Costa Gomes1-1/+3
2013-01-23bluez5: Fix copy paste errorDenis Kenzior1-1/+1
2013-01-21netreg: Fix broken CMER behavior on MBMDenis Kenzior1-1/+14
2013-01-21mbm: Delay init until EMRDYDenis Kenzior1-7/+8
If we send these commands before the EMRDY notification has been seen, they will simply return an error.
2013-01-21hfpmodem: Add comment for previous commitDenis Kenzior1-0/+5
2013-01-21hfpmodem: Fix release-and-swap without +CIEVMikel Astiz1-1/+45
Some phones do not send the corresponding call state update (+CIEV) after a successful release-and-swap operation (AT+CHLD=1). This has been observed with a Nokia 500, while testing ReleaseAndSwap() while an active and a held call exist: ofonod[20414]: > AT+CLCC\r ofonod[20414]: < \r\n+CLCC: 1,0,1,0,0,"<number1>",145\r\n ofonod[20414]: < \r\n+CLCC: 2,0,0,0,0,"<number2>",145\r\n ofonod[20414]: < \r\nOK\r\n ofonod[20414]: > AT+CHLD=1\r ofonod[20414]: < \r\nOK\r\n After this, no +CIEV is received, but the call has been hung up. The proposed approach to solve this consists of using AT+CLCC, unless a call release has been received within a specific time period. The result fixes the problem as can be seen below: ofonod[20847]: < \r\n+CLCC: 1,0,1,0,0,"<number1>",145\r\n ofonod[20847]: < \r\n+CLCC: 2,0,0,0,0,"<number2>",145\r\n ofonod[20847]: < \r\nOK\r\n ofonod[20847]: > AT+CHLD=1\r ofonod[20847]: < \r\nOK\r\n ofonod[20847]: > AT+CLCC\r ofonod[20847]: < \r\n+CLCC: 1,0,0,0,0,"<number1>",145\r\n ofonod[20847]: < \r\nOK\r\n ofonod[20847]: < \r\n+CIEV: 5,2\r\n ofonod[20847]: < \r\n+CIEV: 5,0\r\n
2013-01-21hfpmodem: Avoid transitional voicecall statesMikel Astiz1-2/+12
While processing the result of AT+CLCC, process the differences in a way that disconnections are reported first, then call state changes and finally new calls. The goal is to avoid unnecessary transitional states such as two active calls existing at the same time.
2013-01-21hfpmodem: Refactor voicecall notify with foreachMikel Astiz1-3/+9
Define a helper function in order to use foreach statements when ofono_voicecall_notify() needs to be called.
2013-01-20gdbus: Check for valid path before handling propertiesMarcel Holtmann1-0/+6
2013-01-17hfpmodem: Add support for sending the supported codecsVinicius Costa Gomes1-0/+29
Right now, only the mandatory CVSD codec is supported. The mSBC mandatory codec is "temporarily" not supported. The spec alows this, HFP 1.6 Spec Section 4.34.1 page 92: "If wide band speech is supported then the mandatory codec (mSBC) shall be included unless it is temporarily unavailable."
2013-01-17hfpmodem: Add version defines for HFP 1.6Vinicius Costa Gomes1-1/+2
2013-01-17AUTHORS: Mention Claudio's contributionsDenis Kenzior1-0/+1
2013-01-16build: Use AM_CPPFLAGS instead of INCLUDESLucas De Marchi1-1/+1
Makefile.am:518: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
2013-01-16build: Do not use deprecated AM_CONFIG_HEADERLucas De Marchi1-1/+1
The long-obsoleted AM_CONFIG_HEADER macro was removed in automake 1.13. Use AC_CONFIG_HEADERS instead.
2013-01-16storage: Include sys/types.h for ssize_tLucas De Marchi1-0/+1
src/storage.h:32:1: error: unknown type name 'ssize_t' src/storage.h:36:1: error: unknown type name 'ssize_t'
2013-01-16hfp_hf_bluez5: Add BlueZ Profile handlerClaudio Takahasi1-1/+73
This patch declares the external HFP Profile handler. It contains the initial implementation of the D-Bus Profile1 interface and methods responsible for handling Bluetooth connections.
2013-01-16bluez5: Add a couple of definesClaudio Takahasi1-0/+2
2013-01-16hfp_hf_bluez5: Add initial skeleton implementationClaudio Takahasi2-1/+81