1 /* Copyright (c) 2014 The Chromium OS Authors. All rights reserved. 2 * Use of this source code is governed by a BSD-style license that can be 3 * found in the LICENSE file. 4 */ 5 6 #ifndef CRAS_TELEPHONY_H_ 7 #define CRAS_TELEPHONY_H_ 8 9 #include <dbus/dbus.h> 10 11 /* Handle object to hold required info to handle telephony status which 12 * is required for responsing HFP query commands. 13 * Args: 14 * call - standard call status indicator, where 15 * 0: no call active 16 * 1: call is active 17 * callsetup - call set up status indicator. 18 * 0: not currently in call set up 19 * 1: an incoming call prcess ongoing 20 * 2: an outgoing call set up is ongoing 21 * callhold - call hold status indicator. 22 * 0: no call hold 23 * 1: call is placed on hold or active/held calls swapped 24 * (The AG has both and active AND a held call) 25 * 2: call on hold, no active call 26 * dial_number - phone number, used on fake memory storage and last phone 27 * number storage. 28 * dbus_conn - dus connetion which is used in whole telephony module. 29 */ 30 struct cras_telephony_handle { 31 int call; 32 int callsetup; 33 int callheld; 34 char *dial_number; 35 36 DBusConnection *dbus_conn; 37 }; 38 39 void cras_telephony_start(DBusConnection *conn); 40 41 void cras_telephony_stop(); 42 43 struct cras_telephony_handle *cras_telephony_get(); 44 45 /* Stores dial number in telephony module. */ 46 void cras_telephony_store_dial_number(int len, const char *num); 47 48 /* Handles answer call event from dbus or HF */ 49 int cras_telephony_event_answer_call(); 50 51 /* Handles answer call event from dbus or HF */ 52 int cras_telephony_event_terminate_call(); 53 54 #endif /* CRAS_TELEPHONY_H_ */ 55