1. 03 Feb, 2012 8 commits
    • Dan Winship's avatar
      libnm-glib: asyncify NMRemoteSettings · c619365e
      Dan Winship authored
      Add nm_remote_settings_new_async/_finish, and misc other fixes
      c619365e
    • Dan Winship's avatar
    • 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
    • Dan Winship's avatar
      libnm-glib: add "pseudoproperties" for things like Client.GetDevices · ad5daa09
      Dan Winship authored
      Add generic handling for "properties" that consist of a "Get" method,
      an "Added" signal, and a "Removed" signal, reusing some of the code
      for handling object-array-valued properties. And load the values of
      pseudo properties from _nm_object_reload/ensure_properties as well.
      ad5daa09
    • Dan Winship's avatar
      libnm-glib: simplify handling of object and object array properties · cc90f101
      Dan Winship authored
      Add an "object_type" field to NMPropertiesInfo, and use that with
      DBUS_TYPE_G_OBJECT_PATH and DBUS_TYPE_G_ARRAY_OF_OBJECT_PATH
      properties so that we don't need custom marshallers for each one.
      
      When creating an NMDevice or NMActiveConnection, we need to fetch an
      extra property first to figure out the exact subclass to use, so add a
      bit of infrastructure for that as well. Also, do that preprocessing
      asynchronously when processing a property change notification, so that
      it doesn't block the main loop.
      cc90f101
    • Dan Winship's avatar
      libnm-glib: simplify property getter methods · 5afcee46
      Dan Winship authored
      Rather than having every property getter method have code to fetch
      that specific property's value, just call the new
      _nm_object_ensure_inited() (which makes sure that we've read all the
      property values on the object at least once), and then return the
      cached value. (After we've read the initial property values, the
      PropertiesChanged signal handler will ensure that the values are kept
      up to date, so we can always just return cached property values after
      that point.)
      
      This then lets us get rid of _nm_object_get_property() and its
      wrappers.
      5afcee46
    • Dan Winship's avatar
      libnm-glib: simplify and genericize property declaration · 2e48cc09
      Dan Winship authored
      Rename _nm_object_handle_properties_changed(), etc, to be about
      properties in general, rather than just property changes.
      
      Interpret func==NULL in NMPropertiesInfo as meaning "use
      _nm_object_demarshal_generic", and then reorder the fields so that you
      can just leave that field out in the declarations when it's NULL.
      
      Add a way to register properties that exist in D-Bus but aren't
      tracked by the NMObjects, and use that for NMDevice's D-Bus Ip4Address
      property, replacing the existing hack.
      
      Also add a few other missing properties noticed along the way.
      2e48cc09
    • Jiří Klimeš's avatar
      examples: add C examples for monitoring whether NM runs · 38382770
      Jiří Klimeš authored
      - the first uses dbus-glib and D-Bus "NameOwnerChanged" signal directly
      - the second uses GIO's g_bus_watch_name()
      - the third uses Qt and QDBusServiceWatcher class
      38382770
  2. 02 Feb, 2012 10 commits
  3. 01 Feb, 2012 7 commits
  4. 30 Jan, 2012 2 commits
  5. 27 Jan, 2012 4 commits
  6. 26 Jan, 2012 4 commits
  7. 25 Jan, 2012 3 commits
  8. 23 Jan, 2012 1 commit
  9. 17 Jan, 2012 1 commit