diff options
author | Jukka Rissanen <jukka.rissanen@linux.intel.com> | 2012-08-14 17:05:34 +0300 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-08-15 13:49:46 +0300 |
commit | 3db6c5de810977be99cc44941247847147b62d96 (patch) | |
tree | bde96816a17f21ee97de501791a688f812b419b7 /src/service.c | |
parent | 41516dd2c14e1d3cbd66f92f08d3515a2b5a0680 (diff) | |
download | connman-3db6c5de810977be99cc44941247847147b62d96.tar.gz connman-3db6c5de810977be99cc44941247847147b62d96.tar.bz2 connman-3db6c5de810977be99cc44941247847147b62d96.zip |
service: Remember provider pending dbus message
The provider connect dbus reply message is stored in service
until provider is connected.
Diffstat (limited to 'src/service.c')
-rw-r--r-- | src/service.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c index c5fe0231..205573a6 100644 --- a/src/service.c +++ b/src/service.c @@ -105,6 +105,7 @@ struct connman_service { char *private_key_passphrase; char *phase2; DBusMessage *pending; + DBusMessage *provider_pending; guint timeout; struct connman_stats stats; struct connman_stats stats_roaming; @@ -3468,6 +3469,31 @@ static void reply_pending(struct connman_service *service, int error) } } +connman_bool_t +__connman_service_is_provider_pending(struct connman_service *service) +{ + if (service == NULL) + return FALSE; + + if (service->provider_pending != NULL) + return TRUE; + + return FALSE; +} + +void __connman_service_set_provider_pending(struct connman_service *service, + DBusMessage *msg) +{ + if (service->provider_pending != NULL) { + DBG("service %p provider pending msg %p already exists", + service, service->provider_pending); + return; + } + + service->provider_pending = msg; + return; +} + static void check_pending_msg(struct connman_service *service) { if (service->pending == NULL) |