summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGustavo Sverzut Barbieri <barbieri@profusion.mobi>2016-11-04 11:47:34 -0200
committerGustavo Sverzut Barbieri <barbieri@profusion.mobi>2016-11-04 13:19:57 -0200
commit7b590c126edde338b6a0ef99c6b9213062f7ecbd (patch)
treeb60c61161c8406b56b129fe637b2842516f3e505
parentd8ad2507bcbba6215e75dd1e76d8ade379dfe48a (diff)
downloadefl-7b590c126edde338b6a0ef99c6b9213062f7ecbd.tar.gz
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.
-rw-r--r--src/lib/eldbus/eldbus_model_connection.c23
-rw-r--r--src/lib/eldbus/eldbus_model_connection.eo9
-rw-r--r--src/lib/eldbus/eldbus_model_object.c37
-rw-r--r--src/lib/eldbus/eldbus_model_object.eo9
-rw-r--r--src/lib/eldbus/eldbus_types.eot10
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 27ace02e99..e311c9824c 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 8a0a392f3b..8d26077848 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 a03030b6a5..b359eaf5e3 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 f02e8bbef7..fde1120aa8 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 5db90543ae..a4db94e78e 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]]