From 4045365192c8f3bcac8ee6d32eafe246cc8d0743 Mon Sep 17 00:00:00 2001 From: Gustavo Sverzut Barbieri Date: Fri, 27 Jul 2012 17:54:32 -0300 Subject: [PATCH] command line option to list every known ofono modem api. --- dialer/main.c | 9 +++++++++ dialer/ofono.c | 7 +++++++ dialer/ofono.h | 1 + 3 files changed, 17 insertions(+) diff --git a/dialer/main.c b/dialer/main.c index be4ba28..6823e3d 100644 --- a/dialer/main.c +++ b/dialer/main.c @@ -29,6 +29,7 @@ static const Ecore_Getopt options = { {ECORE_GETOPT_STORE_STR('m', "modem", "Modem object path in oFono."), ECORE_GETOPT_STORE_DEF_STR('a', "api", "oFono modem APIs to use.", def_modem_api), + ECORE_GETOPT_STORE_TRUE('A', "list-api", "list all oFono modem API."), ECORE_GETOPT_VERSION('V', "version"), ECORE_GETOPT_COPYRIGHT('C', "copyright"), ECORE_GETOPT_LICENSE('L', "license"), @@ -45,10 +46,12 @@ EAPI int elm_main(int argc, char **argv) int args; char *modem_path = NULL; char *modem_api = NULL; + Eina_Bool list_api = EINA_FALSE; Eina_Bool quit_option = EINA_FALSE; Ecore_Getopt_Value values[] = { ECORE_GETOPT_VALUE_STR(modem_path), ECORE_GETOPT_VALUE_STR(modem_api), + ECORE_GETOPT_VALUE_BOOL(list_api), ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_BOOL(quit_option), @@ -71,6 +74,12 @@ EAPI int elm_main(int argc, char **argv) _app_exit_code = EXIT_FAILURE; goto end; } + if (list_api) { + puts("Supported oFono API:"); + ofono_modem_api_list(stdout, "\t", "\n"); + goto end; + } + if (quit_option) goto end; diff --git a/dialer/ofono.c b/dialer/ofono.c index fc63875..5917429 100644 --- a/dialer/ofono.c +++ b/dialer/ofono.c @@ -1956,6 +1956,13 @@ void ofono_modem_api_require(const char *spec) modem_selected = NULL; } +void ofono_modem_api_list(FILE *fp, const char *prefix, const char *suffix) +{ + const struct API_Interface_Map *itr; + for (itr = api_iface_map; itr->name != NULL; itr++) + fprintf(fp, "%s%s%s", prefix, itr->name, suffix); +} + void ofono_modem_path_wanted_set(const char *path) { if (eina_stringshare_replace(&modem_path_wanted, path)) diff --git a/dialer/ofono.h b/dialer/ofono.h index 4b5c97f..0397d50 100644 --- a/dialer/ofono.h +++ b/dialer/ofono.h @@ -147,6 +147,7 @@ OFono_Pending *ofono_volume_microphone_set(unsigned char volume, OFono_Simple_Cb unsigned char ofono_volume_microphone_get(void); /* Setup: */ +void ofono_modem_api_list(FILE *fp, const char *prefix, const char *suffix); void ofono_modem_api_require(const char *spec); void ofono_modem_path_wanted_set(const char *path); -- 2.7.4