From: Lucio Maciel <lucio.mac...@hp.com>

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
connman@connman.net
http://lists.connman.net/listinfo/connman

Reply via email to