Hmm, is this the code for uploading your own icon? It seems like you would
only want to have one of those at a time? If someone sets their icon twice in
quick succession, you could just cancel the first one.
If I'm wrong, then yes a GSList of GaimProxyConnectData structs is a good
idea. Or maybe even a hash table, but that seems like overkill.
In any case, having the proxy code pass back GaimProxyConnectData as a
parameter is probably a good idea.
When I did the cancelable stuff I thought about being able to pass in a
handle/reference thingy like the notify and request APIs, and then you could
call something like gaim_proxy_request_close_with_handle(gc), but that seemed
a bit over engineered to me. I figured I could always do it this way and if
it started to get messy then I could change it. I guess I would suggest first
changing Yahoo! to keep track of the GaimProxyConnectData(s), and if the code
is really ugly or people want to use the handle paradigm then we can change it.