int __connman_device_init(void);
void __connman_device_cleanup(void);
+void __connman_device_increase_connections(struct connman_device *device);
+void __connman_device_decrease_connections(struct connman_device *device);
+
connman_bool_t __connman_device_has_driver(struct connman_device *device);
#include <connman/network.h>
char *name;
char *node;
char *interface;
+ unsigned int connections;
struct connman_device_driver *driver;
void *driver_data;
g_dbus_send_message(connection, signal);
+ if (powered == FALSE)
+ return 0;
+
+ if (device->policy != CONNMAN_DEVICE_POLICY_AUTO)
+ return 0;
+
+ if (device->driver->scan)
+ device->driver->scan(device);
+
return 0;
}
return 0;
}
+static void connect_known_network(struct connman_device *device)
+{
+ DBG("device %p", device);
+}
+
/**
* connman_device_set_scanning:
* @device: device structure
g_dbus_send_message(connection, signal);
+ if (scanning == TRUE)
+ return 0;
+
+ if (device->connections > 0)
+ return 0;
+
+ if (device->policy != CONNMAN_DEVICE_POLICY_AUTO)
+ return 0;
+
+ connect_known_network(device);
+
return 0;
}
return NULL;
}
+void __connman_device_increase_connections(struct connman_device *device)
+{
+ device->connections++;
+}
+
+void __connman_device_decrease_connections(struct connman_device *device)
+{
+ device->connections--;
+}
+
/**
* connman_device_add_network:
* @device: device structure
break;
}
+ __connman_device_increase_connections(network->device);
+
element = connman_element_create(NULL);
if (element != NULL) {
element->type = type;
element->index = network->element.index;
if (connman_element_register(element,
- &network->element) < 0)
+ &network->element) < 0)
connman_element_unref(element);
}
- } else
+ } else {
connman_element_unregister_children(&network->element);
+ __connman_device_decrease_connections(network->device);
+ }
+
return 0;
}