Presence Service D-Bus API: Difference between revisions

From OLPC
Jump to navigation Jump to search
(Remove Services and Channels, they are obsolete)
Line 79: Line 79:
** Returns: array of activity object paths
** Returns: array of activity object paths


==Channel Object==
Interface: org.laptop.Presence.Channel<br>
Object Path: /org/laptop/Presence/Channel/<br>

===Signals===
* BuddyAppeared (buddy object path)
* BuddyDisappeared (buddy object path)

===Methods===
* getType()
** Gets the channel's type. Only one Channel of each type may exist within an activity at any given time. Messages sent to the Channel are sent to each Buddy on the Channel, and each message sent to the Channel is received by each Buddy on the Channel. The Channel is conceptually a one-to-many communications pipe. It should be assumed that every Buddy that participates in an activity is "on" every Channel the activity provides.
** Returns: a string representing the channel's type
* getBuddies()
** Gets all buddies on the channel
** Returns: array of buddy object paths

==Service Object==
Interface: org.laptop.Presence.Service<br>
Object Path: /org/laptop/Presence/Services/<br>

===Signals===
* PropertyChanged (list of property names)

===Methods===
* getProperties()
** Gets all the service's properties
** Returns: a dbus dict of properties (name, type, activityId, port, published address, source address, domain)
* getPublishedValue(key)
** Gets a single value from the service's advertisement's DNS TXT record
** Returns: the value as a dbus string


[[Category:Sugar]]
[[Category:Sugar]]

Revision as of 17:33, 20 February 2007

  This page is monitored by the OLPC team.

PresenceService DBus API

Revision 3 (post Collabora week)

There are 3 conceptual objects:

  • PresenceService - manages and provides a query API for Activity and Buddy objects
  • Activity - represents a shared space in which one or more buddies participate. Activities are globally unique.
  • Buddy - represents another laptop somewhere on the network that you can communicate with

PresenceService Object

Service: org.laptop.Sugar.Presence
Interface: org.laptop.Sugar.Presence
Object Path: /org/laptop/Sugar/Presence

Signals

  • ActivityAppeared (activity object path)
  • ActivityDisappeared (activity object path)
  • BuddyAppeared (buddy object path)
  • BuddyDisappeared (buddy object path)

Methods

  • GetActivities() -> ao
    • Gets all activities the PS knows about
    • Returns: array of activity object paths
  • GetActivity(s: id) -> o
    • Gets a specific activity object by the activity's ID
    • Returns: activity object path
  • GetBuddies() -> ao
    • Gets all buddies the PS knows about
    • Returns: array of buddy object paths
  • GetBuddyByPublicKey(ay: key) -> o
    • Gets a specific buddy, searching on the buddy's public key
    • Returns: the buddy object path of the requested buddy
  • GetOwner() -> o
    • Gets the owner buddy object, which is always present
    • Returns: the buddy object path of the owner
  • ShareActivity(s: activity id, s: activity type, s: name, a{sv}: properties) -> o
    • Shares an activity with others
    • Returns: object path representing the new activity

Activity Object

Interface: org.laptop.Sugar.Presence.Activity
Object Path: /org/laptop/Sugar/Presence/Activities/

Signals

  • BuddyJoined (buddy object path)
  • BuddyLeft (buddy object path)

Methods

  • GetId() -> s
    • Gets the activity's ID
    • Returns: string representing the activity's ID
  • GetJoinedBuddies() -> ao
    • Gets all buddies who are currently participating in this activity
    • Returns: array of buddy object paths

< get telepathy channels >

Buddy Object

Interface: org.laptop.Sugar.Presence.Buddy
Object Path: /org/laptop/Sugar/Presence/Buddies/

Signals

Refered objects passed in signals are specific to this buddy only.

  • IconChanged ()
  • JoinedActivity (activity object path)
  • LeftActivity (activity object path)
  • PropertyChanged (list of property names)

Methods

  • GetProperties() -> a{sv}
    • Gets all the general properties of the buddy
    • Returns: a dbus dict of buddy properties, like nickname, realname, IP address, whether or not this buddy is the laptop owner, etc
  • GetIcon() -> ay
    • Gets the buddy's icon data
    • Returns: a character array containing the byte stream of the icon data
  • GetJoinedActivities() -> ao
    • Gets all activities in which this buddy is currently participating
    • Returns: array of activity object paths