X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fdevice.h;h=67d7928c87236f60c2cb1ca57578c5e9a7286412;hb=cf94fb3ffa303075783f8b04285ca4bd0fb451c4;hp=b03be788c3bb670b115b26dbdfe5d6d1c20a8fbe;hpb=bce87dffa9157ec6d9ee9621b526e72f4798d906;p=platform%2Fupstream%2Fconnman.git diff --git a/include/device.h b/include/device.h old mode 100644 new mode 100755 index b03be78..67d7928 --- a/include/device.h +++ b/include/device.h @@ -2,7 +2,7 @@ * * Connection Manager * - * Copyright (C) 2007-2009 Intel Corporation. All rights reserved. + * Copyright (C) 2007-2014 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 @@ -22,8 +22,8 @@ #ifndef __CONNMAN_DEVICE_H #define __CONNMAN_DEVICE_H -#include #include +#include #ifdef __cplusplus extern "C" { @@ -39,59 +39,63 @@ enum connman_device_type { CONNMAN_DEVICE_TYPE_UNKNOWN = 0, CONNMAN_DEVICE_TYPE_ETHERNET = 1, CONNMAN_DEVICE_TYPE_WIFI = 2, - CONNMAN_DEVICE_TYPE_WIMAX = 3, - CONNMAN_DEVICE_TYPE_BLUETOOTH = 4, + CONNMAN_DEVICE_TYPE_BLUETOOTH = 3, + CONNMAN_DEVICE_TYPE_CELLULAR = 4, CONNMAN_DEVICE_TYPE_GPS = 5, - CONNMAN_DEVICE_TYPE_HSO = 15, - CONNMAN_DEVICE_TYPE_NOZOMI = 16, - CONNMAN_DEVICE_TYPE_HUAWEI = 17, - CONNMAN_DEVICE_TYPE_NOVATEL = 18, + CONNMAN_DEVICE_TYPE_GADGET = 6, CONNMAN_DEVICE_TYPE_VENDOR = 10000, }; -enum connman_device_mode { - CONNMAN_DEVICE_MODE_UNKNOWN = 0, - CONNMAN_DEVICE_MODE_NETWORK_SINGLE = 1, - CONNMAN_DEVICE_MODE_NETWORK_MULTIPLE = 2, - CONNMAN_DEVICE_MODE_TRANSPORT_IP = 3, +#define CONNMAN_DEVICE_PRIORITY_LOW -100 +#define CONNMAN_DEVICE_PRIORITY_DEFAULT 0 +#define CONNMAN_DEVICE_PRIORITY_HIGH 100 + +struct connman_device_scan_params { + enum connman_service_type type; + const char *ssid; + unsigned int ssid_len; + const char *identity; + const char* passphrase; + const char *security; + bool force_full_scan; + void *user_data; }; struct connman_device; struct connman_device *connman_device_create(const char *node, enum connman_device_type type); -struct connman_device *connman_device_ref(struct connman_device *device); -void connman_device_unref(struct connman_device *device); + +#define connman_device_ref(device) \ + connman_device_ref_debug(device, __FILE__, __LINE__, __func__) + +#define connman_device_unref(device) \ + connman_device_unref_debug(device, __FILE__, __LINE__, __func__) + +struct connman_device * +connman_device_ref_debug(struct connman_device *device, + const char *file, int line, const char *caller); +void connman_device_unref_debug(struct connman_device *device, + const char *file, int line, const char *caller); enum connman_device_type connman_device_get_type(struct connman_device *device); -const char *connman_device_get_name(struct connman_device *device); -const char *connman_device_get_path(struct connman_device *device); void connman_device_set_index(struct connman_device *device, int index); int connman_device_get_index(struct connman_device *device); void connman_device_set_interface(struct connman_device *device, - const char *interface); -const char *connman_device_get_interface(struct connman_device *device); + const char *interface); void connman_device_set_ident(struct connman_device *device, const char *ident); - -void connman_device_set_mode(struct connman_device *device, - enum connman_device_mode mode); -enum connman_device_mode connman_device_get_mode(struct connman_device *device); -void connman_device_set_secondary(struct connman_device *device, - connman_bool_t secondary); -connman_bool_t connman_device_get_secondary(struct connman_device *device); +const char *connman_device_get_ident(struct connman_device *device); int connman_device_set_powered(struct connman_device *device, - connman_bool_t powered); -int connman_device_set_carrier(struct connman_device *device, - connman_bool_t carrier); + bool powered); +bool connman_device_get_powered(struct connman_device *device); int connman_device_set_scanning(struct connman_device *device, - connman_bool_t scanning); -int connman_device_set_disconnected(struct connman_device *device, - connman_bool_t disconnected); -int connman_device_set_connected(struct connman_device *device, - connman_bool_t connected); + enum connman_service_type type, bool scanning); +bool connman_device_get_scanning(struct connman_device *device, + enum connman_service_type type); +void connman_device_reset_scanning(struct connman_device *device); int connman_device_set_string(struct connman_device *device, const char *key, const char *value); @@ -102,8 +106,22 @@ int connman_device_add_network(struct connman_device *device, struct connman_network *network); struct connman_network *connman_device_get_network(struct connman_device *device, const char *identifier); +#if defined TIZEN_EXT +struct connman_network *connman_device_get_default_network( + struct connman_device *device); +void connman_device_set_pending_reply(struct connman_device *device, + DBusMessage *msg); +void connman_device_send_connected_signal(struct connman_device *device, + bool connected); +void connman_device_set_max_scan_ssids(struct connman_device *device, + int max_scan_ssids); +int connman_device_get_max_scan_ssids(struct connman_device *device); +void connman_device_set_wifi_5ghz_supported(struct connman_device *device, + bool is_5_0_ghz_supported); +bool connman_device_get_wifi_5ghz_supported(struct connman_device *device); +#endif int connman_device_remove_network(struct connman_device *device, - const char *identifier); + struct connman_network *network); int connman_device_register(struct connman_device *device); void connman_device_unregister(struct connman_device *device); @@ -111,6 +129,30 @@ void connman_device_unregister(struct connman_device *device); void *connman_device_get_data(struct connman_device *device); void connman_device_set_data(struct connman_device *device, void *data); +int connman_device_set_regdom(struct connman_device *device, + const char *alpha2); +void connman_device_regdom_notify(struct connman_device *device, + int result, const char *alpha2); +struct connman_device *connman_device_create_from_index(int index); +struct connman_device *connman_device_find_by_index(int index); +int connman_device_reconnect_service(struct connman_device *device); + +#if defined TIZEN_EXT +bool connman_device_set_last_user_selection_time(struct connman_device *device, + time_t time); +time_t connman_device_get_last_user_selection_time(struct connman_device *device); +bool connman_device_set_last_user_selection_ident(struct connman_device *device, + const char *ident); +const char *connman_device_get_last_user_selection_ident(struct connman_device *device); +bool connman_device_set_last_connected_ident(struct connman_device *device, + const char *ident); +const char *connman_device_get_last_connected_ident(struct connman_device *device); +void connman_device_save_last_user_selection(struct connman_device *device); +void connman_device_load_last_user_selection(struct connman_device *device); +void connman_device_save_last_connected(struct connman_device *device); +void connman_device_load_last_connected(struct connman_device *device); +#endif + struct connman_device_driver { const char *name; enum connman_device_type type; @@ -119,11 +161,24 @@ struct connman_device_driver { void (*remove) (struct connman_device *device); int (*enable) (struct connman_device *device); int (*disable) (struct connman_device *device); - int (*connect) (struct connman_device *device); - int (*disconnect) (struct connman_device *device); - int (*scan) (struct connman_device *device); - int (*join) (struct connman_device *device, - struct connman_network *network); + int (*scan)(struct connman_device *device, + struct connman_device_scan_params *params); + void (*stop_scan) (enum connman_service_type type, + struct connman_device *device); + int (*set_regdom) (struct connman_device *device, + const char *alpha2); +#if defined TIZEN_EXT + int (*specific_scan) (enum connman_service_type type, + struct connman_device *device, int scan_type, + GSList *specific_scan_list, void *user_data); +#endif +#if defined TIZEN_EXT_WIFI_MESH + int (*abort_scan) (enum connman_service_type type, + struct connman_device *device); + int (*mesh_specific_scan) (enum connman_service_type type, + struct connman_device *device, const char *ssid, unsigned int freq, + void *user_data); +#endif }; int connman_device_driver_register(struct connman_device_driver *driver);