Search code examples
alljoyn

On a possibility of hiding AllJoyn interface


Is it possible to hide an AllJoyn interface ? I.e. not expose via introspection, about etc., but invoke when a specific call is made.

Thanks !


Solution

  • You can create a bus object that doesn't support the org.allseen.Introspectable or org.freedesktop.DBus.Introspectable interfaces.

    This is difficult to do, however, because you would basically need to change the implementation of ajn::BusAttachment::Internal so that it doesn't automatically add these interfaces (i.e., the calls to org::freedesktop::DBus::CreateInterfaces() and org::alljoyn::CreateInterfaces() located in BusAttachment.cc). This would mean building your own version of AllJoyn Core based on this modified implementation. NOTE: Doing this would mean your product is not using a compliant base implementation of AllJoyn Core and would therefore likely not pass AllJoyn Certification.