connman: match upstream change to security property.
authorbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 13 Nov 2011 06:03:53 +0000 (06:03 +0000)
committerbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 13 Nov 2011 06:03:53 +0000 (06:03 +0000)
Security is now a list of security supported by access point.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/e_dbus@65119 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/bin/e_dbus_connman_test.c
src/lib/connman/E_Connman.h
src/lib/connman/e_connman_element.c
src/lib/connman/e_connman_service.c

index 109e343..99f35ea 100644 (file)
@@ -929,7 +929,8 @@ _on_cmd_service_get_mode(__UNUSED__ char *cmd, char *args)
 static Eina_Bool
 _on_cmd_service_get_security(__UNUSED__ char *cmd, char *args)
 {
-   const char *security, *path;
+   const E_Connman_Array *security;
+   const char *path;
    E_Connman_Element *e;
 
    if (!args)
@@ -942,7 +943,22 @@ _on_cmd_service_get_security(__UNUSED__ char *cmd, char *args)
 
    e = e_connman_service_get(path);
    if (e_connman_service_security_get(e, &security))
-     printf(":::Service %s Security = \"%s\"\n", path, security);
+     {
+        Eina_Array_Iterator iterator;
+        unsigned int i;
+        const char *entry;
+        if (security->type != DBUS_TYPE_STRING)
+          {
+             fprintf(stderr, "ERROR: expected type '%c' but got '%c' for "
+                     "security array.\n",
+                     DBUS_TYPE_STRING, security->type);
+             return ECORE_CALLBACK_RENEW;
+          }
+        printf(":::Service %s Security = ", path);
+        EINA_ARRAY_ITER_NEXT(security->array, i, entry, iterator)
+          printf("\"%s\", ", entry);
+        putchar('\n');
+     }
    else
      fputs("ERROR: can't get service security\n", stderr);
    return ECORE_CALLBACK_RENEW;
index 7924c06..445cf92 100644 (file)
@@ -60,6 +60,13 @@ struct _E_Connman_Element
    int          _references;
 };
 
+typedef struct _E_Connman_Array E_Connman_Array;
+struct _E_Connman_Array
+{
+   int         type;
+   Eina_Array *array;
+};
+
 /* General Public API */
 EAPI unsigned int           e_connman_system_init(E_DBus_Connection *edbus_conn) EINA_ARG_NONNULL(1);
 EAPI unsigned int           e_connman_system_shutdown(void);
@@ -128,7 +135,7 @@ EAPI Eina_Bool              e_connman_service_error_get(const E_Connman_Element
 EAPI Eina_Bool              e_connman_service_name_get(const E_Connman_Element *service, const char **name) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT;
 EAPI Eina_Bool              e_connman_service_type_get(const E_Connman_Element *service, const char **type) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT;
 EAPI Eina_Bool              e_connman_service_mode_get(const E_Connman_Element *service, const char **mode) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT;
-EAPI Eina_Bool              e_connman_service_security_get(const E_Connman_Element *service, const char **security) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT;
+EAPI Eina_Bool              e_connman_service_security_get(const E_Connman_Element *service, const E_Connman_Array **security) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT;
 
 EAPI Eina_Bool              e_connman_service_passphrase_get(const E_Connman_Element *service, const char **passphrase) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT;
 EAPI Eina_Bool              e_connman_service_passphrase_set(E_Connman_Element *service, const char *passphrase, E_DBus_Method_Return_Cb cb, const void *data) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
index 94a3b03..cfeae8f 100644 (file)
@@ -4,19 +4,12 @@
 
 static Eina_Hash *elements = NULL;
 
-typedef struct _E_Connman_Array                E_Connman_Array;
 typedef struct _E_Connman_Element_Pending      E_Connman_Element_Pending;
 typedef struct _E_Connman_Element_Call_Data    E_Connman_Element_Call_Data;
 typedef struct _E_Connman_Element_Property     E_Connman_Element_Property;
 typedef struct _E_Connman_Element_Listener     E_Connman_Element_Listener;
 typedef struct _E_Connman_Element_Dict_Entry   E_Connman_Element_Dict_Entry;
 
-struct _E_Connman_Array
-{
-   int         type;
-   Eina_Array *array;
-};
-
 struct _E_Connman_Element_Pending
 {
                            EINA_INLIST;
index ee9eee0..6bd7c1c 100644 (file)
@@ -369,24 +369,24 @@ e_connman_service_mode_get(const E_Connman_Element *service, const char **mode)
  * values shall be considered invalid.
  *
  * If the service type is WiFi, then this property is
- * present and contains the security method or key
+ * present and contains the list of security method or key
  * management setting.
  *
- * Possible values are "none", "wep", "wpa" and "rsn".
+ * Possible values are "none", "wep", "wpa", "rsn", "psk", "ieee8021x" and "wps"
  *
  * This property might be only present for WiFi
  * services.
  *
  * @param service path to get property.
  * @param security where to store the property value, must be a pointer
- *        to string (const char **), it will not be allocated or
+ *        to E_Connman_Array, 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 char **security)
+e_connman_service_security_get(const E_Connman_Element *service, const E_Connman_Array **security)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(service, EINA_FALSE);
    EINA_SAFETY_ON_NULL_RETURN_VAL(security, EINA_FALSE);