barbieri pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7b590c126edde338b6a0ef99c6b9213062f7ecbd

commit 7b590c126edde338b6a0ef99c6b9213062f7ecbd
Author: Gustavo Sverzut Barbieri <[email protected]>
Date:   Fri Nov 4 11:47:34 2016 -0200

    eldbus/eo: improve API
    
    remove setters that do not make sense, they are set in the constructor
    functions and cannot be changed.
    
    define the Eldbus_Connection_Type in .eo, properly type functions
    using it.
---
 src/lib/eldbus/eldbus_model_connection.c  | 23 ++-----------------
 src/lib/eldbus/eldbus_model_connection.eo |  9 ++++++--
 src/lib/eldbus/eldbus_model_object.c      | 37 ++-----------------------------
 src/lib/eldbus/eldbus_model_object.eo     |  9 ++++++--
 src/lib/eldbus/eldbus_types.eot           | 10 +++++++++
 5 files changed, 28 insertions(+), 60 deletions(-)

diff --git a/src/lib/eldbus/eldbus_model_connection.c 
b/src/lib/eldbus/eldbus_model_connection.c
index 27ace02..e311c98 100644
--- a/src/lib/eldbus/eldbus_model_connection.c
+++ b/src/lib/eldbus/eldbus_model_connection.c
@@ -39,7 +39,7 @@ _eldbus_model_connection_efl_object_constructor(Eo *obj, 
Eldbus_Model_Connection
 static void
 _eldbus_model_connection_constructor(Eo *obj EINA_UNUSED,
                                      Eldbus_Model_Connection_Data *pd,
-                                     int type,
+                                     Eldbus_Connection_Type type,
                                      const char* address,
                                      Eina_Bool private)
 {
@@ -212,38 +212,19 @@ _eldbus_model_connection_address_get(Eo *obj EINA_UNUSED, 
Eldbus_Model_Connectio
    return pd->address;
 }
 
-static void
-_eldbus_model_connection_address_set(Eo *obj EINA_UNUSED, 
Eldbus_Model_Connection_Data *pd, const char *value)
-{
-   eina_stringshare_del(pd->address);
-   pd->address = eina_stringshare_add(value);
-}
-
 static Eina_Bool
 _eldbus_model_connection_private_get(Eo *obj EINA_UNUSED, 
Eldbus_Model_Connection_Data *pd)
 {
    return pd->private;
 }
 
-static void
-_eldbus_model_connection_private_set(Eo *obj EINA_UNUSED, 
Eldbus_Model_Connection_Data *pd, Eina_Bool value)
-{
-   pd->private = value;
-}
-
-static int
+static Eldbus_Connection_Type
 _eldbus_model_connection_type_get(Eo *obj EINA_UNUSED, 
Eldbus_Model_Connection_Data *pd)
 {
    return pd->type;
 }
 
 static void
-_eldbus_model_connection_type_set(Eo *obj EINA_UNUSED, 
Eldbus_Model_Connection_Data *pd, int value)
-{
-   pd->type = value;
-}
-
-static void
 _eldbus_model_connection_connect(Eldbus_Model_Connection_Data *pd)
 {
    EINA_SAFETY_ON_NULL_RETURN(pd);
diff --git a/src/lib/eldbus/eldbus_model_connection.eo 
b/src/lib/eldbus/eldbus_model_connection.eo
index 8a0a392..8d26077 100644
--- a/src/lib/eldbus/eldbus_model_connection.eo
+++ b/src/lib/eldbus/eldbus_model_connection.eo
@@ -1,3 +1,5 @@
+import eldbus_types;
+
 class Eldbus.Model.Connection (Efl.Object, Efl.Model) {
     [[Eldbus model connection class]]
 
@@ -7,25 +9,28 @@ class Eldbus.Model.Connection (Efl.Object, Efl.Model) {
 
               @since 1.16]]
             params {
-                @in type: int; [[The connection type]]
+                @in type: Eldbus.Connection.Type; [[The connection type]]
                 @in address: string; [[Remote address of DBus]]
                 @in private_: bool; [[Non shared dbus connection]]
             }
         }
     @property type {
             [[Connection type]]
+            get { }
             values {
-                type: int; [[Connection type]]
+                type: Eldbus.Connection.Type; [[Connection type]]
             }
         }
     @property address {
             [[Remote DBus address]]
+            get { }
             values {
                 address: string; [[Address]]
             }
         }
     @property private {
             [[Indicate if the DBus connection is shared or private]]
+            get { }
             values {
                 private_: bool; [[Private DBus connection]]
             }
diff --git a/src/lib/eldbus/eldbus_model_object.c 
b/src/lib/eldbus/eldbus_model_object.c
index a03030b..b359eaf 100644
--- a/src/lib/eldbus/eldbus_model_object.c
+++ b/src/lib/eldbus/eldbus_model_object.c
@@ -48,7 +48,7 @@ _eldbus_model_object_efl_object_constructor(Eo *obj, 
Eldbus_Model_Object_Data *p
 static void
 _eldbus_model_object_constructor(Eo *obj EINA_UNUSED,
                                  Eldbus_Model_Object_Data *pd,
-                                 int type,
+                                 Eldbus_Connection_Type type,
                                  const char* address,
                                  Eina_Bool private,
                                  const char* bus,
@@ -231,50 +231,24 @@ _eldbus_model_object_address_get(Eo *obj EINA_UNUSED, 
Eldbus_Model_Object_Data *
    return pd->address;
 }
 
-static void
-_eldbus_model_object_address_set(Eo *obj EINA_UNUSED, Eldbus_Model_Object_Data 
*pd, const char *value)
-{
-   eina_stringshare_del(pd->address);
-   pd->address = eina_stringshare_add(value);
-}
-
 static Eina_Bool
 _eldbus_model_object_private_get(Eo *obj EINA_UNUSED, Eldbus_Model_Object_Data 
*pd)
 {
    return pd->private;
 }
 
-static void
-_eldbus_model_object_private_set(Eo *obj EINA_UNUSED, Eldbus_Model_Object_Data 
*pd, Eina_Bool value)
-{
-   pd->private = value;
-}
-
-static int
+static Eldbus_Connection_Type
 _eldbus_model_object_type_get(Eo *obj EINA_UNUSED, Eldbus_Model_Object_Data 
*pd)
 {
    return pd->type;
 }
 
-static void
-_eldbus_model_object_type_set(Eo *obj EINA_UNUSED, Eldbus_Model_Object_Data 
*pd, int value)
-{
-   pd->type = value;
-}
-
 static const char *
 _eldbus_model_object_bus_get(Eo *obj EINA_UNUSED, Eldbus_Model_Object_Data *pd)
 {
    return pd->bus;
 }
 
-static void
-_eldbus_model_object_bus_set(Eo *obj EINA_UNUSED, Eldbus_Model_Object_Data 
*pd, const char *value)
-{
-   eina_stringshare_del(pd->bus);
-   pd->bus = eina_stringshare_add(value);
-}
-
 static const char *
 _eldbus_model_object_path_get(Eo *obj EINA_UNUSED, Eldbus_Model_Object_Data 
*pd)
 {
@@ -282,13 +256,6 @@ _eldbus_model_object_path_get(Eo *obj EINA_UNUSED, 
Eldbus_Model_Object_Data *pd)
 }
 
 static void
-_eldbus_model_object_path_set(Eo *obj EINA_UNUSED, Eldbus_Model_Object_Data 
*pd, const char *value)
-{
-   eina_stringshare_del(pd->path);
-   pd->path = eina_stringshare_add(value);
-}
-
-static void
 _eldbus_model_object_connect(Eldbus_Model_Object_Data *pd)
 {
    EINA_SAFETY_ON_NULL_RETURN(pd);
diff --git a/src/lib/eldbus/eldbus_model_object.eo 
b/src/lib/eldbus/eldbus_model_object.eo
index f02e8bb..fde1120 100644
--- a/src/lib/eldbus/eldbus_model_object.eo
+++ b/src/lib/eldbus/eldbus_model_object.eo
@@ -10,7 +10,7 @@ class Eldbus.Model.Object (Efl.Object, Efl.Model) {
 
               @since 1.16]]
             params {
-                @in type: int; [[The connection type]]
+                @in type: Eldbus.Connection.Type; [[The connection type]]
                 @in address: string; [[Remote address of DBus]]
                 @in private_: bool; [[Non shared DBus connection]]
                 @in bus: string; [[DBus Name or unique-id]]
@@ -29,30 +29,35 @@ class Eldbus.Model.Object (Efl.Object, Efl.Model) {
         }
     @property type {
             [[Connection type]]
+            get { }
             values {
-                type: int; [[Connection type]]
+                type: Eldbus.Connection.Type; [[Connection type]]
             }
         }
     @property address {
             [[Remote address of DBus]]
+            get { }
             values {
                 address: string; [[Address]]
             }
         }
     @property private {
             [[Indicate if the DBus connection is shared or private]]
+            get { }
             values {
                 private_: bool; [[Private DBus connection]]
             }
         }
     @property bus {
             [[DBus Name or unique-id]]
+            get { }
             values {
                 bus: string; [[DBus name]]
             }
         }
     @property path {
             [[DBus path]]
+            get { }
             values {
                 path: string; [[DBus path]]
             }
diff --git a/src/lib/eldbus/eldbus_types.eot b/src/lib/eldbus/eldbus_types.eot
index 5db9054..a4db94e 100644
--- a/src/lib/eldbus/eldbus_types.eot
+++ b/src/lib/eldbus/eldbus_types.eot
@@ -4,6 +4,16 @@ struct Eldbus.Proxy; [[Represents a client object bound to an 
interface]]
 struct Eldbus.Connection; [[Represents a connection of one the type of 
connection with the DBus daemon.]]
 struct Eldbus.Object; [[Represents an object path already attached with bus 
name or unique id]]
 
+enum @extern Eldbus.Connection.Type
+{
+    unknown = 0, [[sentinel, not a real type]]
+    session, [[regular user session bus, used for applications and services 
running per user]]
+    system, [[system-wide connection bus, used for system services]]
+    starter, [[Uses whatever bus started our application, be session or 
system]]
+    address, [[A private bus at a specific address]]
+    last, [[sentinel, not a real type]]
+}
+
 enum Eldbus.Introspection.Argument_Direction
 {
    [[Argument direction]]

-- 


Reply via email to