alljoyn中公开暴露的信号

时间:2016-03-30 10:28:49

标签: android alljoyn

我正在尝试创建一个应用程序,它将通过所有总线宣布信号。您不需要连接到总线中的特定对象的想法。 我看到接口可能是Introspectable,但是我发现这个接口在总线上注册时会自动添加到总线对象中。 所以问题是如何在总线上显示信号。

接口:

@BusInterface(name = Door.DOOR_INTF_NAME, announced = "true")
public interface Door {

    String DOOR_INTF_NAME = "com.example.Door";
    String PERSON_PASSED_THROUGH = "PersonPassedThrough";

    @BusSignal(name = PERSON_PASSED_THROUGH, sessionless = true)
    void personPassedThrough(String person) throws BusException;
}

publushing:

private void doRegisterBusObject(Object obj) {
    LocatableBusObject object = (LocatableBusObject) obj;
    String location = object.getBusObjectLocation();
    if (!location.startsWith("/")) {
        location = "/" + location;
    }
    // Register the object on the local bus
    Status status = bus.registerBusObject(object, location);
    if (Status.OK != status) {
        return;
    }
    // Have About send a signal a new door is available.
    aboutObj.announce(CONTACT_PORT, aboutData);
}

对象可见,但信号不可见。

1 个答案:

答案 0 :(得分:0)

基本上,路由器添加了org.allseen.Introspectable接口,仅在我们公布@BusInterface的描述时。

在此之前,我们不会有这个界面。