summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-10-27 12:39:46 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-10-27 12:39:46 -0500
commitbbe6eb6d4e578b52abee4478594189f2dc566bdd (patch)
treeed52b19985fb25682c9c5b93bcc36c62a69be363
parentf07b326090cba67811935f760aebe69f054a8af3 (diff)
downloadofono-bbe6eb6d4e578b52abee4478594189f2dc566bdd.tar.bz2
gprs-context: Replace TYPE_INVALID with TYPE_ANY
-rw-r--r--include/gprs-context.h2
-rw-r--r--src/gprs.c53
2 files changed, 28 insertions, 27 deletions
diff --git a/include/gprs-context.h b/include/gprs-context.h
index f796e2d5..c29c0dc9 100644
--- a/include/gprs-context.h
+++ b/include/gprs-context.h
@@ -40,7 +40,7 @@ enum ofono_gprs_proto {
};
enum ofono_gprs_context_type {
- OFONO_GPRS_CONTEXT_TYPE_INVALID = 0,
+ OFONO_GPRS_CONTEXT_TYPE_ANY = 0,
OFONO_GPRS_CONTEXT_TYPE_INTERNET,
OFONO_GPRS_CONTEXT_TYPE_MMS,
OFONO_GPRS_CONTEXT_TYPE_WAP,
diff --git a/src/gprs.c b/src/gprs.c
index e94f1693..219bd4a0 100644
--- a/src/gprs.c
+++ b/src/gprs.c
@@ -125,10 +125,10 @@ struct pri_context {
static void gprs_netreg_update(struct ofono_gprs *gprs);
static void gprs_deactivate_next(struct ofono_gprs *gprs);
-static const char *gprs_context_type_to_default_name(enum ofono_gprs_context_type type)
+static const char *gprs_context_default_name(enum ofono_gprs_context_type type)
{
switch (type) {
- case OFONO_GPRS_CONTEXT_TYPE_INVALID:
+ case OFONO_GPRS_CONTEXT_TYPE_ANY:
return NULL;
case OFONO_GPRS_CONTEXT_TYPE_INTERNET:
return "Internet";
@@ -146,7 +146,7 @@ static const char *gprs_context_type_to_default_name(enum ofono_gprs_context_typ
static const char *gprs_context_type_to_string(enum ofono_gprs_context_type type)
{
switch (type) {
- case OFONO_GPRS_CONTEXT_TYPE_INVALID:
+ case OFONO_GPRS_CONTEXT_TYPE_ANY:
return NULL;
case OFONO_GPRS_CONTEXT_TYPE_INTERNET:
return "internet";
@@ -161,18 +161,24 @@ static const char *gprs_context_type_to_string(enum ofono_gprs_context_type type
return NULL;
}
-static enum ofono_gprs_context_type gprs_context_string_to_type(const char *str)
+static gboolean gprs_context_string_to_type(const char *str,
+ enum ofono_gprs_context_type *out)
{
- if (g_str_equal(str, "internet"))
- return OFONO_GPRS_CONTEXT_TYPE_INTERNET;
- else if (g_str_equal(str, "wap"))
- return OFONO_GPRS_CONTEXT_TYPE_WAP;
- else if (g_str_equal(str, "mms"))
- return OFONO_GPRS_CONTEXT_TYPE_MMS;
- else if (g_str_equal(str, "ims"))
- return OFONO_GPRS_CONTEXT_TYPE_IMS;
+ if (g_str_equal(str, "internet")) {
+ *out = OFONO_GPRS_CONTEXT_TYPE_INTERNET;
+ return TRUE;
+ } else if (g_str_equal(str, "wap")) {
+ *out = OFONO_GPRS_CONTEXT_TYPE_WAP;
+ return TRUE;
+ } else if (g_str_equal(str, "mms")) {
+ *out = OFONO_GPRS_CONTEXT_TYPE_MMS;
+ return TRUE;
+ } else if (g_str_equal(str, "ims")) {
+ *out = OFONO_GPRS_CONTEXT_TYPE_IMS;
+ return FALSE;
+ }
- return OFONO_GPRS_CONTEXT_TYPE_INVALID;
+ return FALSE;
}
static const char *gprs_proto_to_string(enum ofono_gprs_proto proto)
@@ -815,9 +821,7 @@ static DBusMessage *pri_set_type(struct pri_context *ctx, DBusConnection *conn,
GKeyFile *settings = ctx->gprs->settings;
enum ofono_gprs_context_type context_type;
- context_type = gprs_context_string_to_type(type);
-
- if (context_type == OFONO_GPRS_CONTEXT_TYPE_INVALID)
+ if (gprs_context_string_to_type(type, &context_type) == FALSE)
return __ofono_error_invalid_format(msg);
if (ctx->type == context_type)
@@ -974,7 +978,7 @@ static gboolean assign_context(struct pri_context *ctx)
if (gc->inuse == TRUE)
continue;
- if (gc->type == OFONO_GPRS_CONTEXT_TYPE_INVALID ||
+ if (gc->type == OFONO_GPRS_CONTEXT_TYPE_ANY ||
gc->type == ctx->type) {
ctx->context_driver = gc;
ctx->context_driver->inuse = TRUE;
@@ -1147,7 +1151,7 @@ static struct pri_context *pri_context_create(struct ofono_gprs *gprs,
return NULL;
if (!name) {
- name = gprs_context_type_to_default_name(type);
+ name = gprs_context_default_name(type);
if (!name)
return NULL;
}
@@ -1600,15 +1604,13 @@ static DBusMessage *gprs_add_context(DBusConnection *conn,
DBUS_TYPE_INVALID))
return __ofono_error_invalid_args(msg);
- type = gprs_context_string_to_type(typestr);
+ if (gprs_context_string_to_type(typestr, &type) == FALSE)
+ return __ofono_error_invalid_format(msg);
- name = gprs_context_type_to_default_name(type);
+ name = gprs_context_default_name(type);
if (name == NULL)
name = typestr;
- if (type == OFONO_GPRS_CONTEXT_TYPE_INVALID)
- return __ofono_error_invalid_format(msg);
-
context = add_context(gprs, name, type);
if (context == NULL)
return __ofono_error_failed(msg);
@@ -2058,7 +2060,7 @@ struct ofono_gprs_context *ofono_gprs_context_create(struct ofono_modem *modem,
if (gc == NULL)
return NULL;
- gc->type = OFONO_GPRS_CONTEXT_TYPE_INVALID;
+ gc->type = OFONO_GPRS_CONTEXT_TYPE_ANY;
gc->atom = __ofono_modem_add_atom(modem, OFONO_ATOM_TYPE_GPRS_CONTEXT,
gprs_context_remove, gc);
@@ -2291,8 +2293,7 @@ static gboolean load_context(struct ofono_gprs *gprs, const char *group)
if (typestr == NULL)
goto error;
- type = gprs_context_string_to_type(typestr);
- if (type == OFONO_GPRS_CONTEXT_TYPE_INVALID)
+ if (gprs_context_string_to_type(typestr, &type) == FALSE)
goto error;
protostr = g_key_file_get_string(gprs->settings, group,