Revision history [back]

click to hide/show revision 1
initial version

The standard sequence of steps for communication between two AllJoyn applications is as follows:

  • Provider advertises the interfaces it implements via About Announcement
  • Seeker discovers Providers implementing interfaces via Who-Implements query
  • After Seeker discovers a Provider, it establishes a session with Provider
  • Seeker communicates with Provider

AllJoyn is an object-oriented communication mechanism. Provider applications wishing to expose functionality (namely interfaces implemented by them), do so by creating a Bus Object at a specific path, and adding the implemented interfaces to that Bus Object.

Introspection is a mechanism by which the Seeker can query and get a list of all interfaces (and the members of those interfaces) implemented by an application at a specific Bus Object path.

In AllJoyn Standard Core C++ library, introspection is performed using ajn::ProxyBusObject::IntrospectRemoteObject API. After introspection, the ProxyBusObject will be populated and Seeker can make method calls and get/set properties. APIs viz. CreateInterface, AddMethod, AddSignal, AddProperty are not needed when the Seeker uses introspection. An example of this can be found here.