celix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexander Broekhuis <a.broekh...@gmail.com>
Subject Re: some remarks and questions
Date Mon, 29 Aug 2011 21:03:16 GMT
Hi Frank,

Thanks for your interest in Celix! See my answers inline.

1.       For several applications, I need to select and follow a service,
> based on its properties. In  the current service tracker implementation, on
> service creation, one can only give the service class name as a parameter.
> In the Felix (java OSGi) implementation one can, alternatively, give a LDAP
> filter as parameter. The full Felix interface needs to be provided in Celix.
>

First off all, it is important to understand that Celix isn't simply an
implementation of Felix in C. It goes a little further, it tries to
implement the OSGi specification in C. (Felix probably is a good reference
for this, but not leading). For example, the ServiceTracker is a utility
made available by the OSGi Alliance, and not made by the Felix team.

To answer the actual question, the Celix service tracker is indeed missing
this API, and this has to be added. Please add a bug entry to our Jira (
http://incubator.apache.org/celix/support/issuetracking.html).


>
> 2.       The processing of a bundle's manifest file (in celix) is not
> robust for whitespace and lacking carriage returns, e.g. in the
> Services-Import/Export lists.  I don't know whether the OSGi spec says
> something about this, but it would save the developers a lot of time when
> robustness was built in.
>

I am not sure on this one, the answer is probably two-fold. First, the
manifest files in OSGi follow the Java JAR manifest file rules. These rules
state that a manifest file has to end with a newline. So this is intended
behaviour.
The second one is probably a bug, again, please add a bug.



> 3.       In some OSGi applications a resource file is used, see e.g. the
> paint example of the book "OSGi in Action". Here some .png files are used in
> the application to display icons on a user interface. In the book "OSGi in
> Action" it is possible to get resources through the bundle object, see
> listing 3.17 of "OSGi in action". Is the resource interface already
> implemented in Celix?
>
>
I am not sure what interface the examples use, but as of now this is limited
in Celix to only the "bundle_getEntry" method to retrieve a named entry from
the bundle.

Again (as you probably guessed ;)), feel free to add bugs for the missing
functions.


>
> 4.       I have implemented some of the easier examples of the book 'OSGi
> in action' (that concerns Felix, a java implementation of OSGi) in celix. I
> have sent the code to 'celix' and hope that these will be provided in
> celix's svn repository in the near future.
>

The examples are greatly appreciated! If I find some time, I
will definitely add them. First I would like to browse a little through the
code and see if it all fits in the current structure.


> 5.       In the Celix environment, cmake is used for building.  I have an
> implementation of the paint-example in Celix, that uses the GDK environment
> as an external library. In the makefiles of GDK applications, one generally
> uses the 'pkg-config' tool to find information about include-files and
> libraries of GDK.  In cmake one can use the FindPkgConfig macro, by adding
> the following lines:
>
>                                Under MacOS, cmake has some problems using
> the link directories, communicated in the 'link_directories()' commands in
> the 'target_link_libraries()' command. The 'pkg_search_module()' finds the
> correct link directories. I need to look deeper in this problem, but maybe
> someone already has experience with cmake files and knows the solution to
> the problem.
>

This one I can't answer easily, I would have to take a look into it. Isn't
this something related to the fact that GTK normally isn't available for the
mac?

Agains, thanks for your interest, looking forward to more!


-- 
Met vriendelijke groet,

Alexander Broekhuis

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message