Alan Conway wrote:
They're very un-C++ and inconsistent with all our other use of
namespaces. Is there some compelling reason for imposing this nasty
Java-esque namespace on C++ code? In particular it means we are using
names in the global namespace rather than one, which is ugly.
Cheers,
Alan.
Alan,
We now have five extension packages in the management framework and more
on the way. They are being developed by diverse and unrelated groups.
We need a namespace structure for the management schemas to ensure that
there are no collisions in the global set. Furthermore, some of these
packages are used in qpidd plug-ins which means they need to work within
the C++ namespace because they are linked into the broker.
What we were doing before the change was to put all generated management
code in qpid::management. This did not scale and we already had a name
collision. To fix the problem, I matched the C++ namespaces to the
management package namespaces and also matched the directory structure.
I chose the "Javaesque" namespace because it really does solve the
multi-domain, multi-enterprise naming problem which we have in the
management framework.
Would it have been better to have chosen qpid::qmf::... rather than ::qmf?
If there are things that need to be fixed, let's do it now so as to
minimize the impact on our development user community.
-Ted