summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-09-08 09:12:19 +0200
committerMarcel Holtmann <marcel@holtmann.org>2009-09-08 09:12:19 +0200
commit154102e8738f956a96346c938e7cabdb929d9f81 (patch)
tree5df5dce77ef939be46f1d1de7117ed470a9a9fe5 /src
parent7b00e73caf3b3d139f09ba308c34812a7ecfbb30 (diff)
downloadofono-154102e8738f956a96346c938e7cabdb929d9f81.tar.bz2
Add modem properties for booleans
Diffstat (limited to 'src')
-rw-r--r--src/modem.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/modem.c b/src/modem.c
index b5d6f4ee..ed6f870b 100644
--- a/src/modem.c
+++ b/src/modem.c
@@ -44,6 +44,7 @@ enum ofono_property_type {
OFONO_PROPERTY_TYPE_INVALID = 0,
OFONO_PROPERTY_TYPE_STRING,
OFONO_PROPERTY_TYPE_INTEGER,
+ OFONO_PROPERTY_TYPE_BOOLEAN,
};
struct ofono_modem {
@@ -951,6 +952,9 @@ static int set_modem_property(struct ofono_modem *modem, const char *name,
case OFONO_PROPERTY_TYPE_INTEGER:
property->value = g_memdup(value, sizeof(int));
break;
+ case OFONO_PROPERTY_TYPE_BOOLEAN:
+ property->value = g_memdup(value, sizeof(bool));
+ break;
default:
break;
}
@@ -983,6 +987,9 @@ static gboolean get_modem_property(struct ofono_modem *modem, const char *name,
case OFONO_PROPERTY_TYPE_INTEGER:
memcpy(value, property->value, sizeof(int));
return TRUE;
+ case OFONO_PROPERTY_TYPE_BOOLEAN:
+ memcpy(value, property->value, sizeof(bool));
+ return TRUE;
default:
return FALSE;
}
@@ -1002,6 +1009,13 @@ int ofono_modem_set_integer(struct ofono_modem *modem,
OFONO_PROPERTY_TYPE_INTEGER, &value);
}
+int ofono_modem_set_boolean(struct ofono_modem *modem,
+ const char *key, bool value)
+{
+ return set_modem_property(modem, key,
+ OFONO_PROPERTY_TYPE_BOOLEAN, &value);
+}
+
const char *ofono_modem_get_string(struct ofono_modem *modem, const char *key)
{
const char *value;
@@ -1024,6 +1038,17 @@ int ofono_modem_get_integer(struct ofono_modem *modem, const char *key)
return value;
}
+bool ofono_modem_get_boolean(struct ofono_modem *modem, const char *key)
+{
+ bool value;
+
+ if (get_modem_property(modem, key,
+ OFONO_PROPERTY_TYPE_BOOLEAN, &value) == FALSE)
+ return FALSE;
+
+ return value;
+}
+
struct ofono_modem *ofono_modem_create(const char *type)
{
struct ofono_modem *modem;