forked from enlightenment/efl
efl: make Efl.Model.properties_get return an Iterator<string>.
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7289
This commit is contained in:
parent
aac7d099a1
commit
d4d44d76f3
|
@ -64,17 +64,16 @@ EFL_CALLBACKS_ARRAY_DEFINE(child_cbs,
|
|||
static void
|
||||
process(Eo *child, unsigned int index)
|
||||
{
|
||||
Eina_Array *properties = efl_model_properties_get(child);
|
||||
Eina_Iterator *properties = efl_model_properties_get(child);
|
||||
const char *property;
|
||||
Eina_Array_Iterator it;
|
||||
Eina_Strbuf *buf;
|
||||
unsigned int i;
|
||||
Eina_Bool noproperties = EINA_TRUE;
|
||||
|
||||
buf = eina_strbuf_new();
|
||||
|
||||
const char *name = eldbus_model_proxy_name_get(child);
|
||||
|
||||
EINA_ARRAY_ITER_NEXT(properties, i, property, it)
|
||||
EINA_ITERATOR_FOREACH(properties, property)
|
||||
{
|
||||
Eina_Value *v = efl_model_property_get(child, property);
|
||||
char *str;
|
||||
|
@ -90,16 +89,18 @@ process(Eo *child, unsigned int index)
|
|||
free(str);
|
||||
|
||||
eina_value_free(v);
|
||||
}
|
||||
|
||||
if (eina_array_count(properties) <= 0)
|
||||
noproperties = EINA_FALSE;
|
||||
}
|
||||
eina_iterator_free(properties);
|
||||
|
||||
if (noproperties)
|
||||
eina_strbuf_append_printf(buf, " %2d: %s (no properties yet)\n", index, name);
|
||||
else
|
||||
eina_strbuf_prepend_printf(buf, " -> %s\n Properties:\n", name);
|
||||
|
||||
printf("%s", eina_strbuf_string_get(buf));
|
||||
|
||||
eina_array_free(properties);
|
||||
eina_strbuf_free(buf);
|
||||
|
||||
efl_ref(child);
|
||||
|
|
|
@ -69,7 +69,7 @@ _efl_model_composite_efl_model_property_get(const Eo *obj EINA_UNUSED, Efl_Model
|
|||
return efl_model_property_get(pd->source, property);
|
||||
}
|
||||
|
||||
static Eina_Array *
|
||||
static Eina_Iterator *
|
||||
_efl_model_composite_efl_model_properties_get(const Eo *obj EINA_UNUSED, Efl_Model_Composite_Data *pd)
|
||||
{
|
||||
return efl_model_properties_get(pd->source);
|
||||
|
|
|
@ -67,23 +67,20 @@ _efl_model_composite_boolean_children_efl_object_finalize(Eo *obj,
|
|||
return obj;
|
||||
}
|
||||
|
||||
static Eina_Array *
|
||||
static Eina_Iterator *
|
||||
_efl_model_composite_boolean_children_efl_model_properties_get(const Eo *obj,
|
||||
Efl_Model_Composite_Boolean_Children_Data *pd)
|
||||
{
|
||||
Eina_Iterator *it;
|
||||
Eina_Stringshare *s;
|
||||
Eina_Array *r;
|
||||
Eina_Iterator *its;
|
||||
Eina_Iterator *itr;
|
||||
|
||||
r = efl_model_properties_get(efl_super(obj, EFL_MODEL_COMPOSITE_BOOLEAN_CHILDREN_CLASS));
|
||||
if (!r) r = eina_array_new(1);
|
||||
its = efl_model_properties_get(efl_super(obj, EFL_MODEL_COMPOSITE_BOOLEAN_CHILDREN_CLASS));
|
||||
itr = eina_hash_iterator_key_new(pd->parent->values);
|
||||
|
||||
it = eina_hash_iterator_key_new(pd->parent->values);
|
||||
EINA_ITERATOR_FOREACH(it, s)
|
||||
eina_array_push(r, s);
|
||||
eina_array_push(r, "child.index");
|
||||
if (!its) return itr;
|
||||
if (!itr) return its;
|
||||
|
||||
return r;
|
||||
return eina_multi_iterator_new(its, itr);
|
||||
}
|
||||
|
||||
static Eina_Value *
|
||||
|
|
|
@ -225,20 +225,10 @@ _efl_model_container_child_property_add(Eo *obj,
|
|||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
static Eina_Array *
|
||||
static Eina_Iterator *
|
||||
_efl_model_container_efl_model_properties_get(const Eo *obj EINA_UNUSED, Efl_Model_Container_Data *sd)
|
||||
{
|
||||
Eina_Iterator *it;
|
||||
Eina_Array *r;
|
||||
Eina_Stringshare *s;
|
||||
|
||||
r = eina_array_new(1);
|
||||
it = eina_hash_iterator_key_new(sd->properties);
|
||||
EINA_ITERATOR_FOREACH(it, s)
|
||||
eina_array_push(r, eina_stringshare_ref(s));
|
||||
eina_iterator_free(it);
|
||||
|
||||
return r;
|
||||
return eina_hash_iterator_key_new(sd->properties);
|
||||
}
|
||||
|
||||
static Eina_Future *
|
||||
|
|
|
@ -25,7 +25,7 @@ _efl_model_container_item_efl_object_invalidate(Eo *obj, Efl_Model_Container_Ite
|
|||
sd->index = 0;
|
||||
}
|
||||
|
||||
static Eina_Array *
|
||||
static Eina_Iterator *
|
||||
_efl_model_container_item_efl_model_properties_get(const Eo *obj EINA_UNUSED, Efl_Model_Container_Item_Data *sd)
|
||||
{
|
||||
// FIXME: Not to sure here, shouldn't we extend a child of the parent actually ?
|
||||
|
|
|
@ -13,7 +13,6 @@ typedef struct _Efl_Model_Item_Data Efl_Model_Item_Data;
|
|||
struct _Efl_Model_Item_Data
|
||||
{
|
||||
Eina_Hash *properties;
|
||||
Eina_Array *defined_properties;
|
||||
Eina_List *childrens;
|
||||
};
|
||||
|
||||
|
@ -38,7 +37,6 @@ _efl_model_item_efl_object_constructor(Eo *obj, Efl_Model_Item_Data *sd)
|
|||
return NULL;
|
||||
|
||||
sd->properties = eina_hash_stringshared_new(_item_value_free_cb);
|
||||
sd->defined_properties = eina_array_new(8);
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
@ -57,15 +55,13 @@ _efl_model_item_efl_object_destructor(Eo *obj, Efl_Model_Item_Data *sd)
|
|||
eina_hash_foreach(sd->properties, _stringshared_keys_free, NULL);
|
||||
eina_hash_free(sd->properties);
|
||||
|
||||
eina_array_free(sd->defined_properties);
|
||||
|
||||
efl_destructor(efl_super(obj, MY_CLASS));
|
||||
}
|
||||
|
||||
static Eina_Array *
|
||||
static Eina_Iterator *
|
||||
_efl_model_item_efl_model_properties_get(const Eo *obj EINA_UNUSED, Efl_Model_Item_Data *pd)
|
||||
{
|
||||
return pd->defined_properties;
|
||||
return eina_hash_iterator_key_new(pd->properties);
|
||||
}
|
||||
|
||||
static Eina_Future *
|
||||
|
|
|
@ -33,7 +33,7 @@ interface Efl.Model ()
|
|||
]]
|
||||
}
|
||||
values {
|
||||
properties: array<string>; [[Array of current properties]]
|
||||
properties: iterator<string> @owned; [[Array of current properties]]
|
||||
}
|
||||
}
|
||||
@property property {
|
||||
|
|
|
@ -631,18 +631,11 @@ static struct {
|
|||
/**
|
||||
* Interfaces impl.
|
||||
*/
|
||||
static Eina_Array *
|
||||
static Eina_Iterator *
|
||||
_eio_model_efl_model_properties_get(const Eo *obj EINA_UNUSED,
|
||||
Eio_Model_Data *pd EINA_UNUSED)
|
||||
{
|
||||
Eina_Array *r;
|
||||
unsigned int i;
|
||||
|
||||
r = eina_array_new(4);
|
||||
for (i = 0; i < EINA_C_ARRAY_LENGTH(properties); ++i)
|
||||
eina_array_push(r, properties[i].name);
|
||||
|
||||
return r;
|
||||
return EINA_C_ARRAY_ITERATOR_NEW(properties);
|
||||
}
|
||||
|
||||
static Eina_Value *
|
||||
|
|
|
@ -152,16 +152,13 @@ _eldbus_model_efl_model_property_get(const Eo *obj,
|
|||
return eina_value_error_new(EFL_MODEL_ERROR_NOT_FOUND);
|
||||
}
|
||||
|
||||
static Eina_Array *
|
||||
static Eina_Iterator *
|
||||
_eldbus_model_efl_model_properties_get(const Eo *obj EINA_UNUSED,
|
||||
Eldbus_Model_Data *pd EINA_UNUSED)
|
||||
{
|
||||
Eina_Array *r;
|
||||
char *unique[] = { UNIQUE_NAME_PROPERTY };
|
||||
|
||||
r = eina_array_new(1);
|
||||
eina_array_push(r, eina_stringshare_add(UNIQUE_NAME_PROPERTY));
|
||||
|
||||
return r;
|
||||
return EINA_C_ARRAY_ITERATOR_NEW(unique);
|
||||
}
|
||||
|
||||
static Efl_Object *
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
#define MY_CLASS ELDBUS_MODEL_ARGUMENTS_CLASS
|
||||
#define MY_CLASS_NAME "Eldbus_Model_Arguments"
|
||||
|
||||
#define ARGUMENT_FORMAT "arg%u"
|
||||
|
||||
static void _eldbus_model_arguments_properties_load(Eldbus_Model_Arguments_Data *);
|
||||
static void _eldbus_model_arguments_unload(Eldbus_Model_Arguments_Data *);
|
||||
static Eina_Bool _eldbus_model_arguments_is_input_argument(Eldbus_Model_Arguments_Data *, const char *);
|
||||
|
@ -31,8 +29,8 @@ static Efl_Object*
|
|||
_eldbus_model_arguments_efl_object_constructor(Eo *obj, Eldbus_Model_Arguments_Data *pd)
|
||||
{
|
||||
pd->obj = obj;
|
||||
pd->properties_array = NULL;
|
||||
pd->properties_hash = eina_hash_string_superfast_new(EINA_FREE_CB(_eldbus_model_arguments_hash_free));
|
||||
// We do keep strings here as some of our API are looking for arg%u as a key instead of just indexes.
|
||||
pd->properties = eina_hash_string_superfast_new(EINA_FREE_CB(_eldbus_model_arguments_hash_free));
|
||||
pd->pending_list = NULL;
|
||||
pd->proxy = NULL;
|
||||
pd->arguments = NULL;
|
||||
|
@ -72,7 +70,7 @@ _eldbus_model_arguments_efl_object_destructor(Eo *obj, Eldbus_Model_Arguments_Da
|
|||
{
|
||||
_eldbus_model_arguments_unload(pd);
|
||||
|
||||
eina_hash_free(pd->properties_hash);
|
||||
eina_hash_free(pd->properties);
|
||||
|
||||
eina_stringshare_del(pd->name);
|
||||
eldbus_proxy_unref(pd->proxy);
|
||||
|
@ -80,14 +78,14 @@ _eldbus_model_arguments_efl_object_destructor(Eo *obj, Eldbus_Model_Arguments_Da
|
|||
efl_destructor(efl_super(obj, MY_CLASS));
|
||||
}
|
||||
|
||||
static Eina_Array *
|
||||
static Eina_Iterator *
|
||||
_eldbus_model_arguments_efl_model_properties_get(const Eo *obj EINA_UNUSED,
|
||||
Eldbus_Model_Arguments_Data *pd)
|
||||
{
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(pd, NULL);
|
||||
|
||||
_eldbus_model_arguments_properties_load(pd);
|
||||
return pd->properties_array;
|
||||
return eina_hash_iterator_key_new(pd->properties);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -96,30 +94,25 @@ _eldbus_model_arguments_properties_load(Eldbus_Model_Arguments_Data *pd)
|
|||
unsigned int arguments_count;
|
||||
unsigned int i;
|
||||
|
||||
if (pd->properties_array)
|
||||
return;
|
||||
if (eina_hash_population(pd->properties) > 0)
|
||||
return ;
|
||||
|
||||
arguments_count = eina_list_count(pd->arguments);
|
||||
|
||||
pd->properties_array = eina_array_new(arguments_count);
|
||||
EINA_SAFETY_ON_NULL_RETURN(pd->properties_array);
|
||||
|
||||
for (i = 0; i < arguments_count; ++i)
|
||||
{
|
||||
Eldbus_Introspection_Argument *arg;
|
||||
const Eina_Value_Type *type;
|
||||
Eina_Stringshare *name;
|
||||
Eina_Slstr *name;
|
||||
Eina_Value *value;
|
||||
|
||||
name = eina_stringshare_printf(ARGUMENT_FORMAT, i);
|
||||
name = eina_slstr_printf(ARGUMENT_FORMAT, i);
|
||||
if (!name) continue;
|
||||
|
||||
eina_array_push(pd->properties_array, name);
|
||||
|
||||
arg = eina_list_nth(pd->arguments, i);
|
||||
type = _dbus_type_to_eina_value_type(arg->type[0]);
|
||||
value = eina_value_new(type);
|
||||
eina_hash_add(pd->properties_hash, name, value);
|
||||
eina_hash_add(pd->properties, name, value);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -144,7 +137,7 @@ _eldbus_model_arguments_efl_model_property_set(Eo *obj,
|
|||
if (!ret) goto on_error;
|
||||
|
||||
err = EFL_MODEL_ERROR_NOT_FOUND;
|
||||
prop_value = eina_hash_find(pd->properties_hash, property);
|
||||
prop_value = eina_hash_find(pd->properties, property);
|
||||
if (!prop_value) goto on_error;
|
||||
|
||||
eina_value_flush(prop_value);
|
||||
|
@ -168,7 +161,7 @@ _eldbus_model_arguments_efl_model_property_get(const Eo *obj, Eldbus_Model_Argum
|
|||
|
||||
_eldbus_model_arguments_properties_load(pd);
|
||||
|
||||
value = eina_hash_find(pd->properties_hash, property);
|
||||
value = eina_hash_find(pd->properties, property);
|
||||
if (!value) return eina_value_error_new(EFL_MODEL_ERROR_NOT_FOUND);
|
||||
|
||||
ret = _eldbus_model_arguments_is_output_argument(pd, property);
|
||||
|
@ -193,19 +186,7 @@ _eldbus_model_arguments_unload(Eldbus_Model_Arguments_Data *pd)
|
|||
EINA_LIST_FREE(pd->pending_list, pending)
|
||||
eldbus_pending_cancel(pending);
|
||||
|
||||
if (pd->properties_array)
|
||||
{
|
||||
Eina_Stringshare *property;
|
||||
Eina_Array_Iterator it;
|
||||
unsigned int i;
|
||||
|
||||
EINA_ARRAY_ITER_NEXT(pd->properties_array, i, property, it)
|
||||
eina_stringshare_del(property);
|
||||
eina_array_free(pd->properties_array);
|
||||
pd->properties_array = NULL;
|
||||
}
|
||||
|
||||
eina_hash_free_buckets(pd->properties_hash);
|
||||
eina_hash_free_buckets(pd->properties);
|
||||
}
|
||||
|
||||
Eina_Bool
|
||||
|
@ -219,6 +200,7 @@ eldbus_model_arguments_process_arguments(Eldbus_Model_Arguments_Data *pd,
|
|||
Eina_Value *value_struct;
|
||||
Eina_Array *changed_properties;
|
||||
unsigned int i = 0;
|
||||
Eina_Stringshare *property;
|
||||
Eina_Bool result = EINA_FALSE;
|
||||
|
||||
_eldbus_model_arguments_properties_load(pd);
|
||||
|
@ -244,17 +226,15 @@ eldbus_model_arguments_process_arguments(Eldbus_Model_Arguments_Data *pd,
|
|||
{
|
||||
if (ELDBUS_INTROSPECTION_ARGUMENT_DIRECTION_IN != argument->direction)
|
||||
{
|
||||
Eina_Stringshare *property;
|
||||
Eina_Bool ret;
|
||||
|
||||
property = eina_array_data_get(pd->properties_array, i);
|
||||
EINA_SAFETY_ON_NULL_GOTO(property, on_error);
|
||||
|
||||
ret = _eldbus_model_arguments_property_set(pd, value_struct, property);
|
||||
EINA_SAFETY_ON_FALSE_GOTO(ret, on_error);
|
||||
property = eina_stringshare_printf(ARGUMENT_FORMAT, i);
|
||||
|
||||
ret = eina_array_push(changed_properties, property);
|
||||
EINA_SAFETY_ON_FALSE_GOTO(ret, on_error);
|
||||
|
||||
ret = _eldbus_model_arguments_property_set(pd, value_struct, property);
|
||||
EINA_SAFETY_ON_FALSE_GOTO(ret, on_error);
|
||||
}
|
||||
|
||||
++i;
|
||||
|
@ -269,6 +249,8 @@ eldbus_model_arguments_process_arguments(Eldbus_Model_Arguments_Data *pd,
|
|||
result = EINA_TRUE;
|
||||
|
||||
on_error:
|
||||
while (property = eina_array_pop(changed_properties))
|
||||
eina_stringshare_del(property);
|
||||
eina_array_free(changed_properties);
|
||||
eina_value_free(value_struct);
|
||||
|
||||
|
@ -286,7 +268,7 @@ _eldbus_model_arguments_property_set(Eldbus_Model_Arguments_Data *pd,
|
|||
|
||||
_eldbus_model_arguments_properties_load(pd);
|
||||
|
||||
prop_value = eina_hash_find(pd->properties_hash, property);
|
||||
prop_value = eina_hash_find(pd->properties, property);
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(prop_value, EINA_FALSE);
|
||||
|
||||
ret = eina_value_struct_value_get(value_struct, "arg0", &value);
|
||||
|
@ -311,7 +293,7 @@ _eldbus_model_arguments_is(Eldbus_Model_Arguments_Data *pd,
|
|||
_eldbus_model_arguments_properties_load(pd);
|
||||
|
||||
i = _eldbus_model_arguments_argument_index_get(pd, argument);
|
||||
if (i >= eina_array_count(pd->properties_array))
|
||||
if (i >= eina_hash_population(pd->properties))
|
||||
{
|
||||
WRN("Argument not found: %s", argument);
|
||||
return false;
|
||||
|
@ -342,15 +324,10 @@ _eldbus_model_arguments_argument_index_get(Eldbus_Model_Arguments_Data *pd, cons
|
|||
Eina_Stringshare *name;
|
||||
Eina_Array_Iterator it;
|
||||
unsigned int i = 0;
|
||||
_eldbus_model_arguments_properties_load(pd);
|
||||
|
||||
EINA_ARRAY_ITER_NEXT(pd->properties_array, i, name, it)
|
||||
{
|
||||
if (strcmp(name, argument) == 0)
|
||||
return i;
|
||||
}
|
||||
|
||||
return ++i;
|
||||
if (sscanf(argument, ARGUMENT_FORMAT, &i) > 0)
|
||||
return i;
|
||||
return eina_hash_population(pd->properties);
|
||||
}
|
||||
|
||||
#include "eldbus_model_arguments.eo.c"
|
||||
|
|
|
@ -14,8 +14,7 @@ struct _Eldbus_Model_Arguments_Data
|
|||
{
|
||||
Eo *obj;
|
||||
Eldbus_Proxy *proxy;
|
||||
Eina_Array *properties_array;
|
||||
Eina_Hash *properties_hash;
|
||||
Eina_Hash *properties;
|
||||
Eina_Stringshare *name;
|
||||
Eina_List *pending_list;
|
||||
const Eina_List *arguments;
|
||||
|
@ -24,4 +23,6 @@ struct _Eldbus_Model_Arguments_Data
|
|||
|
||||
Eina_Bool eldbus_model_arguments_process_arguments(Eldbus_Model_Arguments_Data *, const Eldbus_Message *, Eldbus_Pending *);
|
||||
|
||||
#define ARGUMENT_FORMAT "arg%u"
|
||||
|
||||
#endif
|
||||
|
|
|
@ -69,7 +69,7 @@ _eldbus_model_method_call(Eo *obj EINA_UNUSED, Eldbus_Model_Method_Data *pd EINA
|
|||
|
||||
EINA_LIST_FOREACH(data->arguments, it, argument)
|
||||
{
|
||||
Eina_Stringshare *name;
|
||||
Eina_Slstr *name;
|
||||
const Eina_Value *value;
|
||||
const char *signature;
|
||||
Eina_Bool ret;
|
||||
|
@ -77,11 +77,10 @@ _eldbus_model_method_call(Eo *obj EINA_UNUSED, Eldbus_Model_Method_Data *pd EINA
|
|||
if (ELDBUS_INTROSPECTION_ARGUMENT_DIRECTION_IN != argument->direction)
|
||||
continue;
|
||||
|
||||
name = eina_array_data_get(data->properties_array, i);
|
||||
if (!name) continue;
|
||||
name = eina_slstr_printf(ARGUMENT_FORMAT, i);
|
||||
EINA_SAFETY_ON_NULL_GOTO(name, on_error);
|
||||
|
||||
value = eina_hash_find(data->properties_hash, name);
|
||||
value = eina_hash_find(data->properties, name);
|
||||
EINA_SAFETY_ON_NULL_GOTO(value, on_error);
|
||||
|
||||
signature = argument->type;
|
||||
|
|
|
@ -190,22 +190,11 @@ _eldbus_model_proxy_efl_object_destructor(Eo *obj, Eldbus_Model_Proxy_Data *pd)
|
|||
efl_destructor(efl_super(obj, MY_CLASS));
|
||||
}
|
||||
|
||||
static Eina_Array *
|
||||
static Eina_Iterator *
|
||||
_eldbus_model_proxy_efl_model_properties_get(const Eo *obj EINA_UNUSED,
|
||||
Eldbus_Model_Proxy_Data *pd)
|
||||
{
|
||||
Eina_Iterator *it;
|
||||
Eina_Array *r;
|
||||
Eina_Stringshare *property;
|
||||
|
||||
r = eina_array_new(4);
|
||||
|
||||
it = eina_hash_iterator_key_new(pd->properties);
|
||||
EINA_ITERATOR_FOREACH(it, property)
|
||||
eina_array_push(r, property);
|
||||
eina_iterator_free(it);
|
||||
|
||||
return r;
|
||||
return eina_hash_iterator_key_new(pd->properties);
|
||||
}
|
||||
|
||||
#define PROPERTY_EXIST 1
|
||||
|
|
|
@ -141,25 +141,25 @@ _efl_ui_list_view_efl_ui_scrollable_interactive_viewport_geometry_get(const Eo *
|
|||
static Eina_Bool
|
||||
_efl_model_properties_has(Efl_Model *model, Eina_Stringshare *propfind)
|
||||
{
|
||||
const Eina_Array *properties;
|
||||
Eina_Array_Iterator iter_prop;
|
||||
Eina_Stringshare *property;
|
||||
Eina_Iterator *properties;
|
||||
const char *property;
|
||||
Eina_Bool ret = EINA_FALSE;
|
||||
unsigned i = 0;
|
||||
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(model, EINA_FALSE);
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(propfind, EINA_FALSE);
|
||||
|
||||
properties = efl_model_properties_get(model);
|
||||
|
||||
EINA_ARRAY_ITER_NEXT(properties, i, property, iter_prop)
|
||||
EINA_ITERATOR_FOREACH(properties, property)
|
||||
{
|
||||
if (property == propfind)
|
||||
if (property == propfind ||
|
||||
!strcmp(property, propfind))
|
||||
{
|
||||
ret = EINA_TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
eina_iterator_free(properties);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -29,12 +29,18 @@ _teardown(void)
|
|||
|
||||
EFL_START_TEST(properties_get)
|
||||
{
|
||||
const Eina_Array *properties = NULL;
|
||||
Eina_Iterator *properties = NULL;
|
||||
properties = efl_model_properties_get(connection);
|
||||
ck_assert_ptr_ne(NULL, properties);
|
||||
|
||||
const unsigned int expected_properties_count = 1;
|
||||
unsigned int actual_properties_count = eina_array_count(properties);
|
||||
unsigned int actual_properties_count = 0;
|
||||
const char *prop;
|
||||
|
||||
EINA_ITERATOR_FOREACH(properties, prop)
|
||||
actual_properties_count++;
|
||||
eina_iterator_free(properties);
|
||||
|
||||
ck_assert_int_eq(expected_properties_count, actual_properties_count);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
|
|
@ -52,12 +52,17 @@ _teardown(void)
|
|||
|
||||
EFL_START_TEST(properties_get)
|
||||
{
|
||||
const Eina_Array *properties = NULL;
|
||||
Eina_Iterator *properties = NULL;
|
||||
properties = efl_model_properties_get(method);
|
||||
ck_assert_ptr_ne(NULL, properties);
|
||||
|
||||
const unsigned int expected_properties_count = 3; // a, b and result arguments of 'sum' method
|
||||
const unsigned int actual_properties_count = eina_array_count(properties);
|
||||
unsigned int actual_properties_count = 0;
|
||||
const char *prop;
|
||||
|
||||
EINA_ITERATOR_FOREACH(properties, prop)
|
||||
actual_properties_count++;
|
||||
eina_iterator_free(properties);
|
||||
ck_assert_int_eq(expected_properties_count, actual_properties_count);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
|
|
@ -29,12 +29,17 @@ _teardown(void)
|
|||
|
||||
EFL_START_TEST(properties_get)
|
||||
{
|
||||
const Eina_Array *properties = NULL;
|
||||
Eina_Iterator *properties = NULL;
|
||||
properties = efl_model_properties_get(object);
|
||||
ck_assert_ptr_ne(NULL, properties);
|
||||
|
||||
const unsigned int expected_properties_count = 1;
|
||||
unsigned int actual_properties_count = eina_array_count(properties);
|
||||
unsigned int actual_properties_count = 0;
|
||||
const char *prop;
|
||||
|
||||
EINA_ITERATOR_FOREACH(properties, prop)
|
||||
actual_properties_count++;
|
||||
eina_iterator_free(properties);
|
||||
ck_assert_int_eq(expected_properties_count, actual_properties_count);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
|
|
@ -54,7 +54,7 @@ _teardown(void)
|
|||
|
||||
EFL_START_TEST(properties_get)
|
||||
{
|
||||
const Eina_Array *properties = NULL;
|
||||
Eina_Iterator *properties = NULL;
|
||||
// ELDBUS_FDO_INTERFACE have no properties
|
||||
properties = efl_model_properties_get(dbus_proxy);
|
||||
ck_assert_ptr_ne(NULL, properties);
|
||||
|
@ -63,6 +63,7 @@ EFL_START_TEST(properties_get)
|
|||
// due to an EFL change, but a change in the DBus interface:
|
||||
// properties contains 2 properties, "Interfaces" and "Features".
|
||||
//ck_assert_int_eq(0, eina_array_count(properties));
|
||||
eina_iterator_free(properties);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
|
|
|
@ -51,12 +51,17 @@ _teardown(void)
|
|||
|
||||
EFL_START_TEST(properties_get)
|
||||
{
|
||||
const Eina_Array *properties = NULL;
|
||||
Eina_Iterator *properties = NULL;
|
||||
properties = efl_model_properties_get(pong_signal);
|
||||
ck_assert_ptr_ne(NULL, properties);
|
||||
|
||||
const unsigned int expected_properties_count = 1; // 'response' only
|
||||
const unsigned int actual_properties_count = eina_array_count(properties);
|
||||
unsigned int actual_properties_count = 0;
|
||||
const char *prop;
|
||||
|
||||
EINA_ITERATOR_FOREACH(properties, prop)
|
||||
actual_properties_count += 1;
|
||||
eina_iterator_free(properties);
|
||||
ck_assert_int_eq(expected_properties_count, actual_properties_count);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
|
|
@ -52,12 +52,17 @@ _teardown(void)
|
|||
|
||||
EFL_START_TEST(properties_get)
|
||||
{
|
||||
const Eina_Array *properties = efl_model_properties_get(fake_server_proxy);
|
||||
Eina_Iterator *properties = efl_model_properties_get(fake_server_proxy);
|
||||
ck_assert_ptr_ne(NULL, properties);
|
||||
|
||||
// FAKE_SERVER_READONLY_PROPERTY, FAKE_SERVER_WRITEONLY_PROPERTY and FAKE_SERVER_READWRITE_PROPERTY properties
|
||||
const unsigned int expected_properties_count = 3;
|
||||
const unsigned int actual_properties_count = eina_array_count(properties);
|
||||
unsigned int actual_properties_count = 0;
|
||||
const char *prop;
|
||||
|
||||
EINA_ITERATOR_FOREACH(properties, prop)
|
||||
actual_properties_count++;
|
||||
eina_iterator_free(properties);
|
||||
ck_assert_int_eq(expected_properties_count, actual_properties_count);
|
||||
|
||||
_teardown();
|
||||
|
|
Loading…
Reference in New Issue