[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