Hi all, After Ferry's question I've been looking a little at the OSGi Declarative Services spec, and I think most of it can be realized using the current Celix implementation.
One of the problems I've seen so far is related to service registration. Using Java a service is an interface, and through reflection and the implementation of the component, this interface can be registered as a service by the DS implementation. In Celix a service is a struct with function pointers, which has to be instantiated by the user. It is not possible to do this dynamically, the DS implementation does not know the functions of the component etc. A simple solution would be to use an additional function in the component in which the service struct is created. Downside of this is, that there is no strict separation of component and framework code.... Perhaps someone else has some ideas how this can be solved differently.... -- Met vriendelijke groet, Alexander Broekhuis
