What is the reason to advertise objects via AboutService

asked 2014-10-21 08:04:53 -0700

anszom gravatar image

This question is related to my previous one. I'm trying to understand what is the idea behind advertising an object with the About Service (and similarly - what is the idea behind deliberately not advertising an object or interface).

If I understand correctly, all objects, advertised or not can be enumerated using the introspection interface. Also, it is possible (while misleading) to advertise objects which don't really exist, or don't have the specified interfaces.

If the idea is to make the objects easier to locate (without joining a session), then why not simply advertise every object and every interface?

For example: why doesn't the lighting_controller_service advertise the org.alljoyn.Introspectable interface on its scene objects?

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2014-11-03 16:54:19 -0700

bspencer gravatar image

Providing a list of the object paths with the interfaces that are supported in an Application is a shortcut to avoid Introspection. If one were to build an application that showed Control Panel Services(CPS) applications, then it could just look at the Service Level Discovery information (About Signal) and determine if it needs to show the device or not without doing the extra work of connecting, introspecting recursively and parsing the response to determine if CPS is supported.

The org.alljoyn.Introspectable interface is a built-in interface and is present on every single BusObject path. Adding it to a list of the interfaces on an object path provides an extra hint to a developer, if they were inclined to build an application this way, that the object path has Descriptions that make up an Event or Action.

edit flag offensive delete publish link more


I'm not familiar yet with the CPS, does the CPS spec require apps to advertise it via the about service? If so, then why don't other services (E&A) follow the same rules?

anszom ( 2014-11-04 02:52:21 -0700 )edit

CPS does require the top level interface be added into About to be advertised. E&A interfaces could be added, but E&A is a Core feature of AllJoyn while Notification, CPS, Onboarding, etc. are Service built ontop of Core. E&A is also not a standardized set of interfaces, it is purely dynamic and up to a developer vs CPS, Notification, etc. that have Specs for the AllJoyn Interfaces.

bspencer ( 2014-11-07 11:42:28 -0700 )edit
Login/Signup to Answer

Question Tools

1 follower


Asked: 2014-10-21 08:04:53 -0700

Seen: 118 times

Last updated: Nov 03 '14