diff options
author | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2012-10-31 10:33:31 +0100 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-11-05 14:43:33 +0200 |
commit | 571da6449e813c3cf1a3f9515818d69bbc2e264d (patch) | |
tree | dfdbeece268dd464411fa722ca41a4f3aef3f58b /plugins | |
parent | a475f99d89f5f9615c31400f4a7126be871c3152 (diff) | |
download | connman-571da6449e813c3cf1a3f9515818d69bbc2e264d.tar.gz connman-571da6449e813c3cf1a3f9515818d69bbc2e264d.tar.bz2 connman-571da6449e813c3cf1a3f9515818d69bbc2e264d.zip |
session: Add callback to policy create()
Instead returning directly a config when create() is called
in policy plugin, use a callback function for handing over a valid
configuration from the plugin to the session core. This prepares
support for asynchronous create call.
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/session_policy.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/plugins/session_policy.c b/plugins/session_policy.c index 98d984ac..85929f96 100644 --- a/plugins/session_policy.c +++ b/plugins/session_policy.c @@ -35,20 +35,26 @@ static GHashTable *config_hash; -static struct connman_session_config *policy_create( - struct connman_session *session) +static int policy_create(struct connman_session *session, + connman_session_config_cb callback, + void *user_data) { struct connman_session_config *config; DBG("session %p", session); + if (callback == NULL) + return -EINVAL; + config = connman_session_create_default_config(); if (config == NULL) - return NULL; + return -ENOMEM; g_hash_table_replace(config_hash, session, config); - return config; + (*callback)(session, config, user_data, 0); + + return 0; } static void policy_destroy(struct connman_session *session) |