diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2009-03-11 23:45:25 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-03-11 23:45:25 +0100 |
commit | aee3ce108157d7776420cecca4690c597d2cee8f (patch) | |
tree | 454b1d87fdb8487616138ebaa27c115be220d1fe /include | |
parent | 18b98a772b0ddad66b79b958b271a20879e4f225 (diff) | |
download | connman-aee3ce108157d7776420cecca4690c597d2cee8f.tar.gz connman-aee3ce108157d7776420cecca4690c597d2cee8f.tar.bz2 connman-aee3ce108157d7776420cecca4690c597d2cee8f.zip |
Add fully dynamic property storage capabilities
Diffstat (limited to 'include')
-rw-r--r-- | include/element.h | 26 | ||||
-rw-r--r-- | include/property.h | 9 |
2 files changed, 22 insertions, 13 deletions
diff --git a/include/element.h b/include/element.h index 8bdc42c4..d8fa88c1 100644 --- a/include/element.h +++ b/include/element.h @@ -30,6 +30,7 @@ extern "C" { #include <glib.h> #include <connman/property.h> +#include <connman/types.h> #include <connman/ipv4.h> /** @@ -97,20 +98,21 @@ extern struct connman_element *connman_element_create(const char *name); extern struct connman_element *connman_element_ref(struct connman_element *element); extern void connman_element_unref(struct connman_element *element); -extern int connman_element_set_static_property(struct connman_element *element, - const char *name, int type, const void *value); -extern int connman_element_set_static_array_property(struct connman_element *element, - const char *name, int type, const void *value, int len); -extern int connman_element_set_property(struct connman_element *element, - enum connman_property_id id, const void *value); extern int connman_element_get_value(struct connman_element *element, enum connman_property_id id, void *value); -extern gboolean connman_element_get_static_property(struct connman_element *element, - const char *name, void *value); -extern gboolean connman_element_get_static_array_property(struct connman_element *element, - const char *name, void *value, int *len); -extern gboolean connman_element_match_static_property(struct connman_element *element, - const char *name, const void *value); + +extern int connman_element_set_string(struct connman_element *element, + const char *key, const char *value); +extern const char *connman_element_get_string(struct connman_element *element, + const char *key); +extern int connman_element_set_uint8(struct connman_element *element, + const char *key, connman_uint8_t value); +extern connman_uint8_t connman_element_get_uint8(struct connman_element *element, + const char *key); +extern int connman_element_set_blob(struct connman_element *element, + const char *key, const void *data, unsigned int size); +extern const void *connman_element_get_blob(struct connman_element *element, + const char *key, unsigned int *size); extern int connman_element_register(struct connman_element *element, struct connman_element *parent); diff --git a/include/property.h b/include/property.h index ec8254cb..b4c7e18d 100644 --- a/include/property.h +++ b/include/property.h @@ -43,12 +43,19 @@ enum connman_property_id { CONNMAN_PROPERTY_ID_IPV4_NAMESERVER, }; +enum connman_property_type { + CONNMAN_PROPERTY_TYPE_INVALID = 0, + CONNMAN_PROPERTY_TYPE_STRING, + CONNMAN_PROPERTY_TYPE_UINT8, + CONNMAN_PROPERTY_TYPE_BLOB, +}; + struct connman_property { enum connman_property_id id; int type; int subtype; void *value; - int size; + unsigned int size; }; #ifdef __cplusplus |