The vendor and model information is returned in service Ethernet property. --- src/ipconfig.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/src/ipconfig.c b/src/ipconfig.c index e2b6576..05997bc 100644 --- a/src/ipconfig.c +++ b/src/ipconfig.c @@ -85,6 +85,9 @@ struct connman_ipdevice { gboolean ipv6_enabled; int ipv6_privacy; + + char *vendor; + char *model; }; static GHashTable *ipdevice_hash = NULL; @@ -540,6 +543,8 @@ static void free_ipdevice(gpointer data) set_ipv6_privacy(ipdevice->ifname, ipdevice->ipv6_privacy); g_free(ipdevice->ifname); + g_free(ipdevice->vendor); + g_free(ipdevice->model); g_free(ipdevice); } @@ -648,6 +653,9 @@ void __connman_ipconfig_newlink(int index, unsigned short type, ipdevice->address = g_strdup(address); + __connman_inet_get_vendor_model(ipdevice->ifname, &ipdevice->vendor, + &ipdevice->model); + g_hash_table_insert(ipdevice_hash, GINT_TO_POINTER(index), ipdevice); connman_info("%s {create} index %d type %d <%s>", ipdevice->ifname, @@ -2230,6 +2238,14 @@ void __connman_ipconfig_append_ethernet(struct connman_ipconfig *ipconfig, if (ipdevice->mtu > 0) connman_dbus_dict_append_basic(iter, "MTU", DBUS_TYPE_UINT16, &ipdevice->mtu); + + if (ipdevice->vendor != NULL && ipdevice->vendor[0] != '\0') + connman_dbus_dict_append_basic(iter, "Vendor", + DBUS_TYPE_STRING, &ipdevice->vendor); + + if (ipdevice->model != NULL && ipdevice->model[0] != '\0') + connman_dbus_dict_append_basic(iter, "Model", + DBUS_TYPE_STRING, &ipdevice->model); } int __connman_ipconfig_load(struct connman_ipconfig *ipconfig, -- 1.7.9.5 _______________________________________________ connman mailing list connman@connman.net http://lists.connman.net/listinfo/connman