Идея в том, если ты хочешь сделать нечто, что через наш сервис будет выставлено в alljoyn, то ты пишешь отдельно dbus объект, который поддерживает Introspect и потом вызываешь com.devicehive.alljoyn.RegisterService и передаешь туда название своего dbus сервиса, путь к интсансу и путь/интерфейс в alljoyn под которым его публиковать.
Вот и девайс: https://github.com/devicehive/IoT-framework/blob/master/devicehive-alljoyn/alljoyn-device.go
Надо теперь в https://github.com/devicehive/IoT-framework/blob/master/devicehive-alljoyn/alljoyn-bridge.go написать код который регистрирует в alljoyn, обходит то, что вернул introspect и добавляет в thin c lient, потом запускает message pump и перекидывает соотв вызовы в dbus. Пример тут: https://git.allseenalliance.org/cgit/core/ajtcl.git/tree/samples/basic/eventaction_service.c
Thanks, Artyom
▼ Hide quoted text 2015-06-04 19:49 GMT-04:00 Artyom Astafurov artyom.astafurov@dataart.com: Привет!
Давай попробуем aj thin client приспособить к делу. Он прекрасно собирается под линукс и он на чистом C: https://git.allseenalliance.org/cgit/core/ajtcl.git
Я тут написал начало будущего alljoyn bridge: https://github.com/devicehive/IoT-framework/blob/master/devicehive-alljoyn/alljoyn-bridge.go
Идея в том, если ты хочешь сделать нечто, что через наш сервис будет выставлено в alljoyn, то ты пишешь отдельно dbus объект, который поддерживает Introspect и потом вызываешь com.devicehive.alljoyn.RegisterService и передаешь туда название своего dbus сервиса, путь к интсансу и путь/интерфейс в alljoyn под которым его публиковать.
После этого наш alljoyn bridge сервис дергает introspect у тебя же и регистрирует сервис в alljoyn как показано в этом примере: https://git.allseenalliance.org/cgit/core/ajtcl.git/tree/samples/basic/eventaction_service.c
В message pump он просто пробрасывает вызовы обратно на dbus.
Я еще написал пример устройства, который реализует About, но случайно его стер (конец дня, бл) Там просто, попробую сегодня может еще раз написать.
Thanks, Artyom