Presence Service D-Bus API: Difference between revisions
Jump to navigation
Jump to search
(Add dbus service details) |
|||
Line 7: | Line 7: | ||
==PresenceService Object== |
==PresenceService Object== |
||
Service: org.laptop.Presence |
|||
Interface: org.laptop.Presence |
|||
Object Path: /org/laptop/Presence |
|||
===Signals=== |
===Signals=== |
||
* buddyAppeared (buddy object path) |
* buddyAppeared (buddy object path) |
||
Line 51: | Line 55: | ||
==Buddy Object== |
==Buddy Object== |
||
Object Path: /org/laptop/Presence/Buddies/ |
|||
===Signals=== |
===Signals=== |
||
Refered objects passed in signals are specific to this buddy only. |
Refered objects passed in signals are specific to this buddy only. |
||
Line 74: | Line 80: | ||
==Service Object== |
==Service Object== |
||
Object Path: /org/laptop/Presence/Services/ |
|||
===Signals=== |
===Signals=== |
||
(none) |
(none) |
||
Line 85: | Line 93: | ||
==Activity Object== |
==Activity Object== |
||
Object Path: /org/laptop/Presence/Activities/ |
|||
===Signals=== |
===Signals=== |
||
* buddyJoined (buddy object path) |
* buddyJoined (buddy object path) |
Revision as of 20:13, 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
Service: org.laptop.Presence Interface: org.laptop.Presence Object Path: /org/laptop/Presence
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)
- shareActivity(activityId, serviceType, properties, address, port, domain)
- Announces an activity on the network
- Returns: service object path representing the new share service for this activity
- joinActivity(activity object path, serviceType)
- given a known activity and activity's flagship service type, announce that this laptop has joined a particular activity
- Returns: success or failure as a boolean
- registerService(name, serviceType, properties, address, port, domain)
- Announces the availability of a non-Activity-related service. Low level and should not generally be used unless really needed.
- Returns: service object path representing the new service
Buddy Object
Object Path: /org/laptop/Presence/Buddies/
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
- Returns: array of activity object paths
Service Object
Object Path: /org/laptop/Presence/Services/
Signals
(none)
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
Activity Object
Object Path: /org/laptop/Presence/Activities/
Signals
- buddyJoined (buddy object path)
- buddyLeft (buddy object path)
- serviceAppeared (service object path)
- serviceDisappeared (service object path)
Methods
- getId()
- Gets the activity's ID
- Returns: string representing the activity's ID
- haveJoined()
- Returns whether or not the owner has joined this activity
- Returns: boolean
- getActivityServices()
- Gets all services that exist within the scope of this activity
- Returns: array of service object paths
- getActivityServicesOfType(type)
- Gets all services of a specified type that exist within the scope of this activity
- Returns: array of service object paths
- getActivityBuddies()
- Gets all buddies who are currently participating in this activity
- Returns: array of buddy object paths