mirror of git://git.sysmocom.de/ofono
Add modem properties for booleans
This commit is contained in:
parent
7b00e73caf
commit
154102e873
|
@ -26,6 +26,8 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
#include <ofono/types.h>
|
#include <ofono/types.h>
|
||||||
|
|
||||||
struct ofono_modem;
|
struct ofono_modem;
|
||||||
|
@ -56,6 +58,10 @@ int ofono_modem_set_integer(struct ofono_modem *modem,
|
||||||
const char *key, int value);
|
const char *key, int value);
|
||||||
int ofono_modem_get_integer(struct ofono_modem *modem, const char *key);
|
int ofono_modem_get_integer(struct ofono_modem *modem, const char *key);
|
||||||
|
|
||||||
|
int ofono_modem_set_boolean(struct ofono_modem *modem,
|
||||||
|
const char *key, bool value);
|
||||||
|
bool ofono_modem_get_boolean(struct ofono_modem *modem, const char *key);
|
||||||
|
|
||||||
struct ofono_modem_driver {
|
struct ofono_modem_driver {
|
||||||
const char *name;
|
const char *name;
|
||||||
|
|
||||||
|
|
25
src/modem.c
25
src/modem.c
|
@ -44,6 +44,7 @@ enum ofono_property_type {
|
||||||
OFONO_PROPERTY_TYPE_INVALID = 0,
|
OFONO_PROPERTY_TYPE_INVALID = 0,
|
||||||
OFONO_PROPERTY_TYPE_STRING,
|
OFONO_PROPERTY_TYPE_STRING,
|
||||||
OFONO_PROPERTY_TYPE_INTEGER,
|
OFONO_PROPERTY_TYPE_INTEGER,
|
||||||
|
OFONO_PROPERTY_TYPE_BOOLEAN,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ofono_modem {
|
struct ofono_modem {
|
||||||
|
@ -951,6 +952,9 @@ static int set_modem_property(struct ofono_modem *modem, const char *name,
|
||||||
case OFONO_PROPERTY_TYPE_INTEGER:
|
case OFONO_PROPERTY_TYPE_INTEGER:
|
||||||
property->value = g_memdup(value, sizeof(int));
|
property->value = g_memdup(value, sizeof(int));
|
||||||
break;
|
break;
|
||||||
|
case OFONO_PROPERTY_TYPE_BOOLEAN:
|
||||||
|
property->value = g_memdup(value, sizeof(bool));
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -983,6 +987,9 @@ static gboolean get_modem_property(struct ofono_modem *modem, const char *name,
|
||||||
case OFONO_PROPERTY_TYPE_INTEGER:
|
case OFONO_PROPERTY_TYPE_INTEGER:
|
||||||
memcpy(value, property->value, sizeof(int));
|
memcpy(value, property->value, sizeof(int));
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
case OFONO_PROPERTY_TYPE_BOOLEAN:
|
||||||
|
memcpy(value, property->value, sizeof(bool));
|
||||||
|
return TRUE;
|
||||||
default:
|
default:
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -1002,6 +1009,13 @@ int ofono_modem_set_integer(struct ofono_modem *modem,
|
||||||
OFONO_PROPERTY_TYPE_INTEGER, &value);
|
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 *ofono_modem_get_string(struct ofono_modem *modem, const char *key)
|
||||||
{
|
{
|
||||||
const char *value;
|
const char *value;
|
||||||
|
@ -1024,6 +1038,17 @@ int ofono_modem_get_integer(struct ofono_modem *modem, const char *key)
|
||||||
return value;
|
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 *ofono_modem_create(const char *type)
|
||||||
{
|
{
|
||||||
struct ofono_modem *modem;
|
struct ofono_modem *modem;
|
||||||
|
|
Loading…
Reference in New Issue