define org.genivi.commonapi.someip.deployment for interface <CommonAPI interface name> {
SomeIpServiceID = <id>
method <CommonAPI method name> {
SomeIpMethodID = <id>
}
attribute <CommonAPI method name> {
SomeIpGetterID = <id>
SomeIpSetterID = <id>
SomeIpNotifierID = <id>
// All these ID settings are optional, but you need to specify at least one
// if you specify a SomeIpNotifierID you also need to specify an eventgroup
SomeIpEventGroups = { <id> }
}
}
define org.genivi.commonapi.someip.deployment for provider <Name> {
instance <CommonAPI interface name> {
InstanceId = <CommonAPI instance name>
SomeIpInstanceID = <id>
}
}
SOME/IP 파라미터 관련해서 SOME/IP specification at http://some-ip.com/ 를 참고
중요 룰은 아래와 같다.
- Method identifiers must be unique within the interface but must also be unique considering the extensions. Extended interfaces must not have the same method identifiers as base interfaces. Method identifiers are: SomeIpMethodID, SomeIpGetterID and SomeIpSetterID.
- The range of method identifiers must be 1 to 32767.
- Event identifiers must be unique within the interface (also when extensions are considered). The range must be 32769 to 65534. Event identifiers are SomeIpEventID and SomeIpNotifierID.
- Every selective broadcast must have its own event group; there must not be two selective broadcasts in the same eventgroup within one interface (again considering extensions).
- The eventgroup identifier (SomeIpEventGroups) must at least 1; each event (broadcast, attributes with notifier) must be at least in one event group.
- If attributes have a notifier they must be in at least one event group.
- Getter and setter identifiers of attributes must be consistent concerning the attribute keywords readonly and nosubscriptions.
- 함수 식별자는 인터페이스 내에서 고유해야 하지만, 확장을 고려하여 작성하여야 한다. 확장인터페이스는 기본 인터페이스와 동일한 함수 식별자를 가져서는 안된다. 함수 식별자는 다음과 같다. SomeIpMethodID, SomeIpGetterID and SomeIpSetterID
- 함수 식별자 범위는 1에서 32767 까지이다. ( SomeIpMethodID )
- 이벤트 식별자는 인터페이스 내에서 고유해야한다. (확장이 고려되는 경우 동일) 범위는 32769 ~ 65534. 이벤트 식별자는
libdbus is part of dbus, and is the reference implementation of the D-Bus protocol. This does not make it the best implementation of D-Bus, and for most purposes it isn't the best available. Its maintainers recommend using GDBus, sd-bus or QtDBus instead.
dbus-cpp
dbus-cpp is a header-only C++11 binding for libdbus.
dbus-c++ : Also known as dbus-cplusplus, this is a C++ binding for libdbus. It appears to be inactive (latest release 2011) and is not recommended. Various forks exist; please list any actively-maintained forks here if you know of them.