• Dan Winship's avatar
    libnm-glib: implement GInitable/GAsyncInitable in NMObject · 9fd98ef9
    Dan Winship authored
    Implement GInitable and GAsyncInitable in NMObject, with
    implementations that synchronously or asynchonously load all
    properties, and change _nm_object_ensure_inited() to run
    g_initable_init().
    
    Update the object/object-array property handling to initialize the
    objects after creating them (synchronously or asynchronously,
    according to the situation), so that they will have all of their
    properties preloaded before they are ever visible to the caller.
    
    Move the non-blocking/non-failable parts of various objects'
    constructor() methods to constructed(), and move the blocking/failable
    parts to init(), and implement init_async() methods with non-blocking
    versions of the blocking methods.
    
    Make nm_device_new() and nm_client_new() call
    _nm_object_ensure_inited(), to preserve the behaviour formerly
    enforced by their construct() methods, that properties are guaranteed
    to be initialized before any signals involving them are emitted.
    9fd98ef9
nm-dhcp4-config.c 6.06 KB