X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=include%2Felement.h;h=fbd28f2d6639ae03a825fa715b8f74e62c91f28b;hb=42ec7c7c913713e48ff9c3c641db662e3522d3a8;hp=d2f13abe809767c7b9e86831877c74799030d41b;hpb=0dff808200acbee5ce5761b4ed57615a6ae1554d;p=connman diff --git a/include/element.h b/include/element.h index d2f13ab..fbd28f2 100644 --- a/include/element.h +++ b/include/element.h @@ -2,7 +2,7 @@ * * Connection Manager * - * Copyright (C) 2007-2008 Intel Corporation. All rights reserved. + * Copyright (C) 2007-2009 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 @@ -44,30 +44,37 @@ enum connman_element_state { CONNMAN_ELEMENT_STATE_CLOSED = 3, }; +enum connman_element_policy { + CONNMAN_ELEMENT_POLICY_UNKNOWN = 0, + CONNMAN_ELEMENT_POLICY_IGNORE = 1, + CONNMAN_ELEMENT_POLICY_AUTO = 2, + CONNMAN_ELEMENT_POLICY_ASK = 3, +}; + enum connman_element_type { CONNMAN_ELEMENT_TYPE_UNKNOWN = 0, CONNMAN_ELEMENT_TYPE_ROOT = 1, CONNMAN_ELEMENT_TYPE_PROFILE = 2, CONNMAN_ELEMENT_TYPE_DEVICE = 3, CONNMAN_ELEMENT_TYPE_NETWORK = 4, - CONNMAN_ELEMENT_TYPE_IPV4 = 5, - CONNMAN_ELEMENT_TYPE_IPV6 = 6, - CONNMAN_ELEMENT_TYPE_DHCP = 7, - CONNMAN_ELEMENT_TYPE_BOOTP = 8, - CONNMAN_ELEMENT_TYPE_ZEROCONF = 9, - CONNMAN_ELEMENT_TYPE_RESOLVER = 10, - - CONNMAN_ELEMENT_TYPE_INTERNET = 42, + 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, + CONNMAN_ELEMENT_TYPE_BOOTP = 10, + CONNMAN_ELEMENT_TYPE_ZEROCONF = 11, + CONNMAN_ELEMENT_TYPE_CONNECTION = 42, + CONNMAN_ELEMENT_TYPE_VENDOR = 10000, }; enum connman_element_subtype { CONNMAN_ELEMENT_SUBTYPE_UNKNOWN = 0, CONNMAN_ELEMENT_SUBTYPE_FAKE = 1, - CONNMAN_ELEMENT_SUBTYPE_NETWORK = 2, CONNMAN_ELEMENT_SUBTYPE_ETHERNET = 3, CONNMAN_ELEMENT_SUBTYPE_WIFI = 4, CONNMAN_ELEMENT_SUBTYPE_WIMAX = 5, - CONNMAN_ELEMENT_SUBTYPE_MODEM = 6, + CONNMAN_ELEMENT_SUBTYPE_CELLULAR = 6, CONNMAN_ELEMENT_SUBTYPE_BLUETOOTH = 7, }; @@ -75,26 +82,34 @@ struct connman_driver; struct connman_element { gint refcount; - GStaticMutex mutex; gint index; gchar *name; gchar *path; enum connman_element_type type; enum connman_element_subtype subtype; enum connman_element_state state; + enum connman_element_policy policy; gboolean enabled; + gboolean remember; guint16 priority; + guint8 strength; + gchar *devpath; + gchar *devname; struct connman_element *parent; struct connman_driver *driver; void *driver_data; - GSList *properties; + void (*destruct) (struct connman_element *element); - struct { - gchar *identifier; - } network; + union { + void *private; + struct connman_device *device; + struct connman_network *network; + }; + + GSList *properties; struct { gchar *address; @@ -104,10 +119,12 @@ struct connman_element { gchar *broadcast; gchar *nameserver; } ipv4; -}; -#define connman_element_lock(element) g_static_mutex_lock(&(element)->mutex) -#define connman_element_unlock(element) g_static_mutex_unlock(&(element)->mutex) + struct { + gchar *security; + gchar *passphrase; + } wifi; +}; extern struct connman_element *connman_element_create(const char *name); extern struct connman_element *connman_element_ref(struct connman_element *element); @@ -115,6 +132,8 @@ 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, ...); @@ -139,9 +158,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_enabled(struct connman_element *element, - gboolean enabled); +extern int connman_element_set_scanning(struct connman_element *element, + gboolean scanning); static inline void *connman_element_get_data(struct connman_element *element) {