#define ETHERNET_MAC_INFO_FILE "/sys/class/net/eth0/address"
#define WIFI_MAC_INFO_FILE "/sys/class/net/wlan0/address"
-typedef enum
-{
- FEATURE_TYPE_TELEPHONY = 0,
- FEATURE_TYPE_WIFI = 1,
- FEATURE_TYPE_TETHERING_BLUETOOTH = 2
-} enable_feature_type_e;
-
-typedef enum
-{
+#define TELEPHONY_FEATURE "http://tizen.org/feature/network.telephony"
+#define WIFI_FEATURE "http://tizen.org/feature/network.wifi"
+#define TETHERING_BLUETOOTH_FEATURE "http://tizen.org/feature/network.tethering.bluetooth"
+#define ETHERNET_FEATURE "http://tizen.org/feature/network.ethernet"
+
+typedef enum {
CONNECTION_CELLULAR_SUBSCRIBER_1 = 0x00,
CONNECTION_CELLULAR_SUBSCRIBER_2 = 0x01,
} connection_cellular_subscriber_id_e;
+typedef enum {
+ CONNECTION_SUPPORTED_FEATURE_TELEPHONY,
+ CONNECTION_SUPPORTED_FEATURE_WIFI,
+ CONNECTION_SUPPORTED_FEATURE_TETHERING_BLUETOOTH,
+ CONNECTION_SUPPORTED_FEATURE_ETHERNET,
+ CONNECTION_SUPPORTED_FEATURE_MAX,
+} connection_supported_feature_e;
+
+#define CONN_LOCK \
+ do { \
+ _connection_lock(); \
+ } while(0)
+
+#define CONN_UNLOCK \
+ do { \
+ _connection_unlock(); \
+ } while(0)
+
+#define CHECK_FEATURE_SUPPORTED(...) \
+ do { \
+ int rv = _connection_check_feature_supported(__VA_ARGS__, NULL); \
+ if (rv != CONNECTION_ERROR_NONE) { \
+ CONN_UNLOCK; \
+ return rv; \
+ } \
+ } while (0)
+
+#define DEPRECATED_LOG(origin, substitution) \
+ do { \
+ LOGW("DEPRECATION WARNING: %s() is deprecated and will be removed " \
+ "from next release. Use %s() instead", origin, substitution); \
+ } while (0)
+
#define CONNECTION_LOG(log_level, format, args...) \
do { \
switch (log_level) { \
default: \
LOGI(format, ## args); \
} \
- } while(0)
-
-#define CONNECTION_MUTEX_LOCK _connection_inter_mutex_lock()
-#define CONNECTION_MUTEX_UNLOCK _connection_inter_mutex_unlock()
+ } while (0)
#define SECURE_CONNECTION_LOG(log_level, format, args...) \
do { \
default: \
SECURE_LOGI(format, ## args); \
} \
- } while(0)
+ } while (0)
#define VCONF_TELEPHONY_DEFAULT_DATA_SERVICE \
"db/telephony/dualsim/default_data_service"
connection_type_changed_cb type_changed_callback;
connection_address_changed_cb ip_changed_callback;
connection_address_changed_cb proxy_changed_callback;
- connection_ethernet_cable_state_chaged_cb ethernet_cable_state_changed_callback;
+ connection_internet_state_changed_cb internet_state_changed_callback;
+ connection_ethernet_cable_state_changed_cb ethernet_cable_state_changed_callback;
+ connection_set_default_cb set_default_callback;
+ connection_opened_cb opened_callback;
+ connection_closed_cb closed_callback;
+ connection_opened_cb reset_callback;
void *type_changed_user_data;
void *ip_changed_user_data;
void *proxy_changed_user_data;
+ void *internet_state_changed_user_data;
void *ethernet_cable_state_changed_user_data;
-} connection_handle_s;
+ void *set_default_user_data;
+ void *opened_user_data;
+ void *closed_user_data;
+ void *reset_user_data;
-typedef void(*libnet_ethernet_cable_state_changed_cb)
- (connection_ethernet_cable_state_e state);
-
-bool _connection_is_created(void);
+ void *network_info_handle;
+} connection_handle_s;
-int _connection_libnet_init(void);
-bool _connection_libnet_deinit(void);
-int _connection_libnet_get_wifi_state(connection_wifi_state_e *state);
-int _connection_libnet_get_ethernet_state(connection_ethernet_state_e *state);
-int _connection_libnet_get_ethernet_cable_state(connection_ethernet_cable_state_e* state);
-int _connection_libnet_set_ethernet_cable_state_changed_cb(
- libnet_ethernet_cable_state_changed_cb callback);
-int _connection_libnet_get_bluetooth_state(connection_bt_state_e* state);
+int _connection_libnet_init(connection_handle_s *conn_handle);
+bool _connection_libnet_deinit(connection_handle_s *conn_handle, bool is_empty);
+void _connection_set_cs_tid(int tid, connection_handle_s *conn_handle);
+void _connection_unset_cs_tid(int tid, connection_handle_s *conn_handle);
+int _connection_libnet_get_metered_state(connection_handle_s *conn_handle, bool* is_metered);
+int _connection_libnet_get_wifi_state(connection_handle_s *conn_handle, connection_wifi_state_e *state);
+int _connection_libnet_get_ethernet_state(connection_handle_s *conn_handle,
+ connection_ethernet_state_e *state);
+int _connection_libnet_get_ethernet_cable_state(connection_handle_s *conn_handle,
+ connection_ethernet_cable_state_e* state);
+int _connection_libnet_get_bluetooth_state(connection_handle_s *conn_handle, connection_bt_state_e* state);
bool _connection_libnet_check_profile_validity(connection_profile_h profile);
-bool _connection_libnet_check_profile_cb_validity(connection_profile_h profile);
-int _connection_libnet_get_profile_iterator(connection_iterator_type_e type,
- connection_profile_iterator_h *profile_iterator);
+int _connection_libnet_get_profile_iterator(connection_handle_s *conn_handle,
+ connection_iterator_type_e type, connection_profile_iterator_h *profile_iterator);
bool _connection_libnet_iterator_has_next(connection_profile_iterator_h profile_iterator);
-int _connection_libnet_get_iterator_next(connection_profile_iterator_h profile_iter_h, connection_profile_h *profile);
+int _connection_libnet_get_iterator_next(connection_profile_iterator_h profile_iter_h,
+ connection_profile_h *profile);
int _connection_libnet_destroy_iterator(connection_profile_iterator_h profile_iter_h);
-int _connection_libnet_get_current_profile(connection_profile_h *profile);
-int _connection_libnet_reset_profile(connection_reset_option_e type, connection_cellular_subscriber_id_e id, connection_reset_cb callback, void *user_data);
-int _connection_libnet_open_profile(connection_profile_h profile, connection_opened_cb callback, void *user_data);
-int _connection_libnet_get_cellular_service_profile(connection_cellular_service_type_e type, connection_profile_h *profile);
-int _connection_libnet_set_cellular_service_profile_sync(connection_cellular_service_type_e type, connection_profile_h profile);
-int _connection_libnet_set_cellular_service_profile_async(connection_cellular_service_type_e type,
- connection_profile_h profile, connection_set_default_cb callback, void* user_data);
-int _connection_libnet_close_profile(connection_profile_h profile, connection_closed_cb callback, void *user_data);
-int _connection_libnet_add_route(const char *interface_name, const char *host_address);
-int _connection_libnet_remove_route(const char *interface_name, const char *host_address);
-int _connection_libnet_add_route_ipv6(const char *interface_name, const char *host_address, const char * gateway);
-int _connection_libnet_remove_route_ipv6(const char *interface_name, const char *host_address, const char * gateway);
+int _connection_libnet_get_current_profile(connection_handle_s *conn_handle,
+ connection_profile_h *profile);
+int _connection_libnet_reset_profile(connection_handle_s *conn_handle,
+ connection_reset_option_e type, connection_cellular_subscriber_id_e id);
+int _connection_libnet_open_profile(connection_handle_s *conn_handle,
+ connection_profile_h profile);
+int _connection_libnet_get_cellular_service_profile(connection_handle_s *conn_handle,
+ connection_cellular_service_type_e type, connection_profile_h *profile);
+int _connection_libnet_set_cellular_service_profile_sync(connection_handle_s *conn_handle,
+ connection_cellular_service_type_e type, connection_profile_h profile);
+int _connection_libnet_set_cellular_service_profile_async(connection_handle_s *conn_handle,
+ connection_cellular_service_type_e type, connection_profile_h profile);
+int _connection_libnet_close_profile(connection_handle_s *conn_handle, connection_profile_h profile);
+int _connection_libnet_add_route(connection_handle_s *conn_handle,
+ const char *interface_name, const char *host_address);
+int _connection_libnet_remove_route(connection_handle_s *conn_handle,
+ const char *interface_name, const char *host_address);
+int _connection_libnet_add_route_ipv6(connection_handle_s *conn_handle,
+ const char *interface_name, const char *host_address, const char * gateway);
+int _connection_libnet_remove_route_ipv6(connection_handle_s *conn_handle,
+ const char *interface_name, const char *host_address, const char * gateway);
+int _connection_libnet_add_route_entry(connection_handle_s *conn_handle,
+ connection_address_family_e address_family, const char *interface_name,
+ const char *host_address, const char * gateway);
+int _connection_libnet_remove_route_entry(connection_handle_s *conn_handle,
+ connection_address_family_e address_family, const char *interface_name,
+ const char *host_address, const char * gateway);
void _connection_libnet_add_to_profile_list(connection_profile_h profile);
void _connection_libnet_remove_from_profile_list(connection_profile_h profile);
bool _connection_libnet_add_to_profile_cb_list(connection_profile_h profile,
- connection_profile_state_changed_cb callback, void *user_data);
+ connection_profile_state_changed_cb callback, void *user_data);
bool _connection_libnet_remove_from_profile_cb_list(connection_profile_h profile);
-int _connection_libnet_set_statistics(net_device_t device_type, net_statistics_type_e statistics_type);
-int _connection_libnet_get_statistics(net_statistics_type_e statistics_type, unsigned long long *size);
-int _connection_libnet_check_get_privilege();
-int _connection_libnet_check_profile_privilege();
-
-bool _connection_libnet_get_is_check_enable_feature();
-bool _connection_libnet_get_enable_feature_state(enable_feature_type_e feature_type);
-int _connection_libnet_check_enable_feature();
+int _connection_libnet_set_statistics(connection_handle_s *conn_handle,
+ net_device_t device_type, net_statistics_type_e statistics_type);
+int _connection_libnet_get_statistics(connection_handle_s *conn_handle,
+ net_statistics_type_e statistics_type, unsigned long long *size);
+int _connection_libnet_check_get_privilege(void);
+int _connection_libnet_check_profile_privilege(void);
-guint _connection_callback_add(GSourceFunc func, gpointer user_data);
-void _connection_callback_cleanup(void);
+int _connection_check_feature_supported(const char *feature_name, ...);
connection_cellular_service_type_e _profile_convert_to_connection_cellular_service_type(net_service_type_t svc_type);
connection_profile_state_e _profile_convert_to_cp_state(net_state_type_t state);
net_service_type_t _connection_profile_convert_to_libnet_cellular_service_type(connection_cellular_service_type_e svc_type);
net_state_type_t _connection_profile_convert_to_net_state(connection_profile_state_e state);
-int _connection_libnet_set_cellular_subscriber_id(connection_profile_h profile, connection_cellular_subscriber_id_e sim_id);
-void _connection_inter_mutex_lock(void);
-void _connection_inter_mutex_unlock(void);
+int _connection_libnet_set_cellular_subscriber_id(connection_profile_h profile,
+ connection_cellular_subscriber_id_e sim_id);
+
+int _connection_libnet_start_tcpdump(connection_handle_s *conn_handle);
+int _connection_libnet_stop_tcpdump(connection_handle_s *conn_handle);
+int _connection_libnet_get_tcpdump_state(connection_handle_s *conn_handle,
+ gboolean *tcpdump_state);
+
+void _connection_lock(void);
+void _connection_unlock(void);
+bool _connection_check_handle_validity(connection_h connection);
#ifdef __cplusplus
}
#endif /* __cplusplus */