GNOME Bugzilla – Bug 774189
Port libsoup to the new private api
Last modified: 2018-04-16 08:44:52 UTC
Start porting some of the classes to the new glib private api. Each patch is self contained so it can be pushed independently.
Created attachment 339442 [details] [review] address: port to use the new private api
Created attachment 339443 [details] [review] auth-basic: port to use the new private api
Created attachment 339444 [details] [review] auth: port to the new private api
Created attachment 339445 [details] [review] auth-digest: port to the new private api
Created attachment 339446 [details] [review] auth-domain-basic: port to the new private api
Created attachment 339447 [details] [review] auth-domain: port to the new private api
Created attachment 339448 [details] [review] auth-domain-digest: port to the new private api
Created attachment 339449 [details] [review] auth-manager: port to the new private api
Created attachment 339450 [details] [review] auth-negotiate: port to the new private api
Created attachment 339451 [details] [review] auth-ntlm: port to the new private api
Created attachment 339452 [details] [review] body-input-stream: port to the new private api
Created attachment 339453 [details] [review] body-output-stream: port to the new private api
Created attachment 339454 [details] [review] cache: port to the new private api
Created attachment 339455 [details] [review] cache-input-stream: port to the new private api
Created attachment 339456 [details] [review] client-input-stream: port to the new private api
Created attachment 339457 [details] [review] connection-auth: port to the new private api
Created attachment 339458 [details] [review] connection: port to the new private api
Created attachment 339459 [details] [review] content-decoder: port to the new private api
Created attachment 339460 [details] [review] content-sniffer-stream: port to the new private api
Created attachment 339461 [details] [review] converter-wrapper: port to the new private api
Created attachment 339462 [details] [review] cookie-jar: port to the new private api
Created attachment 339463 [details] [review] cookie-jar-db: port to the new private api
Created attachment 339464 [details] [review] cookie-jar-text: port to the new private api
Created attachment 339465 [details] [review] filter-input-stream: port to the new private api
Created attachment 339466 [details] [review] io-stream: port to the new private api
Created attachment 339467 [details] [review] logger: port to the new private api
oof. could you either squash that or push it as a branch somewhere?
Sure: wip/withprivate
Sure, looks fine, and we already depend on a new-enough glib. I don't think there's any reason to commit the changes file-by-file though. Just squash it all together when you're done and commit it.
Created attachment 339817 [details] [review] Port some of the classes to the new glib private api We are already depending on the a newly enough glib so we are now allowed to clean up a bit and use the new private api.
Attachment 339817 [details] pushed as bd93c27 - Port some of the classes to the new glib private api
This broke the build if LIBSOUP_HAVE_GSSAPI is missing, due to moving the DEFINE_TYPE inside of the #ifdef in soup-auth-negotiate.c. I'm assuming you did that because the Private struct contains gss types, and (now) needs to be defined before the class is defined. Suggested fix: #ifdef only around the gss-specific types in the private struct, and declare the class unconditionally.
Created attachment 341475 [details] [review] Define SoupAuthNegotiate unconditionally This class doesn't do much if LIBSOUP_HAVE_GSSAPI is not defined, but the type itself still needs to exist, or (among other things) the introspection build will fail. bd93c273ea787df4f3fe03c9cf6c8e53d8fc5fc9 broke that, by making the G_DEFINE_TYPE() condition on #ifdef LIBSOUP_HAVE_GSSAPI. This was done because the Private struct contains gss types. Reorder things a bit to make sure we always do the G_DEFINE_TYPE() even if we have no GSSAPI.
Review of attachment 341475 [details] [review]: Looks good.
Review of attachment 341475 [details] [review]: To ssh://git.gnome.org/git/libsoup cf21cfa..975e6f5 master -> master
Is there any reason why this bug is not closed? Looks like it's already fixed. Ignacio, can you please close this bug if it's indeed fixed?
I guess we can close it. There was still some class that was not ported but it was a bit difficult to port it. Thanks for pointing it out.