-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Allow to add Methods and Signals to specific interfaces on the DSB Bridge #314
Comments
/CC @zhuridartem |
Thank you for the feedback. This is a known current limitation. DSB was designed to project a generic device to an AllJoyn representation. Current implementation has a limitation for projecting to a specific AllJoyn service standard. To enable such mapping, DSB has a concept of a Special Handlers. It does require adding code that does the projection in the DSB though. LSF and Control Panel services have been implemented in the DSB's BridgeRT as an example. |
@zhuridartem If I were to rewrite the DSB so a
I don't know what this means. You can't implement any alljoyn representation which is what I would think "generic" means.
So what you're saying: Just write it in C++ against the Alljoyn_C library? I took a look at the LSF implementation. It's an ridiculous amount of tedious code that I could cut into a fraction with my approach, not to mention you'll be inviting a huge amount of C# developers to the AllJoyn party. The bridge is so close to function from the C# end, and fairly easy to work with. |
If anyone is interested, just published my modified (read: much improved 😄) DSB to nuget: https://www.nuget.org/packages/dotMorten.AllJoyn.DSB/ Now you can create bridge devices in just a few lines of code, like this HAE device: https://github.com/dotMorten/AlljoynDSB/blob/dev/src/AllJoyn.Dsb.MockDevices/MockCurrentTemperatureDevice.cs#L58-L67 This meant I could delete a HUGE amount of code from all my various DSB services and just reference this nuget instead. Main benefits:
|
Currently signals and methods can only be added to a single "MainInterface" interface, however properties can be added to their own interfaces. This makes it completely impossible to use the DSB to follow specific interface designs.
Please make it so signals and methods can join the properties in their rightful places by allowing us to specify the object path and interface name for them.
The text was updated successfully, but these errors were encountered: