int _net_dbus_get_state(char* state);
int _net_dbus_get_ethernet_cable_state(int *state);
int _net_dbus_get_metered_state(int *state);
+int _net_dbus_get_preferred_ipv6_address(const char *profilename, char **address);
int _net_dbus_set_agent_passphrase_and_connect(
const char *passphrase, const char *profilename);
int _net_dbus_get_wps_pin(char **wps_pin);
return Error;
}
+/**
+ * @fn EXPORT_API int net_get_preferred_ipv6_address(char **address)
+ *
+ * This function is to get preferred ipv6 address.
+ * This is Sync API.
+ *
+ * @return 0 - on success, negative values for errors
+ * @param[in] const char *profile - profile name
+ * @param[out] char **address - preferred ipv6 address of specific profile
+ */
+EXPORT_API int net_get_preferred_ipv6_address(const char *profilename, char **address)
+{
+ __NETWORK_FUNC_ENTER__;
+ net_err_t Error = NET_ERR_NONE;
+
+ Error = _net_dbus_get_preferred_ipv6_address(profilename, address);
+
+ if (Error != NET_ERR_NONE)
+ NETWORK_LOG(NETWORK_ERROR, "_net_dbus_get_preferred_ipv6_address failed\n");
+
+ __NETWORK_FUNC_EXIT__;
+ return Error;
+}
+
/*****************************************************************************
* ConnMan Wi-Fi Client Interface Async Function Definition
*****************************************************************************/
if (connection == NULL) {
NETWORK_LOG(NETWORK_ERROR, "GDBusconnection is NULL");
*dbus_error = NET_ERR_APP_NOT_REGISTERED;
+ if (params)
+ g_variant_unref(params);
return reply;
}
return Error;
}
+int _net_dbus_get_preferred_ipv6_address(const char *profilename, char **address)
+{
+ __NETWORK_FUNC_ENTER__;
+
+ net_err_t Error = NET_ERR_NONE;
+ GVariant *message = NULL;
+ GVariant *params = NULL;
+
+ if (address == NULL) {
+ NETWORK_LOG(NETWORK_ERROR, "Invalid Parameter\n");
+ __NETWORK_FUNC_EXIT__;
+ return NET_ERR_INVALID_PARAM;
+ }
+
+ params = g_variant_new("(s)", profilename);
+ message = _net_invoke_dbus_method(NETCONFIG_SERVICE, NETCONFIG_NETWORK_PATH,
+ NETCONFIG_NETWORK_INTERFACE, "PreferredIpv6Address", params, &Error);
+ if (message == NULL) {
+ NETWORK_LOG(NETWORK_ERROR, "Failed to get preferred IPv6 address\n");
+ __NETWORK_FUNC_EXIT__;
+ return Error;
+ }
+
+ g_variant_get(message, "(s)", address);
+
+ NETWORK_LOG(NETWORK_LOW, "Preferred IPv6 Address [%s]\n", *address);
+
+ g_variant_unref(message);
+
+ __NETWORK_FUNC_EXIT__;
+ return Error;
+}
+
int _net_dbus_set_eap_config_fields_and_connect(
const net_wifi_connect_service_info_t *wifi_info,
const char *profilename)