X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=include%2Felement.h;h=bc6a2a9e418de6e0e061ff670895da057a45a7fe;hb=HEAD;hp=8df0d5c4aa2c8de7b689c8453d86a8dbf9ddb6d7;hpb=8a46c875866dbda9406c0bf738ce95d721626739;p=connman diff --git a/include/element.h b/include/element.h index 8df0d5c..bc6a2a9 100644 --- a/include/element.h +++ b/include/element.h @@ -30,6 +30,7 @@ extern "C" { #include #include +#include #include /** @@ -55,6 +56,19 @@ enum connman_element_type { CONNMAN_ELEMENT_TYPE_VENDOR = 10000, }; +enum connman_element_state { + CONNMAN_ELEMENT_STATE_UNKNOWN = 0, + CONNMAN_ELEMENT_STATE_ERROR = 1, + CONNMAN_ELEMENT_STATE_IDLE = 2, + CONNMAN_ELEMENT_STATE_DONE = 3, +}; + +enum connman_element_error { + CONNMAN_ELEMENT_ERROR_UNKNOWN = 0, + CONNMAN_ELEMENT_ERROR_FAILED = 1, + CONNMAN_ELEMENT_ERROR_DHCP_FAILED = 2, +}; + struct connman_driver; struct connman_element { @@ -63,8 +77,10 @@ struct connman_element { gchar *name; gchar *path; enum connman_element_type type; + enum connman_element_state state; + enum connman_element_error error; gboolean enabled; - guint8 strength; + gboolean configuring; gchar *devname; struct connman_element *parent; @@ -80,7 +96,7 @@ struct connman_element { struct connman_network *network; }; - GSList *properties; + GHashTable *properties; struct { enum connman_ipv4_method method; @@ -97,25 +113,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_add_static_property(struct connman_element *element, - const char *name, int type, const void *value); -extern int connman_element_set_static_property(struct connman_element *element, - const char *name, int type, const void *value); -extern int connman_element_add_static_array_property(struct connman_element *element, - const char *name, int type, const void *value, int len); -extern int connman_element_define_properties(struct connman_element *element, ...); -extern int connman_element_create_property(struct connman_element *element, - const char *name, int type); -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); @@ -125,8 +137,8 @@ extern void connman_element_update(struct connman_element *element); extern int connman_element_set_enabled(struct connman_element *element, gboolean enabled); -extern int connman_element_set_scanning(struct connman_element *element, - gboolean scanning); +extern void connman_element_set_error(struct connman_element *element, + enum connman_element_error error); static inline void *connman_element_get_data(struct connman_element *element) {