diff options
author | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2012-09-26 10:48:26 +0200 |
---|---|---|
committer | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2012-09-27 10:28:28 +0200 |
commit | 131bf5b3228de622edc77568c8249141d5adf222 (patch) | |
tree | ce72e7bdc47885a33496cc06fb6a4777c8af4cee | |
parent | 5b6b35cc5ab199938353c09be0f3455a4a5bd9b0 (diff) | |
download | connman-131bf5b3228de622edc77568c8249141d5adf222.tar.gz connman-131bf5b3228de622edc77568c8249141d5adf222.tar.bz2 connman-131bf5b3228de622edc77568c8249141d5adf222.zip |
session: Assign config plugin to session
Let's pick the first plugin. If needed we can add some more smart code
later on.
-rw-r--r-- | src/session.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/session.c b/src/session.c index 6e7ea4d8..134bf7a6 100644 --- a/src/session.c +++ b/src/session.c @@ -276,6 +276,24 @@ static int policy_get_string(struct connman_session *session, const char *id, return (*session->policy->get_string)(id, key, val); } +static int assign_policy_plugin(struct connman_session *session) +{ + GSList *list; + struct connman_session_policy *policy; + + if (session->policy != NULL) + return -EALREADY; + + for (list = policy_list; list != NULL; list = list->next) { + policy = list->data; + + session->policy = policy; + break; + } + + return 0; +} + static gint compare_priority(gconstpointer a, gconstpointer b) { const struct connman_session_policy *policy1 = a; @@ -1583,6 +1601,8 @@ int __connman_session_create(DBusMessage *msg) g_dbus_add_disconnect_watch(connection, session->owner, owner_disconnect, session, NULL); + assign_policy_plugin(session); + policy_get_bool(session, owner, "Priority", &priority); policy_get_bool(session, owner, "EmergencyCall", &ecall_app); policy_get_string(session, owner, "RoamingPolicy", &roaming_policy_str); |