[Rock-dev] [robot-toolchain] plugins, namespaces and header installation

Jakob Schwendner jakob.schwendner at dfki.de
Mon Dec 20 17:55:32 CET 2010




 

On December 20, 2010 at 2:24 PM Thomas Roehr <thomas.roehr at dfki.de> wrote:

> On 20.12.2010 12:19, Sylvain Joyeux wrote:
> > There are two possible policies for namespaces and headers for C++
> > plugins. We need to define a rule, as it would apply to all kinds of
> > plugin-based extensions we have, as for instance vizkit, mars, ...
> >
> > Example: planning/corridor_planner defines a vizkit plugin. Two options:
> >
> >    1. the plugin class is defined in the namespace of the library it is
> >       extending. Theferore, we get vizkit::CorridorPlannerVisualization
> >       and the header is installed in
> >       vizkit/CorridorPlannerVisualization.hpp
> >   
> Might make it easier to see what plugins exist in an installation,
> though I would then add a plugins level (folder and namespace) within vizkit
>   vizkit/plugins/CorridorPlannerVisualization.hpp
> and vizkit::plugins::CorridorPlannerVisualization
vizkit/plugins as a directory would be ok for me, but I wouldn't necessarily add
another namespace for it. If really that is what people like (I know Sylvain is
of that type), then I would propose vizkit::plugins::CorridorPlanner and omit
the Visualization ending.

As far as I can see there is no real technical reason for or against any of the
proposed solutions, I would therefore vote to keep it as it is, for reasons of
plain lazyness.

 

 

>
> or to have an even stronger separation between core and plugins put it
> in viskit_plugins/ ?
>
> >    2. the plugin class is defined in the namespace of the library that
> >       defines it. Therefore, we get corridor_planner::Visualization and
> >       the header is installed in corridor_planner/Visualization.hpp
> >   
> A bit too loose in my eyes ..
> > Thoughts ?
> >   
Option 1 that is for me.

 
jakob
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.dfki.de/mailman/cgi-bin/private/rock-dev/attachments/20101220/ab6eff07/attachment.htm 


More information about the Rock-dev mailing list