![]() |
Functions for manage easydbus elements
Data Structures | |
struct | EasyDbus_elem |
Used for save an unique message param. More... | |
Functions | |
EasyDbus_elem * | easydbus_elem_create (enum el_type type) |
Create an element object. | |
char | easydbus_elem_get_boolean (const EasyDbus_elem *elem) |
Get boolean from boolean element. | |
int | easydbus_elem_get_byte (const EasyDbus_elem *elem, char *byte) |
Get byte from byte element and save value on byte input param. | |
const EasyDbus_container * | easydbus_elem_get_container (const EasyDbus_elem *elem) |
Get container object from element. | |
int | easydbus_elem_get_double (const EasyDbus_elem *elem, double *d) |
Get double from double element. | |
const EasyDbus_elem * | easydbus_elem_get_element (const EasyDbus_elem *elem, unsigned int n) |
Get n-element from element passed in input. | |
int | easydbus_elem_get_i16 (const EasyDbus_elem *elem, short *i16) |
Get int16 from int16 element. | |
int | easydbus_elem_get_i32 (const EasyDbus_elem *elem, int *i32) |
Get int32 from int32 element. | |
int | easydbus_elem_get_i64 (const EasyDbus_elem *elem, long long *i64) |
Get int64 from int64 element. | |
const EasyDbus_elem * | easydbus_elem_get_next (const EasyDbus_elem *el) |
Get next element of element object passed in input. | |
const char * | easydbus_elem_get_obj_path (const EasyDbus_elem *elem) |
Get object path string from element object. | |
const char * | easydbus_elem_get_signature (const EasyDbus_elem *elem) |
Get signature string from element object. | |
const char * | easydbus_elem_get_string (const EasyDbus_elem *elem) |
Get string from string element. | |
enum el_type | easydbus_elem_get_type (const EasyDbus_elem *elem) |
Get type of element object. | |
int | easydbus_elem_get_ui16 (const EasyDbus_elem *elem, unsigned short *ui16) |
Get uint16 from uint16 element. | |
int | easydbus_elem_get_ui32 (const EasyDbus_elem *elem, unsigned int *ui32) |
Get uint32 from uint32 element. | |
int | easydbus_elem_get_ui64 (const EasyDbus_elem *elem, unsigned long long *ui64) |
Get uint64 from uint64 element. |
EasyDbus_elem* easydbus_elem_create | ( | enum el_type | type | ) | [inline] |
Create an element object.
For internal use only.
type | type of element that must be created. |
pointer to new element object.
Definition at line 379 of file elem.c.
References EASYDBUS_ELTYPE_ARRAY, EASYDBUS_ELTYPE_DICT_ENTRY, EASYDBUS_ELTYPE_INVALID, EASYDBUS_ELTYPE_OBJECT_PATH, EASYDBUS_ELTYPE_SIGNATURE, EASYDBUS_ELTYPE_STRING, EASYDBUS_ELTYPE_STRUCT, EASYDBUS_ELTYPE_VARIANT, EasyDbus_elem::next, EasyDbus_elem::p_container, EasyDbus_elem::payload, EasyDbus_elem::string, and EasyDbus_elem::type.
Referenced by easydbus_add_array_param_to_skeleton(), easydbus_add_boolean_param_to_skeleton(), easydbus_add_byte_param_to_skeleton(), easydbus_add_double_param_to_skeleton(), easydbus_add_i16_param_to_skeleton(), easydbus_add_i32_param_to_skeleton(), easydbus_add_i64_param_to_skeleton(), easydbus_add_obj_path_param_to_skeleton(), easydbus_add_signature_param_to_skeleton(), easydbus_add_string_param_to_skeleton(), easydbus_add_struct_param_to_skeleton(), easydbus_add_ui16_param_to_skeleton(), easydbus_add_ui32_param_to_skeleton(), easydbus_add_ui64_param_to_skeleton(), easydbus_add_variant_param_to_skeleton(), easydbus_array_add_array(), easydbus_array_add_dict_entry(), easydbus_array_add_struct(), easydbus_array_add_variant(), easydbus_dict_entry_add_boolean(), easydbus_dict_entry_add_byte(), easydbus_dict_entry_add_double(), easydbus_dict_entry_add_i16(), easydbus_dict_entry_add_i32(), easydbus_dict_entry_add_i64(), easydbus_dict_entry_add_obj_path(), easydbus_dict_entry_add_signature(), easydbus_dict_entry_add_string(), easydbus_dict_entry_add_ui16(), easydbus_dict_entry_add_ui32(), easydbus_dict_entry_add_ui64(), easydbus_dict_entry_add_variant(), easydbus_struct_add_array(), easydbus_struct_add_boolean(), easydbus_struct_add_byte(), easydbus_struct_add_dict_entry(), easydbus_struct_add_double(), easydbus_struct_add_i16(), easydbus_struct_add_i32(), easydbus_struct_add_i64(), easydbus_struct_add_obj_path(), easydbus_struct_add_signature(), easydbus_struct_add_string(), easydbus_struct_add_struct(), easydbus_struct_add_ui16(), easydbus_struct_add_ui32(), easydbus_struct_add_ui64(), and easydbus_struct_add_variant().
00380 { 00381 struct EasyDbus_elem *el = NULL; 00382 00383 if (type == EASYDBUS_ELTYPE_INVALID) 00384 return NULL; 00385 00386 el = 00387 (struct EasyDbus_elem *) malloc (sizeof (struct EasyDbus_elem)); 00388 00389 if (!el) 00390 return NULL; 00391 00392 memset (el, 0, sizeof (struct EasyDbus_elem)); 00393 00394 el->type = type; 00395 switch (type) { 00396 case EASYDBUS_ELTYPE_STRING: 00397 case EASYDBUS_ELTYPE_OBJECT_PATH: 00398 case EASYDBUS_ELTYPE_SIGNATURE: 00399 el->payload.string = NULL; 00400 break; 00401 case EASYDBUS_ELTYPE_ARRAY: 00402 case EASYDBUS_ELTYPE_VARIANT: 00403 case EASYDBUS_ELTYPE_DICT_ENTRY: 00404 case EASYDBUS_ELTYPE_STRUCT: 00405 el->payload.p_container = NULL; 00406 break; 00407 default: /* do nothing because its are already initialize */ 00408 //case EASYDBUS_ELTYPE_BYTE: 00409 //case EASYDBUS_ELTYPE_BOOLEAN: 00410 //case EASYDBUS_ELTYPE_INT16: 00411 //case EASYDBUS_ELTYPE_UINT16: 00412 //case EASYDBUS_ELTYPE_INT32, 00413 //case EASYDBUS_ELTYPE_UINT32, 00414 //case EASYDBUS_ELTYPE_INT64, 00415 //case EASYDBUS_ELTYPE_UINT64, 00416 //case EASYDBUS_ELTYPE_DOUBLE, 00417 break; 00418 } 00419 el->next = NULL; 00420 return el; 00421 }
char easydbus_elem_get_boolean | ( | const EasyDbus_elem * | elem | ) |
Get boolean from boolean element.
elem | pointer to element object. |
1 boolean value of element equal to TRUE
-1 on error
Definition at line 120 of file elem.c.
References EasyDbus_elem::boolean, EASYDBUS_ELTYPE_BOOLEAN, EasyDbus_elem::payload, and EasyDbus_elem::type.
00121 { 00122 if (elem == NULL || (elem->type != EASYDBUS_ELTYPE_BOOLEAN)) 00123 return -1; 00124 return elem->payload.boolean; 00125 }
int easydbus_elem_get_byte | ( | const EasyDbus_elem * | elem, | |
char * | byte | |||
) |
Get byte from byte element and save value on byte input param.
elem | pointer to element object. | |
byte | where is save byte value. |
-1 on error
Definition at line 102 of file elem.c.
References EasyDbus_elem::byte, EASYDBUS_ELTYPE_BYTE, EasyDbus_elem::payload, and EasyDbus_elem::type.
00103 { 00104 if (elem == NULL || byte == NULL || 00105 (elem->type != EASYDBUS_ELTYPE_BYTE)) 00106 return -1; 00107 *byte = elem->payload.byte; 00108 return 0; 00109 }
const EasyDbus_container* easydbus_elem_get_container | ( | const EasyDbus_elem * | elem | ) |
Get container object from element.
elem | pointer to element object. |
NULL on error
Definition at line 252 of file elem.c.
References EASYDBUS_ELTYPE_ARRAY, EASYDBUS_ELTYPE_DICT_ENTRY, EASYDBUS_ELTYPE_STRUCT, EASYDBUS_ELTYPE_VARIANT, EasyDbus_elem::p_container, EasyDbus_elem::payload, and EasyDbus_elem::type.
00253 { 00254 if (elem == NULL || 00255 (elem->type != EASYDBUS_ELTYPE_ARRAY && 00256 elem->type != EASYDBUS_ELTYPE_DICT_ENTRY && 00257 elem->type != EASYDBUS_ELTYPE_VARIANT && 00258 elem->type != EASYDBUS_ELTYPE_STRUCT)) 00259 return NULL; 00260 return (const EasyDbus_container *) elem->payload.p_container; 00261 }
int easydbus_elem_get_double | ( | const EasyDbus_elem * | elem, | |
double * | d | |||
) |
Get double from double element.
elem | pointer to element object. | |
d | pointer to a double where it is saved element value. |
-1 on error
Definition at line 137 of file elem.c.
References EasyDbus_elem::Double, EASYDBUS_ELTYPE_DOUBLE, EasyDbus_elem::payload, and EasyDbus_elem::type.
00138 { 00139 if (elem == NULL || d == NULL || 00140 (elem->type != EASYDBUS_ELTYPE_DOUBLE)) 00141 return -1; 00142 *d = elem->payload.Double; 00143 return 0; 00144 }
const EasyDbus_elem* easydbus_elem_get_element | ( | const EasyDbus_elem * | elem, | |
unsigned int | n | |||
) |
Get n-element from element passed in input.
elem | pointer to element object. | |
n | element to recover |
pointer to element n.
Definition at line 305 of file elem.c.
References EasyDbus_elem::next.
Referenced by easydbus_method_get_element(), easydbus_reply_get_element(), and easydbus_signal_get_element().
00307 { 00308 unsigned int i; 00309 EasyDbus_elem *el = (EasyDbus_elem *) elem; 00310 00311 if (elem == NULL || n == 0) 00312 return NULL; 00313 00314 for (i = 1; i < n; i++) { 00315 el = el->next; 00316 if (el == NULL && i < n) 00317 break; 00318 } 00319 return (const EasyDbus_elem *) el; 00320 }
int easydbus_elem_get_i16 | ( | const EasyDbus_elem * | elem, | |
short * | i16 | |||
) |
Get int16 from int16 element.
elem | pointer to element object. | |
i16 | where it is saved element value. |
-1 on error
Definition at line 156 of file elem.c.
References EASYDBUS_ELTYPE_INT16, EasyDbus_elem::i16, EasyDbus_elem::payload, and EasyDbus_elem::type.
00157 { 00158 if (elem == NULL || i16 == NULL || 00159 (elem->type != EASYDBUS_ELTYPE_INT16)) 00160 return -1; 00161 *i16 = elem->payload.i16; 00162 return 0; 00163 }
int easydbus_elem_get_i32 | ( | const EasyDbus_elem * | elem, | |
int * | i32 | |||
) |
Get int32 from int32 element.
elem | pointer to element object. | |
i32 | where it is saved element value. |
-1 on error
Definition at line 212 of file elem.c.
References EASYDBUS_ELTYPE_INT32, EasyDbus_elem::i32, EasyDbus_elem::payload, and EasyDbus_elem::type.
00213 { 00214 if (elem == NULL || i32 == NULL || 00215 (elem->type != EASYDBUS_ELTYPE_INT32)) 00216 return -1; 00217 *i32 = elem->payload.i32; 00218 return 0; 00219 }
int easydbus_elem_get_i64 | ( | const EasyDbus_elem * | elem, | |
long long * | i64 | |||
) |
Get int64 from int64 element.
elem | pointer to element object. | |
i64 | where it is saved element value. |
-1 on error
Definition at line 272 of file elem.c.
References EASYDBUS_ELTYPE_INT64, EasyDbus_elem::i64, EasyDbus_elem::payload, and EasyDbus_elem::type.
00273 { 00274 if (elem == NULL || i64 == NULL || 00275 (elem->type != EASYDBUS_ELTYPE_INT64)) 00276 return -1; 00277 *i64 = elem->payload.i64; 00278 return 0; 00279 }
const EasyDbus_elem* easydbus_elem_get_next | ( | const EasyDbus_elem * | el | ) | [inline] |
Get next element of element object passed in input.
el | pointer to element object. |
pointer to next element.
Definition at line 329 of file elem.c.
References EasyDbus_elem::next.
00330 { 00331 return (el ? (const EasyDbus_elem *) el->next : NULL); 00332 }
const char* easydbus_elem_get_obj_path | ( | const EasyDbus_elem * | elem | ) |
Get object path string from element object.
elem | pointer to element object. |
NULL on error
Definition at line 70 of file elem.c.
References EASYDBUS_ELTYPE_OBJECT_PATH, EasyDbus_elem::payload, EasyDbus_elem::string, and EasyDbus_elem::type.
00071 { 00072 if (elem == NULL || (elem->type != EASYDBUS_ELTYPE_OBJECT_PATH)) 00073 return NULL; 00074 return (const char *) elem->payload.string; 00075 }
const char* easydbus_elem_get_signature | ( | const EasyDbus_elem * | elem | ) |
Get signature string from element object.
elem | pointer to element object. |
NULL on error
Definition at line 85 of file elem.c.
References EASYDBUS_ELTYPE_SIGNATURE, EasyDbus_elem::payload, EasyDbus_elem::string, and EasyDbus_elem::type.
00086 { 00087 if (elem == NULL || (elem->type != EASYDBUS_ELTYPE_SIGNATURE)) 00088 return NULL; 00089 return (const char *) elem->payload.string; 00090 }
const char* easydbus_elem_get_string | ( | const EasyDbus_elem * | elem | ) |
Get string from string element.
elem | pointer to element object. |
NULL on error
Definition at line 55 of file elem.c.
References EASYDBUS_ELTYPE_STRING, EasyDbus_elem::payload, EasyDbus_elem::string, and EasyDbus_elem::type.
00056 { 00057 if (elem == NULL || (elem->type != EASYDBUS_ELTYPE_STRING)) 00058 return NULL; 00059 return (const char *) elem->payload.string; 00060 }
enum el_type easydbus_elem_get_type | ( | const EasyDbus_elem * | elem | ) | [inline] |
Get type of element object.
elem | pointer to element object. |
Definition at line 288 of file elem.c.
References EASYDBUS_ELTYPE_INVALID, and EasyDbus_elem::type.
00289 { 00290 if (elem == NULL) 00291 return EASYDBUS_ELTYPE_INVALID; 00292 return elem->type; 00293 }
int easydbus_elem_get_ui16 | ( | const EasyDbus_elem * | elem, | |
unsigned short * | ui16 | |||
) |
Get uint16 from uint16 element.
elem | pointer to element object. | |
ui16 | where it is saved element value. |
-1 on error
Definition at line 174 of file elem.c.
References EASYDBUS_ELTYPE_UINT16, EasyDbus_elem::payload, EasyDbus_elem::type, and EasyDbus_elem::ui16.
00176 { 00177 if (elem == NULL || ui16 == NULL || 00178 (elem->type != EASYDBUS_ELTYPE_UINT16)) 00179 return -1; 00180 *ui16 = elem->payload.ui16; 00181 return 0; 00182 }
int easydbus_elem_get_ui32 | ( | const EasyDbus_elem * | elem, | |
unsigned int * | ui32 | |||
) |
Get uint32 from uint32 element.
elem | pointer to element object. | |
ui32 | where it is saved element value. |
-1 on error
Definition at line 193 of file elem.c.
References EASYDBUS_ELTYPE_UINT32, EasyDbus_elem::payload, EasyDbus_elem::type, and EasyDbus_elem::ui32.
00195 { 00196 if (elem == NULL || ui32 == NULL || 00197 (elem->type != EASYDBUS_ELTYPE_UINT32)) 00198 return -1; 00199 *ui32 = elem->payload.ui32; 00200 return 0; 00201 }
int easydbus_elem_get_ui64 | ( | const EasyDbus_elem * | elem, | |
unsigned long long * | ui64 | |||
) |
Get uint64 from uint64 element.
elem | pointer to element object. | |
ui64 | where it is saved element value. |
-1 on error
Definition at line 230 of file elem.c.
References EASYDBUS_ELTYPE_UINT64, EasyDbus_elem::payload, EasyDbus_elem::type, and EasyDbus_elem::ui64.
00232 { 00233 if (elem == NULL || ui64 == NULL || 00234 (elem->type != EASYDBUS_ELTYPE_UINT64)) 00235 return -1; 00236 *ui64 = elem->payload.ui64; 00237 return 0; 00238 }