Commit Graph

161 Commits

Author SHA1 Message Date
Mike C. Fletcher
a7af5b06cd Try to avoid Sugar's shell just crashing and leaving a blank X server
when the PresenceService isn't available on the back-end for whatever
reason, whether mis-configuration, corrupted installation, unexpected
circumstances, or what have you.

This patch makes as few changes as possible to the code,
simply replacing the _ps member with a property that re-attempts
connection on each access until an attempt is successful.
2007-04-22 00:23:19 -04:00
Guillaume Desmottes
a4e18cf9c5 add get_preferred_connection method to PresenceService 2007-04-16 16:41:00 +02:00
Mike C. Fletcher
8635a702c6 Documentation for the activity and buddy presence objects 2007-04-15 00:27:48 -04:00
Mike C. Fletcher
0fc5e67dcc More documentation, mostly for the sugar.presence.presenceservice
module.
2007-04-14 23:38:21 -04:00
Dan Williams
3abe79353a Asynchronize activity sharing on the client side 2007-04-13 16:27:58 -04:00
Dan Williams
defd9f76e3 Convert icon data to python string before exposing it 2007-04-10 22:24:31 -04:00
Dan Williams
bf4b1a3f8f Fix icon changed signal handling in sugar PS bindings 2007-04-10 15:23:01 -04:00
Dan Williams
eee98e1f82 Re-enable new PresenceService by default 2007-04-10 14:49:14 -04:00
Dan Williams
a07e946cc4 Readd mock presence service and enable it by default 2007-04-10 08:39:02 -04:00
Dan Williams
76a0f45aa8 More new PS fixes 2007-04-09 16:05:32 -04:00
Dan Williams
bc083dae5a Cut over to new PresenceService 2007-04-09 14:40:56 -04:00
Dan Williams
2509d990e4 Cut over to new PresenceService 2007-04-09 14:40:50 -04:00
Marco Pesenti Gritti
f59fab783f Change the feedback for connected/connecting/disconnected access point,
using two different types of pulsing.
2007-03-29 17:25:47 +02:00
Marco Pesenti Gritti
bf805bfa2f Disable the presence service. You can reenable it by just
changing the _ENABLE var to True.
2007-03-28 12:17:34 +02:00
Justin Gallardo
b9f9ef0fe9 Changed all tabs to 4 spaces for python style 2006-12-04 11:12:24 -08:00
Dan Williams
1226b0b6b9 Fix Buddy object's get_service_of_type() method
This call would always fail for activity services because the
dbus bindings for it did not pass in the activity at all.  Fix
that.
2006-10-20 13:15:23 -04:00
Marco Pesenti Gritti
615242f4f8 Add LGPL header 2006-10-15 01:08:44 +02:00
Marco Pesenti Gritti
1df5b0020d Fix get_published_values to actually return the dict.
Get rid of the activity title property, we are not using it anyway.
2006-10-13 13:03:24 +02:00
Ian Bicking
bdf9c1b392 Updates to presence test and mockdbus 2006-10-03 12:50:21 -05:00
Ian Bicking
b010c0cd42 I added tests for the presence client interface. But the presence
client interface, I realize, is really boring and not worth testing
much.  More interesting, I guess, is the mockdbus module.  This will
need some more extension to be used by a server (I think), like the
presence server.
2006-10-03 12:25:05 -05:00
Dan Williams
70cbd90c7a Fix signal args 2006-09-27 15:01:40 -04:00
Dan Williams
ce577a6376 Refactor current activity handling to be top-level attributes and D-Bus signals, not stuck in the property dict 2006-09-26 13:31:14 -04:00
Dan Williams
6473444e09 Add a 'Disappeared' signal on the buddy object 2006-09-22 17:21:34 -04:00
Dan Williams
c978b5ed6d Ensure properties will always be an empty dict 2006-09-22 15:42:11 -04:00
Dan Williams
ab7ef75518 Add current activity accessor 2006-09-21 16:44:19 -04:00
Dan Williams
d0f23744f0 Use asynchronous service resolution to capture service updates too 2006-09-19 13:54:32 -04:00
Dan Williams
b39eff3365 Refcount tracked service types; ensure only the process that registers a service can change it; add support for updated service properties/published values 2006-09-15 16:41:11 -04:00
Dan Williams
e402fe3286 Get initial properties synchronously rather than async 2006-09-08 11:26:40 -04:00
Dan Williams
e2306d81bd Add PropertyChanged signal for Buddy objects because color and address can change later. Also don't try to stuff None through dbus 2006-09-07 23:30:22 -04:00
Dan Williams
ef47f6e4c5 Fix buddy & activity visibility leaks if they are not yet valid; add Activity color attribute and don't make activity valid until we get the color 2006-08-25 14:55:19 -04:00
Dan Williams
d2c0829165 Don't traceback when somebody doesn't advertise their color 2006-08-24 11:09:53 -04:00
Dan Williams
eef5e5b18a Convert PS bindings instantiation into a singleton to cut resource usage 2006-08-23 11:38:56 -04:00
Dan Williams
d334b6e3bd Add a color property and access to Buddy objects 2006-08-23 11:14:46 -04:00
Dan Williams
6d7782654c Cache activity id 2006-08-16 23:05:53 -04:00
Marco Pesenti Gritti
c7c71d25a8 Use dbus activation to start the presence service 2006-08-13 00:28:38 +02:00
Marco Pesenti Gritti
d919848324 Rework to not use protected API 2006-08-07 11:08:10 +02:00
Dan Williams
3117d454b9 add service unregistration 2006-08-02 10:27:09 -04:00
Marco Pesenti Gritti
57cc6a303c Some fixes, adapt the presence view to the new api 2006-07-26 11:44:54 +02:00
Dan Williams
ae1b278d7a Fix getting published service values 2006-07-25 19:15:36 -05:00
Dan Williams
164add907d Make shareActivity work 2006-07-25 19:04:15 -05:00
Marco Pesenti Gritti
1ef5c576c2 Do not use dbus_bindings for exceptions. Use dbus.exceptions. Thanks J5 to point it out. 2006-07-25 22:52:45 +02:00
Dan Williams
3798f29a6b Make dbus service properties public 2006-07-24 11:27:21 -05:00
Dan Williams
a827175a28 Fix dbus_bindings import namespace 2006-07-24 11:08:59 -05:00
Dan Williams
5887cb39bb Fix get_icon_pixbuf() 2006-07-24 10:56:06 -05:00
Dan Williams
7c996b0011 More fixes, and convert python PS bindings to more glib style method names 2006-07-23 09:21:00 -05:00
Dan Williams
b63e78a174 Make the PresenceService stuff start to work 2006-07-22 23:56:40 -05:00
Dan Williams
766b82d467 Switch sugar/presence module over to a thin API wrapper around the PresenceService dbus API 2006-07-19 15:27:37 -04:00
Marco Pesenti Gritti
46d2f1c532 Get rid of pygtk.require. It doesn't make a lot of sense
and recent apps are not using it anyway.
2006-07-16 17:25:32 +02:00
Marco Pesenti Gritti
21b46a0022 Bunch of fixes, sharing should be back to work 2006-07-15 12:31:06 +02:00
Dan Williams
4511d13fb5 Merge branch 'master' of git+ssh://dcbw@crank.laptop.org/git/sugar 2006-06-22 22:42:35 -04:00
Dan Williams
f2ef2a6847 Make activities emit an ActivityShared dbus signal; and have the shell & presence window detect that and disable the 'share' button 2006-06-22 22:42:29 -04:00
Marco Pesenti Gritti
59f25b0741 Get one-to-one chat to actually work... 2006-06-22 18:07:54 -04:00
Marco Pesenti Gritti
c234b7b4a3 Merge branch 'master' of git+ssh://crank.laptop.org/git/sugar
Conflicts:

	sugar/presence/Buddy.py
2006-06-22 16:01:14 -04:00
Marco Pesenti Gritti
0a305004b0 Some work getting the one-to-one chat back 2006-06-22 15:59:38 -04:00
Dan Williams
2840af85ce Stop abusing ZeroConf by overloading the service type field; overload the service name field instead like everyone else does 2006-06-22 14:05:38 -04:00
Marco Pesenti Gritti
974ef81c1e Get back mesh chat (for the everyone tab) 2006-06-21 23:49:37 -04:00
Dan Williams
e9f20cfe0f pylint fixes 2006-06-20 09:39:36 -04:00
Dan Williams
5485a4f958 Fix some typos 2006-06-19 21:24:24 -04:00
Dan Williams
7ba6033921 Use the service's _publisher_ address for buddy service verification, since that's the unicast address from which the buddy's service announcements are coming; not the service's
outbound address
2006-06-19 21:19:05 -04:00
Dan Williams
6fd464be7d Make get_activity_service() actually work 2006-06-19 21:16:55 -04:00
Dan Williams
2c2ba14311 clarify addresses 2006-06-19 21:14:51 -04:00
Dan Williams
e7f9a0a728 When serializing an activity, allow using the owner's nick name for the service name 2006-06-19 15:12:24 -04:00
Dan Williams
40483bb856 Don't share an activity if it's name doesn't match our owner's nickname 2006-06-19 15:10:37 -04:00
Dan Williams
072fea84a0 Merge branch 'master' of git+ssh://dcbw@crank.laptop.org/git/sugar 2006-06-19 14:53:36 -04:00
Dan Williams
c218b3fc03 Ensure properties arguments are local encoding (for now), and tell the python dbus bindings explicitly what type to send them through dbus as (ie, ByteArray), because sometimes the bindings can't figure it out 2006-06-19 14:53:32 -04:00
Dan Williams
69c1fd6252 Ensure properties arguments are local encoding (for now) 2006-06-19 14:52:46 -04:00
Marco Pesenti Gritti
918c695b07 Do not assign {} to properties, if you do apparently
the table is not recreated on subsequent calls and
that obviously cause funny issues.
2006-06-19 12:38:25 -04:00
Marco Pesenti Gritti
73c94c7bfb Improve some debug output 2006-06-19 12:28:44 -04:00
Dan Williams
c65ef6f9cd Make the presence service resolve all shared activity services by default; it's up to the activities to ignore services that aren't theirs. Also add 'joined-activity' and 'left-activity' signals on Buddy objects, mainly for the PresenceWindow's 'Who's here' bits 2006-06-19 09:49:57 -04:00
Dan Williams
44752264e0 Ensure that deserialized Service arguments are not in Unicode (for the moment), since dbus passes strings as such 2006-06-19 09:47:04 -04:00
Marco Pesenti Gritti
51ea9eedba Get chat back to work. Well except it get very confused
if users have the same ip address.

Dan I commented out the service deserialization in BrowserShell
because it was not really working (also there was a few typos in
that code)
2006-06-18 03:00:23 -04:00
Dan Williams
b703d93534 Merge branch 'master' of git+ssh://dcbw@crank.laptop.org/git/sugar
Conflicts:

	sugar/browser/BrowserActivity.py
2006-06-18 01:33:05 -04:00
Dan Williams
9f1c77a55a Add serialize/deserialize functions for Service objects 2006-06-18 01:31:18 -04:00
Marco Pesenti Gritti
b4413fe3c2 Some work to make group chat work again 2006-06-18 01:05:40 -04:00
Marco Pesenti Gritti
6d7940949a Empty addresses are valid, meaning the buddy own address.
For group (multicast) services publisher_address != service_address,
introduce the distinction in the API and in the avahi announcement.
2006-06-17 22:06:20 -04:00
Marco Pesenti Gritti
53f00b05b1 Setup python logging and use it in the PresenceService 2006-06-17 19:54:12 -04:00
Dan Williams
5938a6dc14 Add presence service-scope signals when new services appear on buddies, so that client's don't have to connect signal handlers to every single buddy 2006-06-16 23:55:26 -04:00
Marco Pesenti Gritti
63bff5cecd More fixes, not-presence works 2006-06-16 23:40:36 -04:00
Dan Williams
d353bd5ed1 Validate service type and check for uid-based services first 2006-06-16 23:32:50 -04:00
Dan Williams
d60a85e83a don't try to resolve a service more than once 2006-06-16 22:46:18 -04:00
Dan Williams
91b68d4103 Add back the new-service-adv signal for the start page 2006-06-16 22:23:39 -04:00
Dan Williams
f89ddfaffa Fix typos in PresenceService 2006-06-16 17:00:42 -04:00
Dan Williams
563810ec56 Add hooks for filtering on specific application UIDs 2006-06-16 16:32:56 -04:00
Dan Williams
cd3d98cb77 A pass at fixing single-computer with more than one sugar instance work 2006-06-16 15:48:44 -04:00
Dan Williams
333d341c3d Remove debug prints 2006-06-16 15:31:07 -04:00
Dan Williams
b31a2176ba - Clarify when a service type is supposed to be full/network, and when it's supposed
to be a short one.  Activities should _never_ be exposed to the full/network stype
    since that's an implementation detail of the PresenceService
- Make everything having to do with service objects non-unicode (?) to stop the madness.
    Ideally we want everything to be UTF-8 eventually.
- Fix up PS to deal with service types of short/long variety
- Remove a hack from the Start Page that gets all service advertisements, will fix soon
2006-06-16 15:27:50 -04:00
Dan Williams
38565321d5 Merge branch 'master' of git+ssh://dcbw@crank.laptop.org/git/sugar 2006-06-16 15:25:25 -04:00
Dan Williams
c46d300c18 merge 2006-06-16 15:25:21 -04:00
Marco Pesenti Gritti
29a730e0a4 Monitor service addition and update buddy list
on these.
2006-06-16 15:21:09 -04:00
Marco Pesenti Gritti
0cae557ab5 Register the model service and start working on
looking it up
2006-06-16 14:20:09 -04:00
Dan Williams
6db22150b1 Remove unused function 2006-06-16 13:05:45 -04:00
Marco Pesenti Gritti
6a8e863a16 Fix the problem with service resolution (Dan please have a look...) 2006-06-15 18:27:50 -04:00
Dan Williams
e4677ee22a Announce new activities when we resolve them, and add a hook to intercept new service advertisements 2006-06-15 17:41:26 -04:00
Dan Williams
31e9671190 Validate options for compose_service_type 2006-06-15 17:40:33 -04:00
Dan Williams
9034dc8f3b More fixes for sharing activities 2006-06-15 17:05:44 -04:00
Marco Pesenti Gritti
27b4f25fad Merge 2006-06-15 11:29:00 -04:00
Marco Pesenti Gritti
f0af49616c Fixed a bunch of issues reported by pylint 2006-06-15 11:18:33 -04:00
Dan Williams
ecf81ba35f Generalize activity publishing code for > 1 activity per process 2006-06-15 11:20:18 -04:00
Marco Pesenti Gritti
f2ae132410 Fix a bunch of outdated makefiles. 2006-06-15 08:38:21 -04:00
Marco Pesenti Gritti
3ea146e17c Initial start page implementation 2006-06-14 15:01:17 -04:00