struct connman_element *element = data;
DBusMessage *reply;
DBusMessageIter array, dict;
+ const char *method = NULL;
+ const char *address = NULL, *netmask = NULL, *gateway = NULL;
DBG("conn %p", conn);
connman_dbus_dict_append_variant(&dict, "Default",
DBUS_TYPE_BOOLEAN, &element->enabled);
+ connman_element_get_value(element,
+ CONNMAN_PROPERTY_ID_IPV4_METHOD, &method);
+
+ connman_element_get_value(element,
+ CONNMAN_PROPERTY_ID_IPV4_ADDRESS, &address);
+ connman_element_get_value(element,
+ CONNMAN_PROPERTY_ID_IPV4_NETMASK, &netmask);
+ connman_element_get_value(element,
+ CONNMAN_PROPERTY_ID_IPV4_GATEWAY, &gateway);
+
+ if (method != NULL)
+ connman_dbus_dict_append_variant(&dict, "IPv4.Method",
+ DBUS_TYPE_STRING, &method);
+
+ if (address != NULL)
+ connman_dbus_dict_append_variant(&dict, "IPv4.Address",
+ DBUS_TYPE_STRING, &address);
+
+ if (netmask != NULL)
+ connman_dbus_dict_append_variant(&dict, "IPv4.Netmask",
+ DBUS_TYPE_STRING, &netmask);
+
+ if (gateway != NULL)
+ connman_dbus_dict_append_variant(&dict, "IPv4.Gateway",
+ DBUS_TYPE_STRING, &gateway);
+
dbus_message_iter_close_container(&array, &dict);
return reply;
return -EINVAL;
switch (id) {
+ case CONNMAN_PROPERTY_ID_IPV4_METHOD:
+ if (element->ipv4.method == CONNMAN_IPV4_METHOD_UNKNOWN)
+ return connman_element_get_value(element->parent,
+ id, value);
+ __connman_element_lock(element);
+ *((const char **) value) = __connman_ipv4_method2string(element->ipv4.method);
+ __connman_element_unlock(element);
+ break;
case CONNMAN_PROPERTY_ID_IPV4_ADDRESS:
if (element->ipv4.address == NULL)
return connman_element_get_value(element->parent,
}
}
+ if (element->type == CONNMAN_ELEMENT_TYPE_DHCP)
+ element->ipv4.method = CONNMAN_IPV4_METHOD_DHCP;
+
element->parent = parent;
__connman_element_unlock(element);