From: Lucio Maciel <[email protected]>
Dbus-glib doesn't have a uint16 type, so a client written
with it couldn't set the ScanInterval.
---
doc/device-lowlevel-api.txt | 2 +-
include/types.h | 1 +
src/device.c | 8 ++++----
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/doc/device-lowlevel-api.txt b/doc/device-lowlevel-api.txt
index f01751b..a025537 100644
--- a/doc/device-lowlevel-api.txt
+++ b/doc/device-lowlevel-api.txt
@@ -79,7 +79,7 @@ Properties string Address [readonly]
Once a device is blocked, enabling it will fail.
- uint16 ScanInterval [readwrite]
+ uint32 ScanInterval [readwrite]
The scan interval describes the time in seconds
between automated scan attempts. Setting this
diff --git a/include/types.h b/include/types.h
index 70aff9e..d1d3abd 100644
--- a/include/types.h
+++ b/include/types.h
@@ -37,6 +37,7 @@ extern "C" {
typedef int connman_bool_t;
typedef unsigned char connman_uint8_t;
typedef unsigned short connman_uint16_t;
+typedef unsigned int connman_uint32_t;
#ifdef __cplusplus
}
diff --git a/src/device.c b/src/device.c
index ad976b5..dc76f44 100644
--- a/src/device.c
+++ b/src/device.c
@@ -44,7 +44,7 @@ struct connman_device {
connman_bool_t scanning;
connman_bool_t disconnected;
connman_bool_t reconnect;
- connman_uint16_t scan_interval;
+ connman_uint32_t scan_interval;
char *name;
char *node;
char *address;
@@ -357,7 +357,7 @@ static DBusMessage *get_properties(DBusConnection *conn,
case CONNMAN_DEVICE_MODE_NETWORK_MULTIPLE:
if (device->scan_interval > 0)
connman_dbus_dict_append_basic(&dict, "ScanInterval",
- DBUS_TYPE_UINT16, &device->scan_interval);
+ DBUS_TYPE_UINT32, &device->scan_interval);
connman_dbus_dict_append_array(&dict, "Networks",
DBUS_TYPE_OBJECT_PATH, append_networks, device);
@@ -442,7 +442,7 @@ static DBusMessage *set_property(DBusConnection *conn,
return NULL;
}
} else if (g_str_equal(name, "ScanInterval") == TRUE) {
- connman_uint16_t interval;
+ connman_uint32_t interval;
switch (device->mode) {
case CONNMAN_DEVICE_MODE_UNKNOWN:
@@ -451,7 +451,7 @@ static DBusMessage *set_property(DBusConnection *conn,
break;
}
- if (type != DBUS_TYPE_UINT16)
+ if (type != DBUS_TYPE_UINT32)
return __connman_error_invalid_arguments(msg);
dbus_message_iter_get_basic(&value, &interval);
--
1.7.2.3
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman