Presence Service D-Bus API: Difference between revisions

From OLPC
Jump to navigation Jump to search
(cleanup sections)
(Fill in buddy API bits)
Line 40: Line 40:
** Gets the owner buddy, representing the owner of this laptop
** Gets the owner buddy, representing the owner of this laptop
** Returns: the buddy object path of the owner (always present)
** Returns: the buddy object path of the owner (always present)

==Buddy Object==
===Signals===
Refered objects passed in signals are specific to this buddy only.
* iconChanged ()
* serviceAppeared (service object path)
* serviceDisappeared (service object path)
* joinedActivity (activity object path)
* leftActivity (activity object path)

===Methods===
* getProperties()
** 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()
** Gets the buddy's icon pixbuf data
** Returns: a character array containing the byte stream of the icon data
* getBuddyService(type)
** Gets one service of a specific type. Only one service of each type may be offered by each buddy for each activity. i.e., services are unique within the scope of both a buddy and an activity
** Returns: service object path, or error if no service of the requested type existed
* getBuddyActivities()
** Gets all activities in which this buddy is currently participating

Revision as of 03:55, 14 July 2006

PresenceService DBus API

There are 4 conceptual "objects":

  • PresenceService - manages and provides a query API for Buddy, Service, and Activity objects
  • Buddy - represents another laptop somewhere on the network that you can communicate with
  • Service - represents some specific resource on the network, published by a buddy
  • Activity - represents a logical collection of services, in which one or more buddies participate

PresenceService Object

Signals

  • buddyAppeared (buddy object path)
  • buddyDisappeared (buddy object path)
  • serviceAppeared (service object path)
  • serviceDisappeared (service object path)
  • activityAppeared (activity object path)
  • activityDisappeared (activity object path)

Methods

  • getAllServices()
    • Gets all services the PS knows about
    • Returns: array of service object paths
  • getAllServicesOfType(type)
    • Gets all services the PS knows about, filtered by a specific service type
    • Returns: array of service object paths
  • getAllActivities()
    • Gets all activities the PS knows about
    • Returns: array of activity object paths
  • getActivity(id)
    • Gets a specific activity
    • Returns: activity object path
  • getAllBuddies()
    • Gets all buddies the PS knows about
    • Returns: array of buddy object paths
  • getBuddyByName(name)
    • Gets a specific buddy, searching on the buddy's name
    • Returns: the buddy object path of the requested buddy, or an error if the buddy does not exist
  • getBuddyByAddress(address)
    • Gets a specific buddy, searching on the buddy's IP address
    • Returns: the buddy object path of the requested buddy, or an error if the buddy does not exist
  • getOwner()
    • Gets the owner buddy, representing the owner of this laptop
    • Returns: the buddy object path of the owner (always present)

Buddy Object

Signals

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

  • iconChanged ()
  • serviceAppeared (service object path)
  • serviceDisappeared (service object path)
  • joinedActivity (activity object path)
  • leftActivity (activity object path)

Methods

  • getProperties()
    • 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()
    • Gets the buddy's icon pixbuf data
    • Returns: a character array containing the byte stream of the icon data
  • getBuddyService(type)
    • Gets one service of a specific type. Only one service of each type may be offered by each buddy for each activity. i.e., services are unique within the scope of both a buddy and an activity
    • Returns: service object path, or error if no service of the requested type existed
  • getBuddyActivities()
    • Gets all activities in which this buddy is currently participating