Philip Withnall [Wed, 14 Jul 2010 11:40:28 +0000 (12:40 +0100)]
Don't install or EXTRA_DIST the package documentation
It's unnecessary, and automake knows to distribute the files already.
Philip Withnall [Wed, 14 Jul 2010 11:36:10 +0000 (12:36 +0100)]
Fix ChangeLog cleaning
It should be removed optionally during distclean, and forcibly during
maintainerclean.
Philip Withnall [Wed, 14 Jul 2010 11:27:37 +0000 (12:27 +0100)]
Remove unused gtk-doc lines from build system
We use valadoc instead.
Philip Withnall [Wed, 14 Jul 2010 11:25:48 +0000 (12:25 +0100)]
Remove unused scrollkeeper lines from Makefile
Philip Withnall [Wed, 14 Jul 2010 11:22:15 +0000 (12:22 +0100)]
Remove some unused lines from the configure summary
Philip Withnall [Wed, 14 Jul 2010 11:21:57 +0000 (12:21 +0100)]
Remove some barely-used silent build machinery from the Makefiles
Philip Withnall [Wed, 14 Jul 2010 09:27:14 +0000 (10:27 +0100)]
Fix MIME type memory leak in BackendStore
Philip Withnall [Tue, 13 Jul 2010 13:46:07 +0000 (14:46 +0100)]
Don't leak TpfPersona references for each Individual
Due to bgo#624249, GLib.List.remove() leaks an item reference, so we need to
manually unreference each persona we remove from the personas list in
Individual.
Philip Withnall [Mon, 12 Jul 2010 15:01:29 +0000 (16:01 +0100)]
Break a refcycle between TpfPersonaStore and TpfPersona
This is achieved by making the pointer that each TpfPersona holds to their
relevant TpfPersonaStore a weak pointer, rather than a referenced pointer.
Philip Withnall [Fri, 9 Jul 2010 10:03:47 +0000 (11:03 +0100)]
Allow backends to be completely unloaded
This means that if the IndividualAggregator is finalized, all the resources
used by the backends which were loaded are freed. This allows multiple
IndividualAggregator instances to be used sequentially, and also ensures that
all Persona instances get destroyed.
Philip Withnall [Sat, 10 Jul 2010 14:12:55 +0000 (15:12 +0100)]
Ensure we don't unref every TpAccount
AccountManager.get_valid_accounts() only transfers the container, and
Vala ignores this unless you assign it to a variable with an unowned
item type.
Philip Withnall [Sat, 10 Jul 2010 13:33:56 +0000 (14:33 +0100)]
Remove extraneous array length parameter
change_favourites_by_request_handles no longer needs an explicit array
length parameter, due to changes in Connection.request_handles.
Travis Reitter [Tue, 13 Jul 2010 06:22:37 +0000 (23:22 -0700)]
Use a more-flexible a{sv} type for the add_persona_from_details() functions.
Travis Reitter [Mon, 12 Jul 2010 23:49:40 +0000 (16:49 -0700)]
Bump the version for the new PersonaStore/IndividualAggregator API
Travis Reitter [Mon, 12 Jul 2010 23:47:00 +0000 (16:47 -0700)]
Combine the IndividualAggregator:individuals-added and -removed signals.
Also include a backend-supplied message, persona who caused the change, and
reason for the change. This will allow us to pass on the more-detailed
notification bits for Telepathy (eg, "You got kicked from room XYZ by Foo Baz:
'I just felt like booting someone.'").
Travis Reitter [Mon, 12 Jul 2010 23:33:49 +0000 (16:33 -0700)]
Pass along the message, actor, and reason from standard-channel Telepathy contacts.
Travis Reitter [Mon, 12 Jul 2010 22:45:18 +0000 (15:45 -0700)]
Combine the PersonaStore:personas-added and personas-removed signals.
Also include a backend-supplied message, persona who caused the change, and
reason for the change. This will allow us to pass on the more-detailed
notification bits for Telepathy (eg, "You got kicked from room XYZ by Foo Bar:
'I just felt like booting someone.'").
Travis Reitter [Mon, 12 Jul 2010 23:48:55 +0000 (16:48 -0700)]
Bump the required version of tp-glib
Travis Reitter [Mon, 12 Jul 2010 18:57:35 +0000 (11:57 -0700)]
Also remove Capabilities from Individual.
Travis Reitter [Mon, 12 Jul 2010 17:27:59 +0000 (10:27 -0700)]
Remove the Capabilities interface.
There are some issues with its design, and it depends upon fixes to tp-glib that
we'd like to punt for now.
Travis Reitter [Mon, 12 Jul 2010 17:14:24 +0000 (10:14 -0700)]
Strip Capabilities interface from Tpf.Persona.
Travis Reitter [Fri, 9 Jul 2010 16:32:24 +0000 (09:32 -0700)]
Don't explicitly state the return type of AccountManager.get_valid_accounts().
Travis Reitter [Thu, 8 Jul 2010 23:33:33 +0000 (16:33 -0700)]
Vala doesn't accept GLib.Value as a generic type
This works around the problem (until we care about the content of the details
hash).
Travis Reitter [Thu, 8 Jul 2010 23:17:52 +0000 (16:17 -0700)]
Update for the new signature of ConnectionRequestHandlesCb.
Travis Reitter [Thu, 8 Jul 2010 22:49:29 +0000 (15:49 -0700)]
Cast TelepathyGLib.ContactFeature to uint, since tp-lowlevel can't use the symbol 'TpContactFeature'.
Travis Reitter [Thu, 8 Jul 2010 22:41:12 +0000 (15:41 -0700)]
Update for the fact that the g-i bindings don't bind the Channel.group_members_changed signal.
Travis Reitter [Thu, 8 Jul 2010 21:54:35 +0000 (14:54 -0700)]
Use the existing Tpf.PersonaError instead of the unbound TelepathyGLib.Error.
Travis Reitter [Thu, 8 Jul 2010 21:28:41 +0000 (14:28 -0700)]
Use uint for TpContactFeature, since the type doesn't exist in the Vala bindings.
Travis Reitter [Thu, 1 Jul 2010 00:20:52 +0000 (17:20 -0700)]
Adjust for the fact that AccountManager.get_valid_accounts () transfers ownership.
Travis Reitter [Thu, 1 Jul 2010 00:16:56 +0000 (17:16 -0700)]
Account.get_object_path() no longer (erroneously) takes an argument.
Travis Reitter [Thu, 1 Jul 2010 00:15:45 +0000 (17:15 -0700)]
Make Tpf.PersonaError public
Travis Reitter [Thu, 1 Jul 2010 00:15:10 +0000 (17:15 -0700)]
Use the modern TelepathyGLib.Proxy.prepare_async() instead of the old (and unbound) TelepathyGLib.Connection.call_when_ready ()
Travis Reitter [Wed, 30 Jun 2010 19:24:16 +0000 (12:24 -0700)]
Adjust for TelepathyGLib.AccountManager.get_valid_accounts() transferring ownership of the list.
Travis Reitter [Wed, 30 Jun 2010 19:19:50 +0000 (12:19 -0700)]
Adjust to TelepathyGLib.ConnectionContactsByHandleCb implicitly passing the array lengths.
Travis Reitter [Wed, 16 Jun 2010 22:42:42 +0000 (15:42 -0700)]
Continue adjusting to vapi changes in the g-i-based tp-glib bindings.
Travis Reitter [Wed, 16 Jun 2010 18:26:35 +0000 (11:26 -0700)]
Create our own errordomain for Tpf.Persona errors.
Travis Reitter [Wed, 16 Jun 2010 18:23:46 +0000 (11:23 -0700)]
Work-around the g-i bindings missing TpHandle.
Travis Reitter [Wed, 16 Jun 2010 18:23:21 +0000 (11:23 -0700)]
Adjust to the new tp-glib vala bindings namespace introduced by the g-i version.
Philip Withnall [Thu, 8 Jul 2010 09:56:36 +0000 (10:56 +0100)]
Don't try to strip() a null string
Philip Withnall [Thu, 8 Jul 2010 09:54:43 +0000 (10:54 +0100)]
Fix notification of favourites changes in Individual
Philip Withnall [Wed, 7 Jul 2010 17:15:33 +0000 (18:15 +0100)]
Allow single personas to be removed through the IndividualManager
Philip Withnall [Wed, 7 Jul 2010 16:00:38 +0000 (17:00 +0100)]
Ensure updates to Persona:groups affect Individuals
Philip Withnall [Wed, 7 Jul 2010 15:12:29 +0000 (16:12 +0100)]
Ensure personas are only created and added once
Previously, IndividualAggregator.add_persona_from_details() would return a
different instance of the same persona than would get added to the
PersonaStore later (through channel change notification). This fixes that
to re-use the original persona created by add_persona_from_details().
Philip Withnall [Wed, 7 Jul 2010 15:11:58 +0000 (16:11 +0100)]
Improve filtering of empty aliases
Philip Withnall [Wed, 7 Jul 2010 12:13:55 +0000 (13:13 +0100)]
Add alias notification in Folks.Individual
Travis Reitter [Mon, 5 Jul 2010 16:59:15 +0000 (09:59 -0700)]
Add missing dbus-glib dep to docs build process
Philip Withnall [Mon, 5 Jul 2010 09:44:02 +0000 (10:44 +0100)]
Remove the built documentation on distclean
Philip Withnall [Thu, 1 Jul 2010 17:08:32 +0000 (18:08 +0100)]
Add documentation to every method in the Telepathy backend
Much of the documentation is inherited from that in the core of libfolks, and
the rest isn't particularly in-depth.
Philip Withnall [Thu, 1 Jul 2010 16:51:20 +0000 (17:51 +0100)]
Add the Telepathy backend to the documentation build
Philip Withnall [Fri, 2 Jul 2010 13:31:49 +0000 (14:31 +0100)]
Make Tpf.PersonaStore.change_is_favourite() internal
Philip Withnall [Fri, 2 Jul 2010 12:24:05 +0000 (13:24 +0100)]
Pass changes to Personas' aliases on to Telepathy
Travis Reitter [Fri, 2 Jul 2010 00:01:10 +0000 (17:01 -0700)]
Actually ref new Personas set for an Individual, so we don't double-unref them later.
Travis Reitter [Thu, 1 Jul 2010 23:35:49 +0000 (16:35 -0700)]
Update an Individual's store-persona hash when the persona is removed from its store.
Travis Reitter [Thu, 1 Jul 2010 22:29:23 +0000 (15:29 -0700)]
Don't emit an extraneous 'personas-removed' before we get confirmation from the server.
Travis Reitter [Thu, 1 Jul 2010 21:53:49 +0000 (14:53 -0700)]
When removing a Tpf.Persona, remove it from the same struct we're cycling through.
Travis Reitter [Thu, 1 Jul 2010 21:47:10 +0000 (14:47 -0700)]
When removing Tpf.Personas from the store, ensure we empty corresponding entries for the persona's handle.
Travis Reitter [Thu, 1 Jul 2010 17:22:50 +0000 (10:22 -0700)]
Bump version.
Travis Reitter [Thu, 1 Jul 2010 17:16:36 +0000 (10:16 -0700)]
Merge remote branch 'pwith/fixes3-no-prepare'
Philip Withnall [Thu, 1 Jul 2010 17:12:11 +0000 (18:12 +0100)]
Merge branch 'master' into fixes3-no-prepare
Conflicts:
backends/telepathy/tpf-persona.vala
folks/individual.vala
folks/persona.vala
Philip Withnall [Thu, 1 Jul 2010 15:09:40 +0000 (16:09 +0100)]
Remove use of pkg-config directly from a Makefile
Philip Withnall [Thu, 1 Jul 2010 15:00:50 +0000 (16:00 +0100)]
Make configuration fail if vapigen is missing
Philip Withnall [Thu, 1 Jul 2010 14:46:21 +0000 (15:46 +0100)]
Split up pkg-config dependencies
Philip Withnall [Thu, 1 Jul 2010 14:25:22 +0000 (15:25 +0100)]
Apply new interface style convention
When a class implements any interfaces (in addition to its superclass), they
should each be put on a new line, and sorted alphabetically.
Philip Withnall [Thu, 1 Jul 2010 14:22:01 +0000 (15:22 +0100)]
Remove explicit array length from add_new_personas_from_contacts()
Philip Withnall [Wed, 30 Jun 2010 14:46:52 +0000 (15:46 +0100)]
Improve documentation build rules
Ensure that the documentation is rebuilt if any of the sources files it's
extracted from change.
Philip Withnall [Wed, 30 Jun 2010 13:57:20 +0000 (14:57 +0100)]
Clarify documentation of BackendStore.backend_available
Travis Reitter [Thu, 1 Jul 2010 03:08:32 +0000 (20:08 -0700)]
Bump required telepathy-glib.
Travis Reitter [Thu, 1 Jul 2010 02:46:04 +0000 (19:46 -0700)]
Merge remote branch 'pwith/interfaces'
Philip Withnall [Wed, 30 Jun 2010 11:38:05 +0000 (12:38 +0100)]
Fix audio and video capabilities
Philip Withnall [Wed, 30 Jun 2010 11:10:31 +0000 (12:10 +0100)]
Fix setting capabilities when Tp returns a null set of capabilities
Philip Withnall [Wed, 30 Jun 2010 11:04:43 +0000 (12:04 +0100)]
Merge branch 'master' into fixes3
Conflicts:
folks/individual.vala
Philip Withnall [Wed, 30 Jun 2010 11:00:15 +0000 (12:00 +0100)]
Merge branch 'master' into interfaces
Conflicts:
folks/persona-store.vala
folks/persona.vala
Philip Withnall [Wed, 30 Jun 2010 10:47:42 +0000 (11:47 +0100)]
Only warn about unknown personas if the account is already connected
This fixes spew of "unknown persona in favourites list" messages on startup.
Philip Withnall [Wed, 30 Jun 2010 10:40:37 +0000 (11:40 +0100)]
Handle the logger service going away gracefully
Philip Withnall [Wed, 30 Jun 2010 10:31:44 +0000 (11:31 +0100)]
Add a FIXME about using DBus.Connection.get_object_for_name_owner()
We can't use it at the moment due to bgo#623198.
Travis Reitter [Tue, 29 Jun 2010 23:50:34 +0000 (16:50 -0700)]
Merge remote branch 'pwith/favourites'
(Fixed)
Conflicts:
folks/individual.vala
folks/persona.vala
Travis Reitter [Tue, 29 Jun 2010 22:11:51 +0000 (15:11 -0700)]
Don't declare IndividualAggregator's constructor as throwing an error, since it doesn't.
Travis Reitter [Tue, 29 Jun 2010 22:08:38 +0000 (15:08 -0700)]
Merge remote branch 'pwith/docs2'
Fixed the documented return value for Presence.typecmp from docs2.
(Fixed)
Conflicts:
folks/individual-aggregator.vala
folks/individual.vala
Travis Reitter [Tue, 29 Jun 2010 17:51:42 +0000 (10:51 -0700)]
Make create_personas_from_channel_handles_async actually async.
Travis Reitter [Tue, 29 Jun 2010 18:02:47 +0000 (11:02 -0700)]
Bump the required version of GLib so we can take advantage of automatic ref counting for various GLib classes.
Philip Withnall [Tue, 29 Jun 2010 16:59:56 +0000 (17:59 +0100)]
Use get_object_for_name_owner() rather than just get_object()
This makes the Logger proxy more robust against the Logger service going
away.
Philip Withnall [Tue, 29 Jun 2010 15:27:52 +0000 (16:27 +0100)]
Make Individual.avatar.set private
Avatars are provided by the contacts; we can't set them ourselves.
Philip Withnall [Tue, 29 Jun 2010 15:27:19 +0000 (16:27 +0100)]
Implement a FIXME about checking for all-whitespace aliases
Philip Withnall [Tue, 29 Jun 2010 15:15:37 +0000 (16:15 +0100)]
Add capabilities support to TpfPersona
Philip Withnall [Tue, 29 Jun 2010 12:54:43 +0000 (13:54 +0100)]
Remove groups API from PersonaStore
It doesn't belong there, as classes which extend Folks.PersonaStore may not
implement Groups functionality. The API has been moved into TpfPersonaStore
as internal API to the Telepathy backend.
Philip Withnall [Tue, 29 Jun 2010 12:22:25 +0000 (13:22 +0100)]
Remove interfaces from Persona
Interfaces such as Alias and Persona should be implemented by the backend
persona class which extends Persona, since different backends will have
different functionalities. Any code using Persona should check which
interfaces the specific Persona instance implements before attempting to use
their functionality.
Philip Withnall [Tue, 29 Jun 2010 11:30:40 +0000 (12:30 +0100)]
Catch some unhandled errors
Philip Withnall [Tue, 29 Jun 2010 11:14:36 +0000 (12:14 +0100)]
Split the Logger interface out into a separate file
Split the LoggerIface we use to wrap the telepathy-logger D-Bus service out
into a separate file, and implement it in a new Logger class which shares the
same D-Bus object between all users of the class.
Philip Withnall [Tue, 29 Jun 2010 09:57:39 +0000 (10:57 +0100)]
First round of favourites review cleanups
Travis Reitter [Mon, 28 Jun 2010 22:11:04 +0000 (15:11 -0700)]
Change IndividualAggregator.members to IndividualAggregator.individuals for consistency with PersonaStore, etc.
Travis Reitter [Mon, 28 Jun 2010 21:31:44 +0000 (14:31 -0700)]
Rephrase explanation of Individual:removed signal.
Philip Withnall [Fri, 25 Jun 2010 16:36:48 +0000 (17:36 +0100)]
Add documentation for every public signal, property and member
Philip Withnall [Fri, 25 Jun 2010 14:29:56 +0000 (15:29 +0100)]
Remove an outdated comment
Philip Withnall [Wed, 23 Jun 2010 15:41:55 +0000 (16:41 +0100)]
Add Favourites support
This adds a Favourite interface, implemented by Individual and Persona, and
backed by a D-Bus connection to the telepathy-logger service in
TpfPersonaStore.
The D-Bus logger proxy is a custom-written one in Vala, as the logger proxy
doesn't exist in telepathy-glib at the moment.
Whenever the is-favourite property of an Individual is changed, its new value
is propagated to _all_ of the individual's Personas. Conversely, if a single
Persona has is-favourite == true, the Individual containing that Persona will
also have is-favourite == true.
Travis Reitter [Thu, 24 Jun 2010 16:32:38 +0000 (09:32 -0700)]
Merge remote branch 'pwith/fixes2'
(Fixed)
Conflicts:
backends/telepathy/tpf-persona-store.vala
Travis Reitter [Thu, 24 Jun 2010 15:22:33 +0000 (08:22 -0700)]
Merge remote branch 'pwith/docs'
(Fixed)
Conflicts:
folks/individual-aggregator.vala
folks/persona-store.vala
Travis Reitter [Thu, 24 Jun 2010 03:07:06 +0000 (20:07 -0700)]
Micro version bump for new functionality.
Travis Reitter [Thu, 24 Jun 2010 03:05:35 +0000 (20:05 -0700)]
Re-add the stored list, as it's necessary to properly remove contacts.
Travis Reitter [Thu, 24 Jun 2010 02:57:49 +0000 (19:57 -0700)]
Support contact removal
Travis Reitter [Thu, 24 Jun 2010 01:10:49 +0000 (18:10 -0700)]
Rename internal-only 'remove' functions in Tpf.PersonaStore so public 'remove' functions consistently mean 'remove permanently from the server'.