Data Structures | Macros | Typedefs | Functions
Generic Value Array management

Data Structures

struct  _Eina_Value_Array
 Used to store the array and its subtype. More...
 

Macros

#define EINA_VALUE_ARRAY_FOREACH(Array, Length, It, Value)
 Definition for the macro to iterate over an array contained in an Eina_Value. More...
 

Typedefs

typedef struct _Eina_Value_Array Eina_Value_Array
 Value type for EINA_VALUE_TYPE_ARRAY. More...
 

Functions

EINA_API Eina_Valueeina_value_array_new (const Eina_Value_Type *subtype, unsigned int step)
 Creates generic value storage of type array. More...
 
static Eina_Bool eina_value_array_setup (Eina_Value *value, const Eina_Value_Type *subtype, unsigned int step)
 Initializes generic value storage of type array. More...
 
static unsigned int eina_value_array_count (const Eina_Value *value)
 Queries number of elements in value of array type. More...
 
static Eina_Bool eina_value_array_remove (Eina_Value *value, unsigned int position)
 Removes element at given position in value of array type. More...
 
static Eina_Bool eina_value_array_set (Eina_Value *value, unsigned int position,...)
 Sets the generic value in an array member. More...
 
static Eina_Bool eina_value_array_get (const Eina_Value *value, unsigned int position,...)
 Gets the generic value from an array member. More...
 
static Eina_Bool eina_value_array_insert (Eina_Value *value, unsigned int position,...)
 Inserts a generic value in an array member position. More...
 
static Eina_Bool eina_value_array_append (Eina_Value *value,...)
 Appends a generic value in an array. More...
 
static Eina_Bool eina_value_array_vset (Eina_Value *value, unsigned int position, va_list args)
 Sets a generic value to an array member. More...
 
static Eina_Bool eina_value_array_vget (const Eina_Value *value, unsigned int position, va_list args)
 Gets the generic value from an array member. More...
 
static Eina_Bool eina_value_array_vinsert (Eina_Value *value, unsigned int position, va_list args)
 Inserts a generic value to an array member position. More...
 
static Eina_Bool eina_value_array_vappend (Eina_Value *value, va_list args)
 Appends a generic value to an array. More...
 
static Eina_Bool eina_value_array_pset (Eina_Value *value, unsigned int position, const void *ptr)
 Sets a generic value to an array member from a pointer. More...
 
static Eina_Bool eina_value_array_pget (const Eina_Value *value, unsigned int position, void *ptr)
 Retrieves a generic value into a pointer from an array member. More...
 
static Eina_Bool eina_value_array_pinsert (Eina_Value *value, unsigned int position, const void *ptr)
 Inserts a generic value to an array member position from a pointer. More...
 
static Eina_Bool eina_value_array_pappend (Eina_Value *value, const void *ptr)
 Appends a generic value to an array from a pointer. More...
 
static Eina_Bool eina_value_array_value_get (const Eina_Value *src, unsigned int position, Eina_Value *dst)
 Retrieves a value from the array as an Eina_Value copy. More...
 

Detailed Description

Macro Definition Documentation

◆ EINA_VALUE_ARRAY_FOREACH

#define EINA_VALUE_ARRAY_FOREACH (   Array,
  Length,
  It,
  Value 
)
Value:
for (Length = eina_value_array_count(Array), \
It = 0, \
eina_value_array_get(Array, It, &Value); \
It < Length; \
It++, \
eina_value_array_get(Array, It, &Value))
static unsigned int eina_value_array_count(const Eina_Value *value)
Queries number of elements in value of array type.
static Eina_Bool eina_value_array_get(const Eina_Value *value, unsigned int position,...)
Gets the generic value from an array member.

Definition for the macro to iterate over an array contained in an Eina_Value.

Since
1.21
Parameters
[in]ArrayThe list to iterate over.
[in]LengthContain the length of the array
[out]ItContain the current position walked over
[out]ValueContain the value at the current position.

This macro iterates over array from the first element to the last. value is the data related to the current element.

It can be used like in the following example:

Eina_Value array;
unsigned int i, len;
// array is already filled with EINA_VALUE_TYPE_ERROR,
// its elements are unknown,
// EINA_VALUE_ARRAY_FOREACH will be used to check if there is no error
EINA_VALUE_ARRAY_FOREACH(&array, len, i, err)
{
eina_value_get(&v, &err);
fprintf(stderr, "Something has gone wrong: %s at index: %i\n", eina_error_msg_get(err), i);
}
int Eina_Error
The integer type containing the error type.
Definition: eina_error.h:90
EINA_API const char * eina_error_msg_get(Eina_Error error)
Returns the description of the given error number.
Definition: eina_error.c:295
#define EINA_VALUE_ARRAY_FOREACH(Array, Length, It, Value)
Definition for the macro to iterate over an array contained in an Eina_Value.
Definition: eina_value.h:1879
static Eina_Bool eina_value_get(const Eina_Value *value,...)
Gets the generic value.
defines the contents of a value
Definition: eina_value.h:662
Warning
array and v must be a pointer to an Eina_Value

Typedef Documentation

◆ Eina_Value_Array

Value type for EINA_VALUE_TYPE_ARRAY.

See also
_Eina_Value_Array explains fields.
Since
1.2
Examples
complex-types-client-eina-value.c.

Function Documentation

◆ eina_value_array_new()

EINA_API Eina_Value * eina_value_array_new ( const Eina_Value_Type subtype,
unsigned int  step 
)

Creates generic value storage of type array.

Parameters
[in]subtypeHow to manage this array members.
[in]stepHow to grow the members array.
Returns
The new value or NULL on failure.

Create a new generic value storage of type array. The members are managed using the description specified by subtype.

On failure, NULL is returned.

Note
This creates from mempool and then uses eina_value_array_setup().
See also
eina_value_free()
eina_value_array_setup()
Since
1.2

References eina_mempool_free(), eina_mempool_malloc(), EINA_SAFETY_ON_FALSE_RETURN_VAL, eina_value_array_setup(), and eina_value_type_check().

◆ eina_value_array_setup()

static Eina_Bool eina_value_array_setup ( Eina_Value value,
const Eina_Value_Type subtype,
unsigned int  step 
)
inlinestatic

Initializes generic value storage of type array.

Parameters
[out]valueValue object
[in]subtypeHow to manage array members.
[in]stepHow to grow the members array.
Returns
EINA_TRUE on success, EINA_FALSE otherwise.

Initializes new generic value storage of type array with the given subtype.

This is the same as calling eina_value_set() with EINA_VALUE_TYPE_ARRAY followed by eina_value_pset() with the Eina_Value_Array description configured.

Note
Existing contents are ignored! If the value was previously used, then use eina_value_flush() first.

On failure, EINA_FALSE is returned.

See also
eina_value_flush()
Since
1.2

Referenced by eina_promise_all_array(), eina_promise_all_iterator(), and eina_value_array_new().

◆ eina_value_array_count()

static unsigned int eina_value_array_count ( const Eina_Value value)
inlinestatic

Queries number of elements in value of array type.

Parameters
[in]valuevalue object.
Returns
number of child elements.
Since
1.2
Examples
complex-types-client-eina-value.c.

◆ eina_value_array_remove()

static Eina_Bool eina_value_array_remove ( Eina_Value value,
unsigned int  position 
)
inlinestatic

Removes element at given position in value of array type.

Parameters
[in,out]valuevalue object.
[in]positionindex of the member
Returns
EINA_TRUE on success, EINA_FALSE otherwise.
Since
1.2

◆ eina_value_array_set()

static Eina_Bool eina_value_array_set ( Eina_Value value,
unsigned int  position,
  ... 
)
inlinestatic

Sets the generic value in an array member.

Parameters
[in,out]valueSource value object
[in]positionIndex of the member
Returns
EINA_TRUE on success, EINA_FALSE otherwise.

The variable argument is dependent on chosen subtype. The list for basic types:

  • EINA_VALUE_TYPE_VALUE: Eina_Value
  • EINA_VALUE_TYPE_ERROR: Eina_Error
  • EINA_VALUE_TYPE_UCHAR: unsigned char
  • EINA_VALUE_TYPE_USHORT: unsigned short
  • EINA_VALUE_TYPE_UINT: unsigned int
  • EINA_VALUE_TYPE_ULONG: unsigned long
  • EINA_VALUE_TYPE_UINT64: uint64_t
  • EINA_VALUE_TYPE_CHAR: char
  • EINA_VALUE_TYPE_SHORT: short
  • EINA_VALUE_TYPE_INT: int
  • EINA_VALUE_TYPE_LONG: long
  • EINA_VALUE_TYPE_INT64: int64_t
  • EINA_VALUE_TYPE_FLOAT: float
  • EINA_VALUE_TYPE_DOUBLE: double
  • EINA_VALUE_TYPE_STRINGSHARE: const char *
  • EINA_VALUE_TYPE_STRING: const char *
  • EINA_VALUE_TYPE_ARRAY: Eina_Value_Array
  • EINA_VALUE_TYPE_LIST: Eina_Value_List
  • EINA_VALUE_TYPE_HASH: Eina_Value_Hash
  • EINA_VALUE_TYPE_TIMEVAL: struct timeval
  • EINA_VALUE_TYPE_BLOB: Eina_Value_Blob
  • EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct
  • EINA_VALUE_TYPE_TM: struct tm*
int x;
eina_value_array_set(value, 0, 5678);
eina_value_array_get(value, 0, &x);
static Eina_Bool eina_value_array_append(Eina_Value *value,...)
Appends a generic value in an array.
static Eina_Bool eina_value_array_set(Eina_Value *value, unsigned int position,...)
Sets the generic value in an array member.
EINA_API Eina_Value * eina_value_array_new(const Eina_Value_Type *subtype, unsigned int step)
Creates generic value storage of type array.
Definition: eina_value.c:5763
EINA_API const Eina_Value_Type * EINA_VALUE_TYPE_INT
manages int type.
Definition: eina_value.c:5602
EINA_API void eina_value_free(Eina_Value *value)
Frees value and its data.
Definition: eina_value.c:5645
See also
eina_value_array_get()
eina_value_array_vset()
eina_value_array_pset()
eina_value_array_insert()
eina_value_array_vinsert()
eina_value_array_pinsert()
eina_value_array_append()
eina_value_array_vappend()
eina_value_array_pappend()
Since
1.2

◆ eina_value_array_get()

static Eina_Bool eina_value_array_get ( const Eina_Value value,
unsigned int  position,
  ... 
)
inlinestatic

Gets the generic value from an array member.

Parameters
[in]valueSource value object
[in]positionIndex of the member
Returns
EINA_TRUE on success, EINA_FALSE otherwise.

The value is returned in the variable argument parameter, and the actual value is type-dependent, but usually it will be what is stored inside the object. There shouldn't be any memory allocation; thus the contents should not be freed.

The variable argument is dependent on chosen subtype. The list for basic types:

  • EINA_VALUE_TYPE_VALUE: Eina_Value*
  • EINA_VALUE_TYPE_ERROR: Eina_Error*
  • EINA_VALUE_TYPE_UCHAR: unsigned char*
  • EINA_VALUE_TYPE_USHORT: unsigned short*
  • EINA_VALUE_TYPE_UINT: unsigned int*
  • EINA_VALUE_TYPE_ULONG: unsigned long*
  • EINA_VALUE_TYPE_UINT64: uint64_t*
  • EINA_VALUE_TYPE_CHAR: char*
  • EINA_VALUE_TYPE_SHORT: short*
  • EINA_VALUE_TYPE_INT: int*
  • EINA_VALUE_TYPE_LONG: long*
  • EINA_VALUE_TYPE_INT64: int64_t*
  • EINA_VALUE_TYPE_FLOAT: float*
  • EINA_VALUE_TYPE_DOUBLE: double*
  • EINA_VALUE_TYPE_STRINGSHARE: const char **
  • EINA_VALUE_TYPE_STRING: const char **
  • EINA_VALUE_TYPE_ARRAY: Eina_Value_Array*
  • EINA_VALUE_TYPE_LIST: Eina_Value_List*
  • EINA_VALUE_TYPE_HASH: Eina_Value_Hash*
  • EINA_VALUE_TYPE_TIMEVAL: struct timeval*
  • EINA_VALUE_TYPE_BLOB: Eina_Value_Blob*
  • EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct*
  • EINA_VALUE_TYPE_TM: struct tm*
See also
eina_value_array_set()
eina_value_array_vset()
eina_value_array_pset()
Since
1.2
Examples
complex-types-client-eina-value.c.

◆ eina_value_array_insert()

static Eina_Bool eina_value_array_insert ( Eina_Value value,
unsigned int  position,
  ... 
)
inlinestatic

Inserts a generic value in an array member position.

Parameters
[in]valueSource value object
[in]positionIndex of the member
[in]...Variable arguments of data to insert
Returns
EINA_TRUE on success, EINA_FALSE otherwise.

The variable argument is dependent on chosen subtype. The list for basic types:

  • EINA_VALUE_TYPE_VALUE: Eina_Value
  • EINA_VALUE_TYPE_ERROR: Eina_Error
  • EINA_VALUE_TYPE_UCHAR: unsigned char
  • EINA_VALUE_TYPE_USHORT: unsigned short
  • EINA_VALUE_TYPE_UINT: unsigned int
  • EINA_VALUE_TYPE_ULONG: unsigned long
  • EINA_VALUE_TYPE_UINT64: uint64_t
  • EINA_VALUE_TYPE_CHAR: char
  • EINA_VALUE_TYPE_SHORT: short
  • EINA_VALUE_TYPE_INT: int
  • EINA_VALUE_TYPE_LONG: long
  • EINA_VALUE_TYPE_INT64: int64_t
  • EINA_VALUE_TYPE_FLOAT: float
  • EINA_VALUE_TYPE_DOUBLE: double
  • EINA_VALUE_TYPE_STRINGSHARE: const char *
  • EINA_VALUE_TYPE_STRING: const char *
  • EINA_VALUE_TYPE_ARRAY: Eina_Value_Array
  • EINA_VALUE_TYPE_LIST: Eina_Value_List
  • EINA_VALUE_TYPE_HASH: Eina_Value_Hash
  • EINA_VALUE_TYPE_TIMEVAL: struct timeval
  • EINA_VALUE_TYPE_BLOB: Eina_Value_Blob
  • EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct
  • EINA_VALUE_TYPE_TM: struct tm*
int x;
eina_value_array_insert(value, 0, 1234);
eina_value_array_get(value, 0, &x);
static Eina_Bool eina_value_array_insert(Eina_Value *value, unsigned int position,...)
Inserts a generic value in an array member position.
See also
eina_value_array_set()
eina_value_array_get()
eina_value_array_vset()
eina_value_array_pset()
eina_value_array_vinsert()
eina_value_array_pinsert()
eina_value_array_append()
eina_value_array_vappend()
eina_value_array_pappend()
Since
1.2

◆ eina_value_array_append()

static Eina_Bool eina_value_array_append ( Eina_Value value,
  ... 
)
inlinestatic

Appends a generic value in an array.

Parameters
[in,out]valueSource value object
[in]...Variable arguments
Returns
EINA_TRUE on success, EINA_FALSE otherwise.

The variable argument is dependent on chosen subtype. The list for basic types:

  • EINA_VALUE_TYPE_VALUE: Eina_Value
  • EINA_VALUE_TYPE_ERROR: Eina_Error
  • EINA_VALUE_TYPE_UCHAR: unsigned char
  • EINA_VALUE_TYPE_USHORT: unsigned short
  • EINA_VALUE_TYPE_UINT: unsigned int
  • EINA_VALUE_TYPE_ULONG: unsigned long
  • EINA_VALUE_TYPE_UINT64: uint64_t
  • EINA_VALUE_TYPE_CHAR: char
  • EINA_VALUE_TYPE_SHORT: short
  • EINA_VALUE_TYPE_INT: int
  • EINA_VALUE_TYPE_LONG: long
  • EINA_VALUE_TYPE_INT64: int64_t
  • EINA_VALUE_TYPE_FLOAT: float
  • EINA_VALUE_TYPE_DOUBLE: double
  • EINA_VALUE_TYPE_STRINGSHARE: const char *
  • EINA_VALUE_TYPE_STRING: const char *
  • EINA_VALUE_TYPE_ARRAY: Eina_Value_Array
  • EINA_VALUE_TYPE_LIST: Eina_Value_List
  • EINA_VALUE_TYPE_HASH: Eina_Value_Hash
  • EINA_VALUE_TYPE_TIMEVAL: struct timeval
  • EINA_VALUE_TYPE_BLOB: Eina_Value_Blob
  • EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct
  • EINA_VALUE_TYPE_TM: struct tm*
See also
eina_value_array_set()
eina_value_array_get()
eina_value_array_vset()
eina_value_array_pset()
eina_value_array_vinsert()
eina_value_array_pinsert()
eina_value_array_append()
eina_value_array_vappend()
eina_value_array_pappend()
Since
1.2
Examples
complex-types-client-eina-value.c.

Referenced by eina_promise_all_array(), and eina_promise_all_iterator().

◆ eina_value_array_vset()

static Eina_Bool eina_value_array_vset ( Eina_Value value,
unsigned int  position,
va_list  args 
)
inlinestatic

Sets a generic value to an array member.

Parameters
[in,out]valueSource value object
[in]positionIndex of the member
[in]argsVariable argument
Returns
EINA_TRUE on success, EINA_FALSE otherwise.
See also
eina_value_array_set()
eina_value_array_get()
eina_value_array_pset()
eina_value_array_insert()
eina_value_array_vinsert()
eina_value_array_pinsert()
eina_value_array_append()
eina_value_array_vappend()
eina_value_array_pappend()
Since
1.2

◆ eina_value_array_vget()

static Eina_Bool eina_value_array_vget ( const Eina_Value value,
unsigned int  position,
va_list  args 
)
inlinestatic

Gets the generic value from an array member.

Parameters
[in]valueSource value object
[in]positionIndex of the member
[out]argsVariable argument
Returns
EINA_TRUE on success, EINA_FALSE otherwise.

The value is returned in the variable argument parameter, the actual value is type-dependent, but usually it will be what is stored inside the object. There shouldn't be any memory allocation, thus the contents should not be freed.

See also
eina_value_array_vset()
eina_value_array_get()
eina_value_array_pget()
Since
1.2

◆ eina_value_array_vinsert()

static Eina_Bool eina_value_array_vinsert ( Eina_Value value,
unsigned int  position,
va_list  args 
)
inlinestatic

Inserts a generic value to an array member position.

Parameters
[in,out]valueSource value object
[in]positionIndex of the member
[in]argsVariable argument
Returns
EINA_TRUE on success, EINA_FALSE otherwise.
See also
eina_value_array_set()
eina_value_array_get()
eina_value_array_vset()
eina_value_array_pset()
eina_value_array_insert()
eina_value_array_pinsert()
eina_value_array_append()
eina_value_array_vappend()
eina_value_array_pappend()
Since
1.2

◆ eina_value_array_vappend()

static Eina_Bool eina_value_array_vappend ( Eina_Value value,
va_list  args 
)
inlinestatic

Appends a generic value to an array.

Parameters
[in,out]valueSource value object
[in]argsVariable argument
Returns
EINA_TRUE on success, EINA_FALSE otherwise.
See also
eina_value_array_set()
eina_value_array_get()
eina_value_array_vget()
eina_value_array_pset()
eina_value_array_insert()
eina_value_array_vinsert()
eina_value_array_pinsert()
eina_value_array_append()
eina_value_array_pappend()
Since
1.2

◆ eina_value_array_pset()

static Eina_Bool eina_value_array_pset ( Eina_Value value,
unsigned int  position,
const void *  ptr 
)
inlinestatic

Sets a generic value to an array member from a pointer.

Parameters
[in,out]valueSource value object
[in]positionIndex of the member
[in]ptrPointer to specify the contents.
Returns
EINA_TRUE on success, EINA_FALSE otherwise.

The pointer type is dependent on chosen value type. The list for basic types:

  • EINA_VALUE_TYPE_VALUE: Eina_Value*
  • EINA_VALUE_TYPE_ERROR: Eina_Error*
  • EINA_VALUE_TYPE_UCHAR: unsigned char*
  • EINA_VALUE_TYPE_USHORT: unsigned short*
  • EINA_VALUE_TYPE_UINT: unsigned int*
  • EINA_VALUE_TYPE_ULONG: unsigned long*
  • EINA_VALUE_TYPE_UINT64: uint64_t*
  • EINA_VALUE_TYPE_CHAR: char*
  • EINA_VALUE_TYPE_SHORT: short*
  • EINA_VALUE_TYPE_INT: int*
  • EINA_VALUE_TYPE_LONG: long*
  • EINA_VALUE_TYPE_INT64: int64_t*
  • EINA_VALUE_TYPE_FLOAT: float*
  • EINA_VALUE_TYPE_DOUBLE: double*
  • EINA_VALUE_TYPE_STRINGSHARE: const char **
  • EINA_VALUE_TYPE_STRING: const char **
  • EINA_VALUE_TYPE_ARRAY: Eina_Value_Array*
  • EINA_VALUE_TYPE_LIST: Eina_Value_List*
  • EINA_VALUE_TYPE_HASH: Eina_Value_Hash*
  • EINA_VALUE_TYPE_TIMEVAL: struct timeval*
  • EINA_VALUE_TYPE_BLOB: Eina_Value_Blob*
  • EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct*
  • EINA_VALUE_TYPE_TM: struct tm*
Note
the pointer contents are written using the size defined by type. It can be larger than void* or uint64_t.
int x = 1234;
eina_value_array_pset(value, 0, &x);
eina_value_array_pget(value, 0, &x);
static Eina_Bool eina_value_array_pset(Eina_Value *value, unsigned int position, const void *ptr)
Sets a generic value to an array member from a pointer.
static Eina_Bool eina_value_array_pget(const Eina_Value *value, unsigned int position, void *ptr)
Retrieves a generic value into a pointer from an array member.
See also
eina_value_array_set()
eina_value_array_get()
eina_value_array_vset()
eina_value_array_insert()
eina_value_array_vinsert()
eina_value_array_pinsert()
eina_value_array_append()
eina_value_array_vappend()
eina_value_array_pappend()
Since
1.2

◆ eina_value_array_pget()

static Eina_Bool eina_value_array_pget ( const Eina_Value value,
unsigned int  position,
void *  ptr 
)
inlinestatic

Retrieves a generic value into a pointer from an array member.

Parameters
[in]valueSource value object
[in]positionIndex of the member
[out]ptrPointer to receive the contents.
Returns
EINA_TRUE on success, EINA_FALSE otherwise.

The value is returned in pointer contents, the actual value is type-dependent, but usually it will be what is stored inside the object. There shouldn't be any memory allocation, thus the contents should not be freed.

The pointer type is dependent on chosen value type. The list for basic types:

  • EINA_VALUE_TYPE_VALUE: Eina_Value*
  • EINA_VALUE_TYPE_ERROR: Eina_Error*
  • EINA_VALUE_TYPE_UCHAR: unsigned char*
  • EINA_VALUE_TYPE_USHORT: unsigned short*
  • EINA_VALUE_TYPE_UINT: unsigned int*
  • EINA_VALUE_TYPE_ULONG: unsigned long*
  • EINA_VALUE_TYPE_UINT64: uint64_t*
  • EINA_VALUE_TYPE_CHAR: char*
  • EINA_VALUE_TYPE_SHORT: short*
  • EINA_VALUE_TYPE_INT: int*
  • EINA_VALUE_TYPE_LONG: long*
  • EINA_VALUE_TYPE_INT64: int64_t*
  • EINA_VALUE_TYPE_FLOAT: float*
  • EINA_VALUE_TYPE_DOUBLE: double*
  • EINA_VALUE_TYPE_STRINGSHARE: const char **
  • EINA_VALUE_TYPE_STRING: const char **
  • EINA_VALUE_TYPE_ARRAY: Eina_Value_Array*
  • EINA_VALUE_TYPE_LIST: Eina_Value_List*
  • EINA_VALUE_TYPE_HASH: Eina_Value_Hash*
  • EINA_VALUE_TYPE_TIMEVAL: struct timeval*
  • EINA_VALUE_TYPE_BLOB: Eina_Value_Blob*
  • EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct*
  • EINA_VALUE_TYPE_TM: struct tm*
See also
eina_value_array_set()
eina_value_array_vset()
eina_value_array_pset()
Since
1.2

◆ eina_value_array_pinsert()

static Eina_Bool eina_value_array_pinsert ( Eina_Value value,
unsigned int  position,
const void *  ptr 
)
inlinestatic

Inserts a generic value to an array member position from a pointer.

Parameters
[in,out]valueSource value object
[in]positionIndex of the member
[in]ptrPointer to specify the contents.
Returns
EINA_TRUE on success, EINA_FALSE otherwise.

The pointer type is dependent on chosen value type. The list for basic types:

  • EINA_VALUE_TYPE_VALUE: Eina_Value*
  • EINA_VALUE_TYPE_ERROR: Eina_Error*
  • EINA_VALUE_TYPE_UCHAR: unsigned char*
  • EINA_VALUE_TYPE_USHORT: unsigned short*
  • EINA_VALUE_TYPE_UINT: unsigned int*
  • EINA_VALUE_TYPE_ULONG: unsigned long*
  • EINA_VALUE_TYPE_UINT64: uint64_t*
  • EINA_VALUE_TYPE_CHAR: char*
  • EINA_VALUE_TYPE_SHORT: short*
  • EINA_VALUE_TYPE_INT: int*
  • EINA_VALUE_TYPE_LONG: long*
  • EINA_VALUE_TYPE_INT64: int64_t*
  • EINA_VALUE_TYPE_FLOAT: float*
  • EINA_VALUE_TYPE_DOUBLE: double*
  • EINA_VALUE_TYPE_STRINGSHARE: const char **
  • EINA_VALUE_TYPE_STRING: const char **
  • EINA_VALUE_TYPE_ARRAY: Eina_Value_Array*
  • EINA_VALUE_TYPE_LIST: Eina_Value_List*
  • EINA_VALUE_TYPE_HASH: Eina_Value_Hash*
  • EINA_VALUE_TYPE_TIMEVAL: struct timeval*
  • EINA_VALUE_TYPE_BLOB: Eina_Value_Blob*
  • EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct*
  • EINA_VALUE_TYPE_TM: struct tm*
Note
the pointer contents are written using the size defined by type. It can be larger than void* or uint64_t.
int x = 1234;
eina_value_array_pget(value, 0, &x);
static Eina_Bool eina_value_array_pinsert(Eina_Value *value, unsigned int position, const void *ptr)
Inserts a generic value to an array member position from a pointer.
See also
eina_value_array_set()
eina_value_array_get()
eina_value_array_vset()
eina_value_array_insert()
eina_value_array_vinsert()
eina_value_array_pinsert()
eina_value_array_append()
eina_value_array_vappend()
eina_value_array_pappend()
Since
1.2

◆ eina_value_array_pappend()

static Eina_Bool eina_value_array_pappend ( Eina_Value value,
const void *  ptr 
)
inlinestatic

Appends a generic value to an array from a pointer.

Parameters
[in,out]valueSource value object
[in]ptrPointer to specify the contents.
Returns
EINA_TRUE on success, EINA_FALSE otherwise.

The pointer type is dependent on chosen value type. The list for basic types:

  • EINA_VALUE_TYPE_VALUE: Eina_Value*
  • EINA_VALUE_TYPE_ERROR: Eina_Error*
  • EINA_VALUE_TYPE_UCHAR: unsigned char*
  • EINA_VALUE_TYPE_USHORT: unsigned short*
  • EINA_VALUE_TYPE_UINT: unsigned int*
  • EINA_VALUE_TYPE_ULONG: unsigned long*
  • EINA_VALUE_TYPE_UINT64: uint64_t*
  • EINA_VALUE_TYPE_CHAR: char*
  • EINA_VALUE_TYPE_SHORT: short*
  • EINA_VALUE_TYPE_INT: int*
  • EINA_VALUE_TYPE_LONG: long*
  • EINA_VALUE_TYPE_INT64: int64_t*
  • EINA_VALUE_TYPE_FLOAT: float*
  • EINA_VALUE_TYPE_DOUBLE: double*
  • EINA_VALUE_TYPE_STRINGSHARE: const char **
  • EINA_VALUE_TYPE_STRING: const char **
  • EINA_VALUE_TYPE_ARRAY: Eina_Value_Array*
  • EINA_VALUE_TYPE_LIST: Eina_Value_List*
  • EINA_VALUE_TYPE_HASH: Eina_Value_Hash*
  • EINA_VALUE_TYPE_TIMEVAL: struct timeval*
  • EINA_VALUE_TYPE_BLOB: Eina_Value_Blob*
  • EINA_VALUE_TYPE_STRUCT: Eina_Value_Struct*
  • EINA_VALUE_TYPE_TM: struct tm*
Note
the pointer contents are written using the size defined by type. It can be larger than void* or uint64_t.
int x = 1234;
eina_value_array_pget(value, 0, &x);
static Eina_Bool eina_value_array_pappend(Eina_Value *value, const void *ptr)
Appends a generic value to an array from a pointer.
See also
eina_value_array_set()
eina_value_array_get()
eina_value_array_vset()
eina_value_array_insert()
eina_value_array_vinsert()
eina_value_array_pinsert()
eina_value_array_append()
eina_value_array_vappend()
eina_value_array_pappend()
Since
1.2

◆ eina_value_array_value_get()

static Eina_Bool eina_value_array_value_get ( const Eina_Value src,
unsigned int  position,
Eina_Value dst 
)
inlinestatic

Retrieves a value from the array as an Eina_Value copy.

Parameters
[in]srcSource value object
[in]positionIndex of the member
[out]dstWhere to return the array member
Returns
EINA_TRUE on success, EINA_FALSE otherwise.

The argument dst is considered uninitialized and it's set to the type of the member.

Since
1.2