connman_bool_t hardblock);
int __connman_technology_remove_rfkill(unsigned int index);
+int __connman_technology_enable_tethering(void);
+int __connman_technology_disable_tethering(void);
+
#include <connman/device.h>
int __connman_device_init(void);
driver_list = g_slist_remove(driver_list, driver);
}
+int __connman_technology_enable_tethering(void)
+{
+ GSList *list;
+
+ for (list = technology_list; list; list = list->next) {
+ struct connman_technology *technology = list->data;
+
+ if (technology->driver == NULL)
+ continue;
+ }
+
+ return 0;
+}
+
+int __connman_technology_disable_tethering(void)
+{
+ GSList *list;
+
+ for (list = technology_list; list; list = list->next) {
+ struct connman_technology *technology = list->data;
+
+ if (technology->driver == NULL)
+ continue;
+ }
+
+ return 0;
+}
+
static void free_rfkill(gpointer data)
{
struct connman_rfkill *rfkill = data;
if (status == tethering_status)
return -EALREADY;
- if (status == TRUE)
+ if (status == TRUE) {
create_bridge(BRIDGE_NAME);
- else
+ __connman_technology_enable_tethering();
+ } else {
+ __connman_technology_disable_tethering();
remove_bridge(BRIDGE_NAME);
+ }
tethering_status = status;