we consider to use a service architecture for a new C++ project so I try to evaluate this osgi implementation.
Am I right, that there is no kind of (thread safe) messaging mechanism as it provided by the Event Admin in the official OSGi spec? For that I have to think of an own way of communication between modules?
In the context of my inquiry I also came upon CTK which also contains, besides an OSGi conform service mechanism, an event bus using Qt signals/slots. This is quite heavy-weight due to Qt (4.x, not yet Qt5?) dependency and so on.
Did anyone had this kind of problem already? Is there a plan of implementing e.g. the Event Admin in CppMicroServices?
Thanks a lot in advance!
your are right, there is no Event Admin implementation for CppMicroServices available. Currently, modules can communicate with each other only via custom services (except for the classic code sharing via linked modules, of course).
The CTK Plugin Framework contains an Event Admin implementation for both Qt4 and Qt5. For CppMicroServices, I once thought about taking the CTK Event Admin code and replacing the Qt bits by standard C++ plus a small threading library (e.g. tinythread) for cross-platform threading and synchronization support. However, I currently do not have resources left for doing so myself. Contributions are of course welcome :-)