X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=client%2Fins.c;h=6403f610c7966346b19ed0f09ef867c8c1da42d8;hb=237a525b8f7acc3dbebbe60ecef3305fe4699eab;hp=f62f837900ded90ca0ea85012f4c8fbe0ce2e01e;hpb=e8a4cf558fcca1fa316205dbef2c72c67e1e6fab;p=platform%2Fupstream%2Fconnman.git diff --git a/client/ins.c b/client/ins.c index f62f837..6403f61 100755 --- a/client/ins.c +++ b/client/ins.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -35,6 +36,25 @@ #include "ins.h" +#define BOOLSTR(s) (((s) == true) ? "TRUE" : "FALSE") + +struct ins_info_s { + struct { + bool last_user_selection; + bool last_connected; + bool security_priority; + bool internet_connection; + bool frequency; + bool strength; + } ssid; + struct { + bool last_connected; + bool assoc_reject; + bool frequency; + bool strength; + } bssid; +}; + struct bssid_info_s { char *bssid; unsigned int strength; @@ -61,7 +81,7 @@ static void print_bssid_info(gpointer value, gpointer user_data) (*bssid_rank)++; } -static GSList *get_bssid_list(DBusMessageIter *iter) +static GSList *get_bssid_list(DBusMessageIter *iter, struct ins_info_s *ins_info) { char *property; DBusMessageIter entry, val; @@ -90,11 +110,15 @@ static GSList *get_bssid_list(DBusMessageIter *iter) dbus_message_iter_next(&entry); dbus_message_iter_recurse(&entry, &val); dbus_message_iter_get_basic(&val, &(bssid_info->score_last_connected)); + if (bssid_info->score_last_connected) + ins_info->bssid.last_connected = true; } else if (strcmp(property, "ScoreAssocReject") == 0) { dbus_message_iter_next(&entry); dbus_message_iter_recurse(&entry, &val); dbus_message_iter_get_basic(&val, &(bssid_info->score_assoc_reject)); + if (bssid_info->score_assoc_reject) + ins_info->bssid.assoc_reject = true; } else if (strcmp(property, "Frequency") == 0) { dbus_message_iter_next(&entry); @@ -105,6 +129,8 @@ static GSList *get_bssid_list(DBusMessageIter *iter) dbus_message_iter_next(&entry); dbus_message_iter_recurse(&entry, &val); dbus_message_iter_get_basic(&val, &(bssid_info->score_frequency)); + if (bssid_info->score_frequency) + ins_info->bssid.frequency = true; } else if (strcmp(property, "Strength") == 0) { dbus_message_iter_next(&entry); @@ -115,6 +141,8 @@ static GSList *get_bssid_list(DBusMessageIter *iter) dbus_message_iter_next(&entry); dbus_message_iter_recurse(&entry, &val); dbus_message_iter_get_basic(&val, &(bssid_info->score_strength)); + if (bssid_info->score_strength) + ins_info->bssid.strength = true; bssid_list = g_slist_append(bssid_list, bssid_info); } @@ -125,7 +153,8 @@ static GSList *get_bssid_list(DBusMessageIter *iter) return bssid_list; } -static void print_ins_info(int *rank, char *path, char *filter, DBusMessageIter *iter) +static void print_ins_info(int *rank, struct ins_info_s *ins_info, + char *path, char *filter, DBusMessageIter *iter) { char *name = ""; char *security; @@ -162,11 +191,15 @@ static void print_ins_info(int *rank, char *path, char *filter, DBusMessageIter dbus_message_iter_next(&entry); dbus_message_iter_recurse(&entry, &val); dbus_message_iter_get_basic(&val, &score_last_user_selection); + if (score_last_user_selection) + ins_info->ssid.last_user_selection = true; } else if (strcmp(property, "ScoreLastConnected") == 0) { dbus_message_iter_next(&entry); dbus_message_iter_recurse(&entry, &val); dbus_message_iter_get_basic(&val, &score_last_connected); + if (score_last_connected) + ins_info->ssid.last_connected = true; } else if (strcmp(property, "Security") == 0) { dbus_message_iter_next(&entry); @@ -177,6 +210,8 @@ static void print_ins_info(int *rank, char *path, char *filter, DBusMessageIter dbus_message_iter_next(&entry); dbus_message_iter_recurse(&entry, &val); dbus_message_iter_get_basic(&val, &score_security_priority); + if (score_security_priority) + ins_info->ssid.security_priority = true; } else if (strcmp(property, "Strength") == 0) { dbus_message_iter_next(&entry); @@ -187,11 +222,15 @@ static void print_ins_info(int *rank, char *path, char *filter, DBusMessageIter dbus_message_iter_next(&entry); dbus_message_iter_recurse(&entry, &val); dbus_message_iter_get_basic(&val, &score_strength); + if (score_strength) + ins_info->ssid.strength = true; } else if (strcmp(property, "ScoreInternetConnection") == 0) { dbus_message_iter_next(&entry); dbus_message_iter_recurse(&entry, &val); dbus_message_iter_get_basic(&val, &score_internet_connection); + if (score_internet_connection) + ins_info->ssid.internet_connection = true; } else if (strcmp(property, "Frequency") == 0) { dbus_message_iter_next(&entry); @@ -202,6 +241,8 @@ static void print_ins_info(int *rank, char *path, char *filter, DBusMessageIter dbus_message_iter_next(&entry); dbus_message_iter_recurse(&entry, &val); dbus_message_iter_get_basic(&val, &score_frequency); + if (score_frequency) + ins_info->ssid.frequency = true; } else if (strcmp(property, "BSSID.List") == 0) { dbus_message_iter_next(&entry); @@ -209,7 +250,7 @@ static void print_ins_info(int *rank, char *path, char *filter, DBusMessageIter if (dbus_message_iter_get_arg_type(&val) == DBUS_TYPE_ARRAY) { dbus_message_iter_recurse(&val, &dict); - bssid_list = get_bssid_list(&dict); + bssid_list = get_bssid_list(&dict, ins_info); } } @@ -251,6 +292,9 @@ static void list_ins_array(DBusMessageIter *iter, char *filter) DBusMessageIter array, dict; char *path = NULL; int rank = 1; + struct ins_info_s ins_info; + + memset(&ins_info, 0, sizeof(ins_info)); while (dbus_message_iter_get_arg_type(iter) == DBUS_TYPE_STRUCT) { @@ -265,11 +309,22 @@ static void list_ins_array(DBusMessageIter *iter, char *filter) if (dbus_message_iter_get_arg_type(&array) == DBUS_TYPE_ARRAY) { dbus_message_iter_recurse(&array, &dict); - print_ins_info(&rank, path, filter, &dict); + print_ins_info(&rank, &ins_info, path, filter, &dict); } dbus_message_iter_next(iter); } + + fprintf(stdout, "\n"); + fprintf(stdout, " [SSID] last_usr[%s] last_conn[%s] " + "sec_priority[%s] internet[%s] freq[%s] strength[%s]\n", + BOOLSTR(ins_info.ssid.last_user_selection), BOOLSTR(ins_info.ssid.last_connected), + BOOLSTR(ins_info.ssid.security_priority), BOOLSTR(ins_info.ssid.internet_connection), + BOOLSTR(ins_info.ssid.frequency), BOOLSTR(ins_info.ssid.strength)); + + fprintf(stdout, " [BSSID] last_conn[%s] assoc_reject[%s] freq[%s] strength[%s]\n", + BOOLSTR(ins_info.bssid.last_connected), BOOLSTR(ins_info.bssid.assoc_reject), + BOOLSTR(ins_info.bssid.frequency), BOOLSTR(ins_info.bssid.strength)); } void __connmanctl_ins_list(DBusMessageIter *iter, char *filter)