SignatureTag annotation which will specify:SignatureType.NOTIFICATION for a service which is notified through the functionSignatureType.INVOCATION for a service which is invoked through the functionSignatureType.REQUEST for the invocation of a  request-response Service request through the functionSignatureType.RESPONSE for the notification of a response of a  request-response Service through the functionSignatureType.CYCLIC_SERVICE for a service which is invoked cyclically through the function| Signature | Type | Interface | Service | 
|---|---|---|---|
 SignatureType.NOTIFICATION | 
notification | subscribe eventReceived listen[1] 
It is possible to listen to a  request-response Service 
 | 
 publish Service event Service  | 
 SignatureType.INVOCATION | 
invocation | push eventSend  | 
 publish Service event Service  | 
 SignatureType.CYCLIC_SERVICE | 
invocation | cyclic cyclicEvent  | 
 publish Service event Service  | 
 SignatureType.REQUEST | 
invocation | requestSend[2]
 
This corresponds to the request datas for a subscriber of the service 
 | 
request-response Service | 
 SignatureType.RESPONSE | 
notification | requestSend[3]
 
This corresponds to the response datas for a subscriber of the service 
 | 
request-response Service | 
public interface CLibrary extends Library { @SignatureTag(type=SignatureType.NOTIFICATION, name="event") public void receive(boolean state); }Here we have a service named "http://my.namespace:event"[4]
public interface CLibrary extends Library { @SignatureTag(type=SignatureType.NOTIFICATION, name="event", uri="http://my.namespace") public void receive(boolean state); }
public interface CLibrary extends Library { @SignatureTag(type=SignatureType.INVOCATION, name="published") public void setInvoker(Invoker callback); public interface Invoker extends Callback { void invoke(int value); } }At initialization the framework will call the
setInvoker function, which will give to the C library the pointer to the function to call.PublishModule in the  first tutorial: public interface CLibrary extends Library { @SignatureTag(type=SignatureType.NOTIFICATION, name="event") public void receive(boolean state); @SignatureTag(type=SignatureType.CYCLIC_SERVICE, name="published") public void publish(); @SignatureTag(type=SignatureType.INVOCATION, name="published") public void setInvoker(Invoker callback); public interface Invoker extends Callback { void invoke(int value); } }
Copyright 2017-2020 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v3 licence