act-user: Use G_DECLARE_FINAL_TYPE to declare ActUser

This tidies up the code a bit, and (critically) exposes a concrete
structure for `ActUser` and `ActUserClass`. Previously these were
dangling typedefs, which meant the compiler had no idea they derived
from `GObject`, and hence would give warnings about strict aliasing when
(for example) calling:
g_set_object (&my_user, user);
where `my_user` and `user` were both `ActUser*`.

This shouldn’t introduce any API or ABI changes, as the library
basically exposed no API in this area before. The autoptr cleanup
function is now defined by `G_DECLARE_FINAL_TYPE`.

libaccountsservice already depends on GLib 2.63, so no dependency bump
is needed.

Signed-off-by: Philip Withnall <>
1 job for master in 2 minutes
Status Job ID Name Coverage
passed #1717501