6 OFONO_API_SIM = (1 << 0),
7 OFONO_API_NETREG = (1 << 1),
8 OFONO_API_VOICE = (1 << 2),
9 OFONO_API_MSG = (1 << 3),
10 OFONO_API_MSG_WAITING = (1 << 4),
11 OFONO_API_SMART_MSG = (1 << 5),
12 OFONO_API_STK = (1 << 6),
13 OFONO_API_CALL_FW = (1 << 7),
14 OFONO_API_CALL_VOL = (1 << 8),
15 OFONO_API_CALL_METER = (1 << 9),
16 OFONO_API_CALL_SET = (1 << 10),
17 OFONO_API_CALL_BAR = (1 << 11),
18 OFONO_API_SUPPL_SERV = (1 << 12),
19 OFONO_API_TXT_TEL = (1 << 13),
20 OFONO_API_CELL_BROAD = (1 << 14),
21 OFONO_API_CONNMAN = (1 << 15),
22 OFONO_API_PUSH_NOTIF = (1 << 16),
23 OFONO_API_PHONEBOOK = (1 << 17),
24 OFONO_API_ASN = (1 << 18)
31 OFONO_ERROR_DOES_NOT_EXIST,
32 OFONO_ERROR_IN_PROGRESS,
34 OFONO_ERROR_INVALID_ARGS,
35 OFONO_ERROR_INVALID_FORMAT,
36 OFONO_ERROR_ACCESS_DENIED,
37 OFONO_ERROR_ATTACH_IN_PROGRESS,
38 OFONO_ERROR_INCORRECT_PASSWORD,
39 OFONO_ERROR_NOT_ACTIVE,
40 OFONO_ERROR_NOT_ALLOWED,
41 OFONO_ERROR_NOT_ATTACHED,
42 OFONO_ERROR_NOT_AVAILABLE,
43 OFONO_ERROR_NOT_FOUND,
44 OFONO_ERROR_NOT_IMPLEMENTED,
45 OFONO_ERROR_NOT_RECOGNIZED,
46 OFONO_ERROR_NOT_REGISTERED,
47 OFONO_ERROR_NOT_SUPPORTED,
48 OFONO_ERROR_SIM_NOT_READY,
56 OFONO_CALL_STATE_DISCONNECTED = 0,
57 OFONO_CALL_STATE_ACTIVE,
58 OFONO_CALL_STATE_HELD,
59 OFONO_CALL_STATE_DIALING,
60 OFONO_CALL_STATE_ALERTING,
61 OFONO_CALL_STATE_INCOMING,
62 OFONO_CALL_STATE_WAITING
65 typedef struct _OFono_Call OFono_Call;
66 typedef struct _OFono_Pending OFono_Pending;
68 typedef struct _OFono_Callback_List_Modem_Node OFono_Callback_List_Modem_Node;
69 typedef struct _OFono_Callback_List_Call_Node OFono_Callback_List_Call_Node;
70 typedef struct _OFono_Callback_List_Call_Disconnected_Node OFono_Callback_List_Call_Disconnected_Node;
72 typedef void (*OFono_Simple_Cb)(void *data, OFono_Error error);
73 typedef void (*OFono_String_Cb)(void *data, OFono_Error error, const char *str);
74 typedef void (*OFono_Call_Cb)(void *data, OFono_Error error, OFono_Call *call);
78 OFono_Pending *ofono_call_hangup(OFono_Call *c, OFono_Simple_Cb cb,
80 OFono_Pending *ofono_call_answer(OFono_Call *c, OFono_Simple_Cb cb,
83 OFono_Call_State ofono_call_state_get(const OFono_Call *c);
84 const char *ofono_call_name_get(const OFono_Call *c);
85 const char *ofono_call_line_id_get(const OFono_Call *c);
86 Eina_Bool ofono_call_multiparty_get(const OFono_Call *c);
87 double ofono_call_start_time_get(const OFono_Call *c);
88 time_t ofono_call_full_start_time_get(const OFono_Call *c);
90 #define ofono_call_state_valid_check(c) \
91 (ofono_call_state_get(c) != OFONO_CALL_STATE_DISCONNECTED)
93 OFono_Callback_List_Call_Node *ofono_call_added_cb_add(
94 void (*cb)(void *data,OFono_Call *call), const void *data);
96 OFono_Callback_List_Call_Node *ofono_call_removed_cb_add(
97 void (*cb)(void *data, OFono_Call *call), const void *data);
99 OFono_Callback_List_Call_Node *ofono_call_changed_cb_add(
100 void (*cb)(void *data, OFono_Call *call), const void *data);
102 OFono_Callback_List_Call_Disconnected_Node *ofono_call_disconnected_cb_add(
103 void (*cb)(void *data, OFono_Call *call, const char *reason),
106 OFono_Pending *ofono_tones_send(const char *tones, OFono_Simple_Cb cb,
109 void ofono_call_changed_cb_del(OFono_Callback_List_Call_Node *callback_node);
110 void ofono_call_disconnected_cb_del(OFono_Callback_List_Call_Disconnected_Node *callback_node);
111 void ofono_call_added_cb_del(OFono_Callback_List_Call_Node *callback_node);
112 void ofono_call_removed_cb_del(OFono_Callback_List_Call_Node *callback_node);
114 OFono_Pending *ofono_multiparty_create(OFono_Simple_Cb cb, const void *data);
115 OFono_Pending *ofono_multiparty_hangup(OFono_Simple_Cb cb, const void *data);
116 OFono_Pending *ofono_private_chat(OFono_Call *c, OFono_Simple_Cb cb,
120 const char *ofono_modem_serial_get(void);
122 OFono_Pending *ofono_modem_change_pin(const char *what, const char *old, const char *new,
123 OFono_Simple_Cb cb, const void *data);
124 OFono_Pending *ofono_modem_reset_pin(const char *what, const char *puk, const char *new,
125 OFono_Simple_Cb cb, const void *data);
127 OFono_Pending *ofono_ss_initiate(const char *command, OFono_String_Cb cb, const void *data);
129 OFono_Pending *ofono_dial(const char *number, const char *hide_callerid,
130 OFono_Call_Cb cb, const void *data);
132 OFono_Pending *ofono_transfer(OFono_Simple_Cb cb, const void *data);
133 OFono_Pending *ofono_swap_calls(OFono_Simple_Cb cb, const void *data);
134 OFono_Pending *ofono_release_and_answer(OFono_Simple_Cb cb, const void *data);
135 OFono_Pending *ofono_release_and_swap(OFono_Simple_Cb cb, const void *data);
136 OFono_Pending *ofono_hold_and_answer(OFono_Simple_Cb cb, const void *data);
137 OFono_Pending *ofono_hangup_all(OFono_Simple_Cb cb, const void *data);
141 OFono_Pending *ofono_mute_set(Eina_Bool mute, OFono_Simple_Cb cb, const void *data);
142 Eina_Bool ofono_mute_get(void);
144 OFono_Pending *ofono_volume_speaker_set(unsigned char volume, OFono_Simple_Cb cb, const void *data);
145 unsigned char ofono_volume_speaker_get(void);
148 OFono_Pending *ofono_volume_microphone_set(unsigned char volume, OFono_Simple_Cb cb, const void *data);
149 unsigned char ofono_volume_microphone_get(void);
152 void ofono_modem_api_list(FILE *fp, const char *prefix, const char *suffix);
153 void ofono_modem_api_require(const char *spec);
154 void ofono_modem_type_list(FILE *fp, const char *prefix, const char *suffix);
155 void ofono_modem_type_require(const char *spec);
156 void ofono_modem_path_wanted_set(const char *path);
158 OFono_Callback_List_Modem_Node *ofono_modem_conected_cb_add(void (*cb)(void *data),
161 OFono_Callback_List_Modem_Node *ofono_modem_disconnected_cb_add(
162 void (*cb)(void *data), const void *data);
164 OFono_Callback_List_Modem_Node *ofono_modem_changed_cb_add(void (*cb)(void *data),
167 void ofono_modem_changed_cb_del(OFono_Callback_List_Modem_Node *callback_node);
168 void ofono_modem_disconnected_cb_del(OFono_Callback_List_Modem_Node *callback_node);
169 void ofono_modem_connected_cb_del(OFono_Callback_List_Modem_Node *callback_node);
171 void ofono_pending_cancel(OFono_Pending *pending);
173 Eina_Bool ofono_init(void);
174 void ofono_shutdown(void);