ofono/src/ofono.h

151 lines
4.4 KiB
C
Raw Normal View History

2009-04-26 19:12:32 +00:00
/*
*
2009-05-06 01:58:12 +00:00
* oFono - Open Source Telephony
2009-04-26 19:12:32 +00:00
*
* Copyright (C) 2008-2009 Intel Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#include <glib.h>
#define OFONO_API_SUBJECT_TO_CHANGE
2009-05-06 04:13:14 +00:00
int __ofono_manager_init();
void __ofono_manager_cleanup();
2009-07-29 21:32:10 +00:00
const char **__ofono_modem_get_list();
2009-06-17 12:03:21 +00:00
2009-04-26 19:12:32 +00:00
#include <ofono/log.h>
2009-05-06 01:58:12 +00:00
int __ofono_log_init(gboolean detach, gboolean debug);
2009-04-26 19:12:32 +00:00
void __ofono_log_cleanup(void);
2009-04-26 19:28:48 +00:00
2009-05-06 01:58:12 +00:00
void __ofono_toggle_debug(void);
#include <ofono/dbus.h>
int __ofono_dbus_init(DBusConnection *conn);
void __ofono_dbus_cleanup(void);
DBusMessage *__ofono_error_invalid_args(DBusMessage *msg);
DBusMessage *__ofono_error_invalid_format(DBusMessage *msg);
DBusMessage *__ofono_error_not_implemented(DBusMessage *msg);
DBusMessage *__ofono_error_failed(DBusMessage *msg);
DBusMessage *__ofono_error_busy(DBusMessage *msg);
DBusMessage *__ofono_error_not_found(DBusMessage *msg);
DBusMessage *__ofono_error_not_active(DBusMessage *msg);
DBusMessage *__ofono_error_not_supported(DBusMessage *msg);
DBusMessage *__ofono_error_timed_out(DBusMessage *msg);
2009-07-29 15:40:17 +00:00
void __ofono_dbus_pending_reply(DBusMessage **msg, DBusMessage *reply);
#include <ofono/types.h>
2009-04-26 19:28:48 +00:00
#include <ofono/plugin.h>
int __ofono_plugin_init(const char *pattern, const char *exclude);
void __ofono_plugin_cleanup(void);
2009-06-17 12:03:21 +00:00
2009-07-29 19:03:34 +00:00
struct ofono_modem {
int id;
char *path;
void *userdata;
GSList *ss_control_list;
GSList *ss_passwd_list;
2009-08-12 19:46:59 +00:00
GSList *atoms;
2009-07-29 19:03:34 +00:00
struct ofono_modem_data *modem_info;
struct network_registration_data *network_registration;
struct voicecalls_data *voicecalls;
2009-08-13 15:58:42 +00:00
struct ofono_call_forwarding *call_forwarding;
2009-07-29 19:03:34 +00:00
struct ussd_data *ussd;
struct call_settings_data *call_settings;
struct call_waiting_data *call_waiting;
struct call_meter_data *call_meter;
struct ofono_call_barring *call_barring;
2009-07-29 19:03:34 +00:00
struct cssn_data *cssn;
struct sim_manager_data *sim_manager;
struct sms_manager_data *sms_manager;
struct phonebook_data *phonebook;
struct message_waiting_data *message_waiting;
2009-07-29 19:03:34 +00:00
GSList *history_contexts;
};
#include <ofono/modem.h>
unsigned int __ofono_modem_alloc_callid(struct ofono_modem *modem);
void __ofono_modem_release_callid(struct ofono_modem *modem, int id);
2009-08-12 19:46:59 +00:00
struct ofono_atom;
enum ofono_atom_type {
OFONO_ATOM_TYPE_INFO = 0,
OFONO_ATOM_TYPE_CALL_BARRING = 1,
OFONO_ATOM_TYPE_CALL_FORWARDING = 2,
OFONO_ATOM_TYPE_CALL_METER = 3,
OFONO_ATOM_TYPE_CALL_SETTINGS = 4,
OFONO_ATOM_TYPE_NETWORK_REGISTRATION = 5,
OFONO_ATOM_TYPE_PHONEBOOK = 6,
OFONO_ATOM_TYPE_SMS = 7,
OFONO_ATOM_TYPE_SIM = 8,
OFONO_ATOM_TYPE_USSD = 9,
OFONO_ATOM_TYPE_VOICECALL = 10,
OFONO_ATOM_TYPE_HISTORY = 11
};
struct ofono_atom *__ofono_modem_add_atom(struct ofono_modem *modem,
enum ofono_atom_type type,
void (*destruct)(struct ofono_atom *),
void *data);
struct ofono_atom *__ofono_modem_find_atom(struct ofono_modem *modem,
enum ofono_atom_type type);
void *__ofono_atom_get_data(struct ofono_atom *atom);
void __ofono_atom_register(struct ofono_atom *atom,
void (*unregister)(struct ofono_atom *));
void __ofono_atom_unregister(struct ofono_atom *atom);
void __ofono_modem_remove_atom(struct ofono_modem *modem,
struct ofono_atom *atom);
#include <ofono/call-barring.h>
2009-08-13 15:58:42 +00:00
#include <ofono/call-forwarding.h>
2009-06-17 12:03:21 +00:00
#include <ofono/history.h>
void __ofono_history_probe_drivers(struct ofono_modem *modem);
void __ofono_history_remove_drivers(struct ofono_modem *modem);
2009-06-17 12:03:21 +00:00
void __ofono_history_call_ended(struct ofono_modem *modem,
2009-06-17 12:03:21 +00:00
const struct ofono_call *call,
time_t start, time_t end);
void __ofono_history_call_missed(struct ofono_modem *modem,
2009-06-17 12:03:21 +00:00
const struct ofono_call *call, time_t when);
2009-08-04 15:56:07 +00:00
struct sms;
int ofono_message_waiting_register(struct ofono_modem *modem);
void ofono_message_waiting_unregister(struct ofono_modem *modem);
2009-08-04 15:56:07 +00:00
void ofono_handle_sms_mwi(struct ofono_modem *modem,
struct sms *sms, gboolean *out_discard);