summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-03-11 23:45:25 +0100
committerMarcel Holtmann <marcel@holtmann.org>2009-03-11 23:45:25 +0100
commitaee3ce108157d7776420cecca4690c597d2cee8f (patch)
tree454b1d87fdb8487616138ebaa27c115be220d1fe /include
parent18b98a772b0ddad66b79b958b271a20879e4f225 (diff)
downloadconnman-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.h26
-rw-r--r--include/property.h9
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