Commit Graph

42 Commits

Author SHA1 Message Date
Simon McVittie
a54aaa54be services/presence/presenceservice: look up buddies by key-ID if we don't know the full key yet. 2007-05-30 17:41:08 +01:00
Simon McVittie
f90de752f6 services/presence/presenceservice: weakly reference Buddy objects in _buddies
This makes sure we re-use an existing Buddy object if it's still referenced
somewhere, rather than trying to make another and fighting over the object path.
2007-05-30 17:40:31 +01:00
Simon McVittie
ee6c1b4283 services/presence/: Have joined Activities track membership via group interface.
This allows us to ignore the (trivially spoofable) PEP info for activities
that we're actually in, in favour of looking at the actual members.
2007-05-30 17:36:42 +01:00
Simon McVittie
6957446167 services/presence/: Make Activities responsible for tracking their members.
Add a signal to notify the PS when all members have gone away.
2007-05-29 16:12:05 +01:00
Simon McVittie
a4a06206e3 services/presence/: identify Buddies by "key ID" (pubkey hash), not whole key.
This allows us to create Buddy objects as soon as we see a contact on the
server. For contacts not on trusted servers, or seen in anonymous MUCs, we
create a Buddy identified by JID instead (so we have some way to talk
about the anonymous contact within the Sugar API).

The concept of "trusted server" means a server which we trust to validate that
users with a keyID as the username part of their JID do in fact have that key.
Currently we just pretend that olpc.collabora.co.uk does this - in future, the
school servers will do this validation by using key rather than password
authentication.

Also create Buddy object paths based on the keyID or JID (for easier debugging).
2007-05-28 17:25:52 +01:00
Simon McVittie
9721436536 services/presence/: Pass the SessionBus around, instead of a BusName object.
Delay making the BusName object until after the PS object has been exported,
to guarantee race-free activation.
2007-05-25 16:21:02 +01:00
Simon McVittie
7b20bacdf5 services/presence/presenceservice: check against None with 'is' 2007-05-24 18:59:25 +01:00
Simon McVittie
0410ed28ba services/presence/presenceservice: add some missing in_signature arguments 2007-05-24 18:59:19 +01:00
Simon McVittie
570a485d84 services/presence/presenceservice: don't use deprecated dbus.glib
Importing dbus.glib has strange magical side-effects. Instead, make it more
explicit that the default dbus-python main loop is being set to the GLib main
loop.
2007-05-24 18:59:13 +01:00
Simon McVittie
2abcd89c1f services/presence/: Move internal_get_activity to TestPresenceService 2007-05-24 18:59:06 +01:00
Simon McVittie
f7ba2aa1e2 services/presence/: separate test code into a separate module 2007-05-24 18:58:58 +01:00
Simon McVittie
e7f10dd2aa services/presence/presenceservice: fix broken syntax 2007-05-24 18:58:43 +01:00
Simon McVittie
1026fce013 services/presence/presenceservice: various cosmetic cleanups
* wrap long lines at 80 characters
* don't preformat log messages, let the logging framework do it
* eradicate trailing whitespace
2007-05-24 18:57:53 +01:00
Simon McVittie
43453124bd services/presence/presenceservice: Make bytes_to_string() unnecessary by requesting a ByteArray from dbus-python 2007-05-24 18:56:29 +01:00
Simon McVittie
7b1a38af1c services/presence/: keep track of the owner's Telepathy handles 2007-05-24 18:47:55 +01:00
Simon McVittie
a6e809a9ef services/presence/: move more of the handle tracking into the Buddy object 2007-05-24 18:46:09 +01:00
Simon McVittie
494e17b3cd Revert "services/presence/: move more of the handle tracking into the Buddy object".
It shouldn't have been applied before "services/presence: buddy: add mapping
to/from Telepathy handles" which has not yet been reviewed.

This reverts commit 78356b1956.

Conflicts:

	services/presence/presenceservice.py
2007-05-24 12:34:36 +01:00
Simon McVittie
1d79d93627 Fix syntax 2007-05-21 11:50:29 +01:00
Simon McVittie
78356b1956 services/presence/: move more of the handle tracking into the Buddy object 2007-05-18 15:22:32 +01:00
Simon McVittie
4b26840333 sugar.presence.presenceservice, services/presence: Use named loggers.
This causes events in the log to be annotated with the module that emitted the
message.

Before: DEBUG - root: Starting up...
After: DEBUG - s-p-s.server_plugin: Starting up...

I've used a log domain of "sugar.presence..." for the client library and
e.g. "s-p-s.activity" for the service internals.
2007-05-15 14:58:15 +01:00
Dan Williams
66dfd363ba Log the PS getting kicked off the bus 2007-05-13 21:33:14 -04:00
Dan Williams
077b3e3391 Fix debug log statement 2007-05-13 21:08:54 -04:00
Simon McVittie
2216f5095d Use ExportedGObject from dbus-python rather than reimplementing it 2007-05-11 17:27:36 -04:00
Dan Williams
d598097994 Fix retrieval of owner's object path 2007-05-07 14:18:20 -04:00
Dan Williams
e63accc8be Make test buddy attribute randomization optional 2007-04-29 18:01:23 -04:00
Tomeu Vizoso
395d3f5c96 Fix. 2007-04-27 13:01:41 +02:00
Dan Williams
99bf82b44f Make TestOwner create more realistic activities and switch between them 2007-04-16 22:44:54 -04:00
Dan Williams
845734eb72 Ignore unknown handles 2007-04-16 22:43:26 -04:00
Dan Williams
d45e6dd1a6 Show which buddy properties were updated 2007-04-16 22:42:35 -04:00
Dan Williams
879ef9b0e0 Add activity to owner's list after sharing it 2007-04-13 16:59:16 -04:00
Dan Williams
182de3af1c Remove test code 2007-04-13 15:41:19 -04:00
Dan Williams
5015beaaa6 Clean up activity join/leave debug messages 2007-04-13 15:37:12 -04:00
Dan Williams
94431a66eb Ensure local activities emit ActivityAppeared signal when shared 2007-04-13 15:15:09 -04:00
Dan Williams
773ae4965e Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar 2007-04-13 13:12:04 -04:00
Dan Williams
31000f6c3e Asynchronize activity join/share in the PS 2007-04-13 13:11:59 -04:00
Guillaume Desmottes
6b6b72f9c9 implement org.laptop.Sugar.Presence.GetPreferredConnection 2007-04-13 18:29:50 +02:00
Dan Williams
118e039a8b Remove test activity sharing code 2007-04-12 17:03:14 -04:00
Dan Williams
5970bb6e62 Convert print statements to logging.debug 2007-04-12 14:44:23 -04:00
Dan Williams
162a87f882 Create test owner for presence service
This owner changes properties periodically so we can test out the PS's handling
of property changes.  To execute, run Sugar and then make sure that the D-Bus
address is the one sugar is using (get it from ~/.sugar/default/session.info).
Then run:

build/bin/sugar-presence-service X

where X is a number 1 -> 9 inclusive.  It will generate fake buddy info for that
test buddy and then start up a presence service for that buddy, changing a random
property of the buddy every 10 seconds.
2007-04-11 22:49:14 -04:00
Dan Williams
dba902bd15 Fix unknown variable bug 2007-04-10 14:12:12 -04:00
Dan Williams
48cab08b33 PS fixes; use correct type on public keys and hide invalid buddies 2007-04-10 10:59:35 -04:00
Dan Williams
2509d990e4 Cut over to new PresenceService 2007-04-09 14:40:50 -04:00