CONNMAN_ELEMENT_STATE_CLOSED = 3,
};
+enum connman_element_policy {
+ CONNMAN_ELEMENT_POLICY_UNKNOWN = 0,
+ CONNMAN_ELEMENT_POLICY_OFF = 1,
+ CONNMAN_ELEMENT_POLICY_AUTO = 2,
+ CONNMAN_ELEMENT_POLICY_IGNORE = 3,
+ CONNMAN_ELEMENT_POLICY_ASK = 4,
+};
+
enum connman_element_type {
CONNMAN_ELEMENT_TYPE_UNKNOWN = 0,
CONNMAN_ELEMENT_TYPE_ROOT = 1,
- CONNMAN_ELEMENT_TYPE_DEVICE = 2,
- CONNMAN_ELEMENT_TYPE_NETWORK = 3,
- CONNMAN_ELEMENT_TYPE_IPV4 = 4,
- CONNMAN_ELEMENT_TYPE_IPV6 = 5,
- CONNMAN_ELEMENT_TYPE_DHCP = 6,
- CONNMAN_ELEMENT_TYPE_BOOTP = 7,
- CONNMAN_ELEMENT_TYPE_ZEROCONF = 8,
- CONNMAN_ELEMENT_TYPE_RESOLVER = 9,
-
- CONNMAN_ELEMENT_TYPE_INTERNET = 42,
+ CONNMAN_ELEMENT_TYPE_PROFILE = 2,
+ CONNMAN_ELEMENT_TYPE_DEVICE = 3,
+ CONNMAN_ELEMENT_TYPE_NETWORK = 4,
+ CONNMAN_ELEMENT_TYPE_SERVICE = 5,
+ CONNMAN_ELEMENT_TYPE_IPV4 = 6,
+ CONNMAN_ELEMENT_TYPE_IPV6 = 7,
+ CONNMAN_ELEMENT_TYPE_DHCP = 8,
+ CONNMAN_ELEMENT_TYPE_BOOTP = 9,
+ CONNMAN_ELEMENT_TYPE_ZEROCONF = 10,
+ CONNMAN_ELEMENT_TYPE_RESOLVER = 11,
+
+ CONNMAN_ELEMENT_TYPE_CONNECTION = 42,
};
enum connman_element_subtype {
CONNMAN_ELEMENT_SUBTYPE_UNKNOWN = 0,
- CONNMAN_ELEMENT_SUBTYPE_NETWORK = 1,
- CONNMAN_ELEMENT_SUBTYPE_ETHERNET = 2,
- CONNMAN_ELEMENT_SUBTYPE_WIFI = 3,
- CONNMAN_ELEMENT_SUBTYPE_WIMAX = 4,
- CONNMAN_ELEMENT_SUBTYPE_MODEM = 5,
- CONNMAN_ELEMENT_SUBTYPE_BLUETOOTH = 6,
+ 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_BLUETOOTH = 7,
};
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;
guint16 priority;
GSList *properties;
struct {
- gchar *identifier;
- } network;
-
- struct {
gchar *address;
gchar *netmask;
gchar *gateway;
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);
extern int connman_element_add_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);
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_register(struct connman_element *element,
struct connman_element *parent);
extern void connman_element_unregister_children(struct connman_element *element);
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);
+
static inline void *connman_element_get_data(struct connman_element *element)
{
return element->driver_data;