Am Donnerstag, den 15.11.2007, 14:21 +0100 schrieb Alexander Larsson:
> On Thu, 2007-11-15 at 13:06 +0000, Emmanuele Bassi wrote:
> > On Thu, 2007-11-15 at 12:52 +0100, Mathias Hasselmann wrote:
> >
> > > static void
> > > authenticate (SoupSession *session,
> > > /* other arguments... */
> > > gchar **username,
> > > gchar **password,
> > > gpointer user_data)
> > > {
> > > /* ... */
> > >
> > > g_free (*username);
> > > *username = g_strdup (lookup_username ());
> > >
> > > /* ... */
> > > }
> > >
> > > Notice that this use of "gchar**" arguments is different from the
> usage
> > > as "NULL terminated arrays of strings", aka. "G_TYPE_STRV".
> >
> > this is probably the most evil use of signals I've seen in a while. ;-)
> >
> > the SoupSession should really take a AuthenticateCallback function and
> > emit a signal on success or one on failure.
>
> What gio does in the similar case of mounting is that GMountOperation
> gets a ask_for_password signal. Then the implementation of this gets to
> throw up some dialog and then it calls back into the GMountOperation
> when it knows the answer. This also allows the ask-for-password code to
> run async, and not having to recurse the mainloop (and generally be
> modal).
Sounds interesting, but guess I have to read your code to understand
what __exactly__ you mean.
Ciao,
Mathias
--
Mathias Hasselmann <mathias hasselmann gmx de>
http://taschenorakel.de/
Attachment:
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil