summaryrefslogtreecommitdiffstats
path: root/include/voicecall.h
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-10-20 12:50:51 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-10-20 12:50:51 -0500
commitba71706b07d4ece94cec48298112c58a174cc055 (patch)
tree2e12c56b41f41bd23ca189dfeed674f2f76c2799 /include/voicecall.h
parentae8deb68e8336d67748ae12d23c5912829bcb555 (diff)
downloadofono-ba71706b07d4ece94cec48298112c58a174cc055.tar.bz2
voicecall: Document driver methods
Diffstat (limited to 'include/voicecall.h')
-rw-r--r--include/voicecall.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/include/voicecall.h b/include/voicecall.h
index 2356fcfa..e37d73bd 100644
--- a/include/voicecall.h
+++ b/include/voicecall.h
@@ -65,31 +65,74 @@ struct ofono_voicecall_driver {
const struct ofono_phone_number *number,
enum ofono_clir_option clir, enum ofono_cug_option cug,
ofono_voicecall_cb_t cb, void *data);
+ /* Answers an incoming call, this usually corresponds to ATA */
void (*answer)(struct ofono_voicecall *vc,
ofono_voicecall_cb_t cb, void *data);
+
+ /* Hangs up active, dialing, alerting or incoming calls */
void (*hangup_active)(struct ofono_voicecall *vc,
ofono_voicecall_cb_t cb, void *data);
+ /* Hangs up all calls except waiting calls */
void (*hangup_all)(struct ofono_voicecall *vc,
ofono_voicecall_cb_t cb, void *data);
+ /*
+ * Holds all active and retrieves held or waiting calls, this usually
+ * corresponds to +CHLD=2
+ */
void (*hold_all_active)(struct ofono_voicecall *vc,
ofono_voicecall_cb_t cb, void *data);
+ /* Releases all held calls, this usually corresponds to +CHLD=0*/
void (*release_all_held)(struct ofono_voicecall *vc,
ofono_voicecall_cb_t cb, void *data);
+ /*
+ * Sets the UDUB condition on a waiting call. This usually
+ * corresponds to +CHLD=0
+ */
void (*set_udub)(struct ofono_voicecall *vc,
ofono_voicecall_cb_t cb, void *data);
+ /*
+ * Releases all active calls and accepts a possible waiting call.
+ * This usually corresponds to +CHLD=1
+ */
void (*release_all_active)(struct ofono_voicecall *vc,
ofono_voicecall_cb_t cb, void *data);
+ /*
+ * Releases a specific call given by id. This usually corresponds to
+ * +CHLD=1X. In 3GPP this command is only guaranteed to affect active
+ * calls. Plugins are encouraged to implement this using vendor
+ * commands that can also affect held calls
+ */
void (*release_specific)(struct ofono_voicecall *vc, int id,
ofono_voicecall_cb_t cb, void *data);
+ /*
+ * Breaks out a party given by id from a multiparty call. This
+ * usually corresponds to +CHLD=2X
+ */
void (*private_chat)(struct ofono_voicecall *vc, int id,
ofono_voicecall_cb_t cb, void *data);
+ /*
+ * Joins held and active calls together into a multiparty call. This
+ * usually corresponds to +CHLD=3
+ */
void (*create_multiparty)(struct ofono_voicecall *vc,
ofono_voicecall_cb_t cb, void *data);
+ /*
+ * Connects two calls together and disconnects from both calls. This
+ * usually corresponds to +CHLD=4
+ */
void (*transfer)(struct ofono_voicecall *vc,
ofono_voicecall_cb_t cb, void *data);
+ /*
+ * Deflects an incoming or waiting call to a given number. This
+ * usually corresponds to +CTFR
+ */
void (*deflect)(struct ofono_voicecall *vc,
const struct ofono_phone_number *ph,
ofono_voicecall_cb_t cb, void *data);
+ /*
+ * This is equivalent to +CHLD=2 but does not affect a possible
+ * waiting call.
+ */
void (*swap_without_accept)(struct ofono_voicecall *vc,
ofono_voicecall_cb_t cb, void *data);
void (*send_tones)(struct ofono_voicecall *vc, const char *tones,