X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Felement.h;h=3723df870a2f605e5990322c1491d41498f90d8c;hb=7739bbaee2eb71ccd7ff4a4799a18dc130069eaf;hp=9bb617e425334ee0d4933be1c3cc5a6029d245ef;hpb=6012d11b6cebd5b7dbfce13a711141ef41742f43;p=platform%2Fupstream%2Fconnman.git diff --git a/include/element.h b/include/element.h index 9bb617e..3723df8 100644 --- a/include/element.h +++ b/include/element.h @@ -2,7 +2,7 @@ * * Connection Manager * - * Copyright (C) 2007-2009 Intel Corporation. All rights reserved. + * Copyright (C) 2007-2010 Intel Corporation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -30,7 +30,8 @@ extern "C" { #include #include -#include +#include +#include /** * SECTION:element @@ -45,7 +46,6 @@ enum connman_element_type { CONNMAN_ELEMENT_TYPE_DEVICE = 3, CONNMAN_ELEMENT_TYPE_NETWORK = 4, CONNMAN_ELEMENT_TYPE_SERVICE = 5, - CONNMAN_ELEMENT_TYPE_PPP = 6, CONNMAN_ELEMENT_TYPE_IPV4 = 7, CONNMAN_ELEMENT_TYPE_IPV6 = 8, CONNMAN_ELEMENT_TYPE_DHCP = 9, @@ -55,6 +55,20 @@ 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, + CONNMAN_ELEMENT_ERROR_CONNECT_FAILED = 3, +}; + struct connman_driver; struct connman_element { @@ -63,11 +77,12 @@ 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; - gchar *devpath; gchar *devname; + GHashTable *children; struct connman_element *parent; struct connman_driver *driver; @@ -81,58 +96,69 @@ struct connman_element { struct connman_network *network; }; - GSList *properties; + GHashTable *properties; + + gchar *hostname; + gchar *domainname; struct { - enum connman_ipv4_method method; + enum connman_ipconfig_method method; gchar *address; + gchar *peer; gchar *netmask; gchar *gateway; gchar *network; gchar *broadcast; gchar *nameserver; + gchar *timeserver; + gchar *pac; } ipv4; struct { - gchar *security; - gchar *passphrase; - } wifi; + enum connman_ipconfig_method method; + gchar *address; + int prefix_len; + gchar *gateway; + gchar *network; + } ipv6; }; -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, +struct connman_element *connman_element_create(const char *name); +struct connman_element *connman_element_ref(struct connman_element *element); +void connman_element_unref(struct connman_element *element); + +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_register(struct connman_element *element, + +int connman_element_set_string(struct connman_element *element, + const char *key, const char *value); +const char *connman_element_get_string(struct connman_element *element, + const char *key); +int connman_element_set_bool(struct connman_element *element, + const char *key, connman_bool_t value); +connman_bool_t connman_element_get_bool(struct connman_element *element, + const char *key); +int connman_element_set_uint8(struct connman_element *element, + const char *key, connman_uint8_t value); +connman_uint8_t connman_element_get_uint8(struct connman_element *element, + const char *key); +int connman_element_set_blob(struct connman_element *element, + const char *key, const void *data, unsigned int size); +const void *connman_element_get_blob(struct connman_element *element, + const char *key, unsigned int *size); + +int connman_element_register(struct connman_element *element, struct connman_element *parent); -extern void connman_element_unregister(struct connman_element *element); -extern void connman_element_unregister_children(struct connman_element *element); -extern void connman_element_update(struct connman_element *element); +void connman_element_unregister(struct connman_element *element); +void connman_element_unregister_children(struct connman_element *element); +void connman_element_unregister_children_type(struct connman_element *element, + enum connman_element_type type); +void connman_element_update(struct connman_element *element); -extern int connman_element_set_enabled(struct connman_element *element, +int connman_element_set_enabled(struct connman_element *element, gboolean enabled); -extern int connman_element_set_scanning(struct connman_element *element, - gboolean scanning); +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) {