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 40 void cras_telephony_start(DBusConnection *conn); 41 42 void cras_telephony_stop(); 43 44 struct cras_telephony_handle* cras_telephony_get(); 45 46 /* Stores dial number in telephony module. */ 47 void cras_telephony_store_dial_number(int len, const char* num); 48 49 /* Handles answer call event from dbus or HF */ 50 int cras_telephony_event_answer_call(); 51 52 /* Handles answer call event from dbus or HF */ 53 int cras_telephony_event_terminate_call(); 54 55 #endif /* CRAS_TELEPHONY_H_ */ 56