X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Felement.h;h=e2d7ea8a4f80b19300337ee13faa6d1bf7942e0e;hb=550cd253b4bf3197ac4e00f0f213fca391d4622f;hp=af34da8db8c2bc68383e04c5058f82c4a473642f;hpb=7010bb4c11d907ac3c7997684dee08991c561f5a;p=framework%2Fconnectivity%2Fconnman.git diff --git a/include/element.h b/include/element.h index af34da8..e2d7ea8 100644 --- a/include/element.h +++ b/include/element.h @@ -31,6 +31,12 @@ extern "C" { #include +/** + * SECTION:element + * @title: Element premitives + * @short_description: Functions for handling elements + */ + enum connman_element_state { CONNMAN_ELEMENT_STATE_UNKNOWN = 0, CONNMAN_ELEMENT_STATE_CONNECT = 1, @@ -50,7 +56,7 @@ enum connman_element_type { CONNMAN_ELEMENT_TYPE_ZEROCONF = 8, CONNMAN_ELEMENT_TYPE_RESOLVER = 9, - CONNMAN_ELEMENT_TYPE_CONNECTION = 42, + CONNMAN_ELEMENT_TYPE_INTERNET = 42, }; enum connman_element_subtype { @@ -66,11 +72,13 @@ struct connman_driver; struct connman_element { gint refcount; + GStaticMutex mutex; gchar *name; gchar *path; enum connman_element_type type; enum connman_element_subtype subtype; enum connman_element_state state; + gboolean enabled; guint16 priority; struct connman_element *parent; @@ -87,6 +95,10 @@ struct connman_element { } netdev; struct { + gchar *identifier; + } network; + + struct { gchar *address; gchar *netmask; gchar *gateway; @@ -96,6 +108,9 @@ struct connman_element { } ipv4; }; +#define connman_element_lock(element) g_static_mutex_lock(&(element)->mutex) +#define connman_element_unlock(element) g_static_mutex_unlock(&(element)->mutex) + extern struct connman_element *connman_element_create(void); extern struct connman_element *connman_element_ref(struct connman_element *element); extern void connman_element_unref(struct connman_element *element); @@ -110,6 +125,7 @@ extern int connman_element_get_value(struct connman_element *element, extern 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); static inline void *connman_element_get_data(struct connman_element *element)