+ * connman_device_set_string:
+ * @device: device structure
+ * @key: unique identifier
+ * @value: string value
+ *
+ * Set string value for specific key
+ */
+int connman_device_set_string(struct connman_device *device,
+ const char *key, const char *value)
+{
+ DBG("device %p key %s value %s", device, key, value);
+
+ if (g_str_equal(key, "Address") == TRUE) {
+ g_free(device->address);
+ device->address = g_strdup(value);
+ } else if (g_str_equal(key, "Name") == TRUE) {
+ g_free(device->name);
+ device->name = g_strdup(value);
+ } else if (g_str_equal(key, "Node") == TRUE) {
+ g_free(device->node);
+ device->node = g_strdup(value);
+ }
+
+ return connman_element_set_string(&device->element, key, value);
+}
+
+/**
+ * connman_device_get_string:
+ * @device: device structure
+ * @key: unique identifier
+ *
+ * Get string value for specific key
+ */
+const char *connman_device_get_string(struct connman_device *device,
+ const char *key)
+{
+ DBG("device %p key %s", device, key);
+
+ if (g_str_equal(key, "Address") == TRUE)
+ return device->address;
+ else if (g_str_equal(key, "Name") == TRUE)
+ return device->name;
+ else if (g_str_equal(key, "Node") == TRUE)
+ return device->node;
+
+ return connman_element_get_string(&device->element, key);
+}
+
+static void set_offlinemode(struct connman_element *element, gpointer user_data)
+{
+ struct connman_device *device = element->device;
+ connman_bool_t offlinemode = GPOINTER_TO_UINT(user_data);
+ connman_bool_t powered;
+
+ DBG("element %p name %s", element, element->name);
+
+ if (device == NULL)
+ return;
+
+ powered = (offlinemode == TRUE) ? FALSE : TRUE;
+
+ if (device->powered == powered)
+ return;
+
+ set_powered(device, powered);
+}
+
+int __connman_device_set_offlinemode(connman_bool_t offlinemode)
+{
+ DBG("offlinmode %d", offlinemode);
+
+ __connman_element_foreach(NULL, CONNMAN_ELEMENT_TYPE_DEVICE,
+ set_offlinemode, GUINT_TO_POINTER(offlinemode));
+
+ __connman_notifier_offline_mode(offlinemode);
+
+ return 0;
+}
+
+void __connman_device_increase_connections(struct connman_device *device)
+{
+ device->connections++;
+}
+
+void __connman_device_decrease_connections(struct connman_device *device)
+{
+ device->connections--;
+}
+
+/**