Currently some of the official AllJoyn interfaces implement a "Version" property to indicate the current revision on the interface. However, one BusAttachment can only know about one version. If an object A does introspection to discover what remote objects (B and C) implement, then A can only know about the methods/signals/properties implemented by the first object introspected, e.g.:
- B implements interface “Intf” v1 which has method M1
- C implements interface “Intf” v2 which has methods M1 and M2
A instrospects B first then C. A will know that both implement “Intf” but the definition of the interface will only contain M1 (A will not know about M2).
Inversely, if C is introspected first, A will not know that B doesn’t implement M2 (unless it knows that M2 is a v2-only method, but then A wouldn’t be doing introspection in the first place).
Is there a workaround that problem?