1. 28 Aug, 2012 6 commits
    • Philip Withnall's avatar
      telepathy: Support lazy initialisation of properties · eb75447e
      Philip Withnall authored
      See commit 303547fec56e416f57f73643e2afb7bb4e4a8a7f. This adds support for
      lazy initialisation of multi-valued properties to the Telepathy backend.
    • Philip Withnall's avatar
      eds: Support lazy initialisation of properties · 57f84d50
      Philip Withnall authored
      See commit 303547fec56e416f57f73643e2afb7bb4e4a8a7f. This adds support for
      lazy initialisation of multi-valued properties to the EDS backend.
    • Philip Withnall's avatar
      core: Support lazy initialisation of properties · 4a59af5c
      Philip Withnall authored
      Creating several HashSets and HashMultiMaps for every Individual turns
      out to be quite wasteful, especially when most of them will typically be
      empty (as address books are generally quite sparse on properties) and never
      accessed (since most clients don’t need local IDs or web service addresses).
      This commit delays initialisation of various multi-valued Individual
      properties to the first time they’re accessed, giving them a null value
      before that time. It preserves the existing API for Individual, i.e. the
      properties themselves remain non-nullable, and only the object members
      backing them become nullable.
      This does introduce a slight behaviour change, in that an Individual will
      now emit change notifications for a non-initialised multi-valued property if
      *any* of the Personas in the Individual emit a notification for that
      property. This is because the Individual can’t compare the current value of
      its property to the new one resulting from the change in the Persona’s
      property value to determine if a change has really occurred. Therefore the
      Individual makes a safe over-estimate and emits notifications which might
      be false positives.
      This shouldn’t be a problem: if a client is interested in the property,
      they will have already queried it and caused it to be initialised.
      Initialised properties have the same notification behaviour as before.
      If a client isn’t interested in the property, it won’t be connected to the
      property notifications anyway.
      This change roughly quarters the number of GObjects being created when
      opening folks-inspect with the Telepathy, key-file and EDS backends enabled
      and ~115 personas in the system.
    • Philip Withnall's avatar
    • Philip Withnall's avatar
      eds: Batch up emissions of personas-changed while starting up · 3e48d450
      Philip Withnall authored
      There’s no point in emitting personas-changed multiple times before the EDS
      persona store has reached quiescence — it just means the individual
      aggregator has to re-link more personas with each emission.
      This patch batches up emissions of personas-changed from the EDS persona
      store until is-quiescent is reached, then notifies about all personas in
      a single emission.
    • Philip Withnall's avatar
      eds: Remove unnecessary locking · 5df5c3f4
      Philip Withnall authored
      It didn’t achieve anything.
  2. 27 Aug, 2012 2 commits
  3. 25 Aug, 2012 6 commits
  4. 24 Aug, 2012 1 commit
  5. 23 Aug, 2012 2 commits
  6. 21 Aug, 2012 1 commit
  7. 16 Aug, 2012 2 commits
  8. 15 Aug, 2012 3 commits
  9. 14 Aug, 2012 5 commits
  10. 13 Aug, 2012 1 commit
  11. 12 Aug, 2012 2 commits
  12. 10 Aug, 2012 5 commits
  13. 09 Aug, 2012 4 commits
    • Philip Withnall's avatar
      docs: Various small fixes and expansions of documentation · e7b96a7b
      Philip Withnall authored
       • Various links fixed to point to class documentation rather than its
         constructor documentation (this is a quirk of Valadoc; if using
         “{@link ClassName}” inside a method of ClassName, the link will point to
         ClassName’s constructor because symbols are resolved relatively and the
         class’ constructor is called “ClassName”).
       • Various bits of documentation expanded (mostly trivially) to shut gtk-doc
         up about missing long descriptions.
       • Some Vala code attributes moved around so the documentation comments are
         correctly associated with the code. (This shouldn’t change the behaviour
         of the attributes themselves.)
       • Some trivial constructors added to classes in order to give them
       • Constructor for Utils added and deprecated immediately. Utils should
         become a nested namespace on the next API break, since it will only ever
         contain static methods, and thus doesn’t need to be instantiab...
    • Philip Withnall's avatar
      docs: Remove protected symbols from the documentation · 9cfa94ed
      Philip Withnall authored
      Folks isn’t really extensible outside its own source tree, so why clutter
      up the documentation (and its build process/logs) with protected symbols?
    • Philip Withnall's avatar
      eds: Minor API fixes in the EDS backend · 93a708de
      Philip Withnall authored
      These APIs, introduced in folks 0.7.1 (so this is an unstable API break,
      but that’s OK), weren’t quite right in C. The SourceRegistry constructor
      shouldn’t be exposed publicly as part of folks, and the PersonaStore
      constructor had a stray extra parameter.
    • Erick Pérez Castellanos's avatar
      tests fixed to match last vala release. · 316c0be5
      Erick Pérez Castellanos authored
      Vala change:
      1. Warn when accessing static members with an instance reference.
      2. Deprecate implicit .begin for async methods.
      Bug: https://bugzilla.gnome.org/show_bug.cgi?id=681420