Re: Connection Managers and Presence Service

2008-02-18 Thread Guillaume Desmottes

Le vendredi 15 février 2008 à 14:35 -0500, Rene De Santiago a écrit :
 I've been looking at how to implement a new communication manager that  
 communicates with the OLPC presence service and I'm still trying to  
 make sense out of parts involved there, like DBus, the presence  
 service and the existing plugins (linklocal_plugin.py and  
 server_plugin.py).

As you said, these 2 plugins are a simple glue between the PS and 2
Telepathy connection manager.
linklocal_plugin is used with telepathy-salut, the XMPP linklocal CM and
server_plugin.py with telepathy-gabble, the XMPP/Jabber CM.


 Can someone provide more insight on the role of the above plugins? It  
 seems that they act as glue between the presence service and the  
 connection managers implemented in C.  The OLPC wiki also provides a  
 list of methods for the Presence Service DBus, what are the plugins  
 that interact between the Connection Managers and the Presence Service  
 to satisfy these methods.  Furthermore, the DBus documentation talks  
 about bindings that can be use to interface with it, are the plugins  
 mentioned above (linklocal_plugin.py and server_plugin.py) these  
 bindings or are they somewhere else?
 
 Also, is there any documentation about the interface between the  
 Connection Managers and the activities?  The OLPC wiki only provides a  
 brief document about the methods.
 
 Any insight would be appreciated.

You can find some documentation on the OLPC wiki:
http://wiki.laptop.org/go/Category:Telepathy

You'll also be interested in the Telepathy D-Bus specification:
http://telepathy.freedesktop.org/spec.html and
http://people.collabora.co.uk/~cassidy/spec-olpc.html for the OLPC
specific interfaces.


What do you want to do exactly?



G.

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Connection Managers and Presence Service

2008-02-18 Thread Morgan Collett
Rene De Santiago wrote:
 I've been looking at how to implement a new communication manager that  
 communicates with the OLPC presence service and I'm still trying to  
 make sense out of parts involved there, like DBus, the presence  
 service and the existing plugins (linklocal_plugin.py and  
 server_plugin.py).
 
 Can someone provide more insight on the role of the above plugins? It  
 seems that they act as glue between the presence service and the  
 connection managers implemented in C.  The OLPC wiki also provides a  
 list of methods for the Presence Service DBus, what are the plugins  
 that interact between the Connection Managers and the Presence Service  
 to satisfy these methods.  Furthermore, the DBus documentation talks  
 about bindings that can be use to interface with it, are the plugins  
 mentioned above (linklocal_plugin.py and server_plugin.py) these  
 bindings or are they somewhere else?

The plugins are indeed a simple layer between Presence Service and the
Telepathy Connection Managers. The CMs provide all the presence
information we are currently working with.

The plugins allow us to customise the way Presence Service starts and
stops its use of the Telepathy CMs - for example, check if we have an
existing connection to the CM and reuse it, or if not, create a connection.

If we integrate a new Connection Manager that conforms to the Telepathy
Spec, then we would add a new plugin to manage it.

Bindings are how a language can talk D-Bus. dbus-python is the python
binding.

The sugar.presence module talks to Presence Service over the D-Bus
session bus. Non-python activities can talk to Presence Service using
its D-Bus API - http://wiki.laptop.org/go/Presence_Service_DBus_API.
This is not related to how Presence Service talks to the Telepathy CMs,
or to the plugins.

Presence Service in turn talks to the appropriate Telepathy CM using
telepathy-python which goes over D-Bus as well. Activities in some cases
also use telepathy-python to talk directly to the Telepathy CM.
Guillaume gave the reference for this API, which is the Telepathy D-Bus
specification.

See http://wiki.laptop.org/go/Presence_Service#Presence_Stack for a diagram.

Further questions welcome.

Regards
Morgan
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Connection Managers and Presence Service

2008-02-18 Thread Dafydd Harries
Ar 15/02/2008 am 14:35, ysgrifennodd Rene De Santiago:
 I've been looking at how to implement a new communication manager that  
 communicates with the OLPC presence service and I'm still trying to  
 make sense out of parts involved there, like DBus, the presence  
 service and the existing plugins (linklocal_plugin.py and  
 server_plugin.py).
 
 Can someone provide more insight on the role of the above plugins? It  
 seems that they act as glue between the presence service and the  
 connection managers implemented in C.  The OLPC wiki also provides a  
 list of methods for the Presence Service DBus, what are the plugins  
 that interact between the Connection Managers and the Presence Service  
 to satisfy these methods.  Furthermore, the DBus documentation talks  
 about bindings that can be use to interface with it, are the plugins  
 mentioned above (linklocal_plugin.py and server_plugin.py) these  
 bindings or are they somewhere else?
 
 Also, is there any documentation about the interface between the  
 Connection Managers and the activities?  The OLPC wiki only provides a  
 brief document about the methods.
 
 Any insight would be appreciated.


  +-+ ++ +-+ +-+
  |tp-gabble| |tp-salut| |activity1| |activity2|
  +-+ ++ +-+ +-+
   ||/  __ /
   \/   /  /
\  ~   /   :  ^ *  /  /
+|*   / ?#   @ ; , ] ~ {  ?
 |   /   :   /  /   [
 \,/   /  /+
   %  |/   /  /
  | @ |  D-Bus  ~  |  |   '
 !|   ||  |   (
 | ! |  * |- |   *
 )| _   ?|^ ) %  $ ! _|  | @
  | } |  = |  |
  |   ||  |
  +-+ ++   |  |
  |server_plugin| |linklocal_plugin|   |  |
  +-+ ++   /  /
   \ //  /
\   //  /
  ++/  /
  |presence-service|__/
  ++

The presence service plugins run in the same process as the presence service.

The Telepathy connection managers provide a service to the presence service
and the activities.

The presence service provides a service to the activities.

Activities talk to the presence service and the connection managers through a
wrapper library in Sugar.

Hope this clarifies,

-- 
Dafydd
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel