Hi Jukka,

> +/*
> + * Callback from provisioning plugin.
> + */
> +typedef void (*ofono_gprs_provision_cb_t)(
> +                     const struct ofono_gprs_provision_data settings[],
> +                     int count, void *user_data);
> +
> +struct ofono_gprs_provision_driver {
> +     const char *name;
> +     int priority;
> +     int (*probe)(struct ofono_gprs_provision_context *context);
> +     void (*remove)(struct ofono_gprs_provision_context *context);
> +     void (*get_settings)(struct ofono_gprs_provision_context *context,
> +                             ofono_gprs_provision_cb_t cb,
> +                             void *user_data);
> +};

So I don't really see the point in an asynchronous provisioning driver.
 If you want to do this over D-Bus or something then you might as well
provision via the ConnectionManager interface.  The other problem with
being async is that is nearly impossible to support multiple
provisioning plugins properly.  I'd rather not deal with the race
conditions.

If we can't make the lookup fast enough to be done synchronously, then I
think we should give up.

I also don't see the point of instantiating these per modem.  The API
already has all the information it needs in the get_settings call.  So
having the plugin allocate its data in the plugin init function and free
it there seems enough to me.

Regards,
-Denis
_______________________________________________
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono

Reply via email to