blob: 7c0a6c5408b684024aa107b05d2c6b021d0efd47 [file] [log] [blame]
/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef CRAS_TELEPHONY_H_
#define CRAS_TELEPHONY_H_
#include <dbus/dbus.h>
/* Handle object to hold required info to handle telephony status which
* is required for responsing HFP query commands.
* Args:
* call - standard call status indicator, where
* 0: no call active
* 1: call is active
* callsetup - call set up status indicator.
* 0: not currently in call set up
* 1: an incoming call prcess ongoing
* 2: an outgoing call set up is ongoing
* callhold - call hold status indicator.
* 0: no call hold
* 1: call is placed on hold or active/held calls swapped
* (The AG has both and active AND a held call)
* 2: call on hold, no active call
* dial_number - phone number, used on fake memory storage and last phone
* number storage.
* dbus_conn - dus connetion which is used in whole telephony module.
*/
struct cras_telephony_handle {
int call;
int callsetup;
int callheld;
char *dial_number;
DBusConnection *dbus_conn;
};
void cras_telephony_start(DBusConnection *conn);
void cras_telephony_stop();
struct cras_telephony_handle *cras_telephony_get();
/* Stores dial number in telephony module. */
void cras_telephony_store_dial_number(int len, const char *num);
/* Handles answer call event from dbus or HF */
int cras_telephony_event_answer_call();
/* Handles answer call event from dbus or HF */
int cras_telephony_event_terminate_call();
#endif /* CRAS_TELEPHONY_H_ */