Add rust or zig support for libpurple3

Hi everyone,

I just landing in here because I want to replace whatsapp web if a lightweight client.

Taking a look on this MR, I need to say, as a non C developer this sound like a lot of noise for a simple MR.

Too much boilerplate and a ton of knowledge are required just to get started.

This was something that already have been discussed?

I’m not sure what you’re asking to be discussed?

That review request is how GObjects work. It’s adding a subclass of PurpleRequestField to handle QR codes and allow user interfaces to determine how to handle them. This boilerplate as you called it is well known to anyone that has developed anything with the GNOME libraries.

This is done this way because libpurple not only abstracts the protocols, it also abstracts the user interfaces. You can read more about that here.

As for language bindings, the GObject system that Purple3 uses/implements has a tool called gobject-introspection that makes language bindings a breeze, see gtk-rs and zig-gobject.