* services.
*
* @param service path to get property.
+ * @param count where to return the number of elements in @a security
* @param security where to store the property value, must be a pointer
- * to E_Connman_Array, it will not be allocated or
+ * to array of strings, it will not be allocated or
* copied and references will be valid until element changes,
* so copy it if you want to use it later.
*
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise.
*/
Eina_Bool
-e_connman_service_security_get(const E_Connman_Element *service, const E_Connman_Array **security)
+e_connman_service_security_get(const E_Connman_Element *service, unsigned int *count, const char ***security)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(service, EINA_FALSE);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(count, EINA_FALSE);
EINA_SAFETY_ON_NULL_RETURN_VAL(security, EINA_FALSE);
- return e_connman_element_property_get_stringshared
- (service, e_connman_prop_security, NULL, security);
+
+ return e_connman_element_strings_array_get_stringshared
+ (service, e_connman_prop_security, count, security);
}
/**
* strings are not copied in any way, and they are granted to
* be eina_stringshare instances, so one can use
* eina_stringshare_ref() if he wants to save memory and cpu to
- * get an extra reference. The array itself is allocated using
- * malloc() and should be freed after usage is done. This
- * pointer is just set if return is @c EINA_TRUE.
+ * get an extra reference. The array itself is also NOT
+ * allocated or copied, do not modify it. This pointer is just
+ * set if return is @c EINA_TRUE.
*
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise.
*/
* strings are not copied in any way, and they are granted to
* be eina_stringshare instances, so one can use
* eina_stringshare_ref() if he wants to save memory and cpu to
- * get an extra reference. The array itself is allocated using
- * malloc() and should be freed after usage is done. This
- * pointer is just set if return is @c EINA_TRUE.
+ * get an extra reference. The array itself is also NOT
+ * allocated or copied, do not modify it. This pointer is just
+ * set if return is @c EINA_TRUE.
*
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise.
*/
EINA_SAFETY_ON_NULL_RETURN_VAL(nameservers, EINA_FALSE);
EINA_SAFETY_ON_NULL_RETURN_VAL(count, EINA_FALSE);
return e_connman_element_strings_array_get_stringshared
- (service, e_connman_prop_nameservers_configuration, count, nameservers);
+ (service, e_connman_prop_nameservers_configuration,
+ count, nameservers);
}
/**
* @see e_connman_service_nameservers_configuration_get()
*/
Eina_Bool
-e_connman_service_nameservers_configuration_set(E_Connman_Element *service, Eina_List *nameservers, E_DBus_Method_Return_Cb cb, const void *data)
+e_connman_service_nameservers_configuration_set(E_Connman_Element *service, unsigned int count, const char **nameservers, E_DBus_Method_Return_Cb cb, const void *data)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(service, EINA_FALSE);
EINA_SAFETY_ON_NULL_RETURN_VAL(nameservers, EINA_FALSE);
return e_connman_element_property_array_set_full
(service, e_connman_prop_nameservers_configuration,
- DBUS_TYPE_STRING, nameservers, cb, data);
+ DBUS_TYPE_STRING, count,
+ (const void * const *)nameservers, cb, data);
}
/**
* strings are not copied in any way, and they are granted to
* be eina_stringshare instances, so one can use
* eina_stringshare_ref() if he wants to save memory and cpu to
- * get an extra reference. The array itself is allocated using
- * malloc() and should be freed after usage is done. This
- * pointer is just set if return is @c EINA_TRUE.
+ * get an extra reference. The array itself is also NOT
+ * allocated or copied, do not modify it. This pointer is just
+ * set if return is @c EINA_TRUE.
*
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise.
*/
return e_connman_element_strings_array_get_stringshared
(service, e_connman_prop_domains, count, domains);
}
+
+/**
+ * Get property "Domains.Configuration" value.
+ *
+ * If this property isn't found then @c EINA_FALSE is returned.
+ * If @c EINA_FALSE is returned, then this call failed and parameter-returned
+ * values shall be considered invalid.
+ * The list of currently active domains for this service. If the server is
+ * not in READY or ONLINE state than this list will be empty.
+ *
+ * Unlike Domains, this is the user-set value, rather than the
+ * actual value.
+ *
+ * @param service path to get property.
+ * @param count return the number of elements in array.
+ * @param domains array with pointers to internal strings. These
+ * strings are not copied in any way, and they are granted to
+ * be eina_stringshare instances, so one can use
+ * eina_stringshare_ref() if he wants to save memory and cpu to
+ * get an extra reference. The array itself is also NOT
+ * allocated or copied, do not modify it. This pointer is just
+ * set if return is @c EINA_TRUE.
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise.
+ */
+Eina_Bool
+e_connman_service_domains_configuration_get(const E_Connman_Element *service, unsigned int *count, const char ***domains)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(service, EINA_FALSE);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(domains, EINA_FALSE);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(count, EINA_FALSE);
+ return e_connman_element_strings_array_get_stringshared
+ (service, e_connman_prop_domains_configuration, count, domains);
+}
+
+/**
+ * Set property "Domains.Configuration" value.
+ *
+ * If this property isn't found then @c EINA_FALSE is returned.
+ * If @c EINA_FALSE is returned, then this call failed and parameter-returned
+ * values shall be considered invalid.
+ *
+ * Unlike Domains, this is the user-set value, rather than the actual value.
+ * It allows user to override the default setting. When using manual
+ * configuration and no global domains are configured, then it is useful to
+ * configure this setting as well.
+ *
+ * This list is sorted by priority and the first entry represents the nameserver
+ * with the highest priority.
+ *
+ * Changes to the domain name servers can be done at any time. It will not cause
+ * a disconnect of the service. However there might be small window where name
+ * resolution might fail.
+ *
+ * @param service path to set property.
+ * @param count number of elements in @a domain.
+ * @param domains sorted list of the current domains. The first one has
+ * the highest priority and is used by default.
+ * @param cb function to call when server replies or some error happens.
+ * @param data data to give to cb when it is called.
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise.
+ * @see e_connman_service_domains_configuration_get()
+ */
+Eina_Bool
+e_connman_service_domains_configuration_set(E_Connman_Element *service, unsigned int count, const char **domains, E_DBus_Method_Return_Cb cb, const void *data)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(service, EINA_FALSE);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(domains, EINA_FALSE);
+ return e_connman_element_property_array_set_full
+ (service, e_connman_prop_domains_configuration,
+ DBUS_TYPE_STRING, count,
+ (const void * const *)domains, cb, data);
+}
+
/**
* Get property "IPv4.Method" value.
*
* strings are not copied in any way, and they are granted to
* be eina_stringshare instances, so one can use
* eina_stringshare_ref() if he wants to save memory and cpu to
- * get an extra reference. The array itself is allocated using
- * malloc() and should be freed after usage is done. This
- * pointer is just set if return is @c EINA_TRUE.
+ * get an extra reference. The array itself is also NOT
+ * allocated or copied, do not modify it. This pointer is just
+ * set if return is @c EINA_TRUE.
*
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise.
*/
* strings are not copied in any way, and they are granted to
* be eina_stringshare instances, so one can use
* eina_stringshare_ref() if he wants to save memory and cpu to
- * get an extra reference. The array itself is allocated using
- * malloc() and should be freed after usage is done. This
- * pointer is just set if return is @c EINA_TRUE.
+ * get an extra reference. The array itself is also NOT
+ * allocated or copied, do not modify it. This pointer is just
+ * set if return is @c EINA_TRUE.
*
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise.
*/
* strings are not copied in any way, and they are granted to
* be eina_stringshare instances, so one can use
* eina_stringshare_ref() if he wants to save memory and cpu to
- * get an extra reference. The array itself is allocated using
- * malloc() and should be freed after usage is done. This
- * pointer is just set if return is @c EINA_TRUE.
+ * get an extra reference. The array itself is also NOT
+ * allocated or copied, do not modify it. This pointer is just
+ * set if return is @c EINA_TRUE.
*
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise.
*/
* strings are not copied in any way, and they are granted to
* be eina_stringshare instances, so one can use
* eina_stringshare_ref() if he wants to save memory and cpu to
- * get an extra reference. The array itself is allocated using
- * malloc() and should be freed after usage is done. This
- * pointer is just set if return is @c EINA_TRUE.
+ * get an extra reference. The array itself is also NOT
+ * allocated or copied, do not modify it. This pointer is just
+ * set if return is @c EINA_TRUE.
*
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise.
*/