Hi,
We are facing a backward compatibility issue with cross namespace traversal if static classes ( like PG_ProviderProfileCapabilities, etc) are used for registering provider in the InterOp namespace.
If used with tog-pegasus version 2.9.1, which comes with OS, the mof compolation is failing for PG_Capabilities. The reason is PG_InterOpSchema20.mof is being conditionally compiled in the InterOp namespace as follows,
FILE: PG_InterOpSchema20.mof
-------------------------------------------------
#pragma include ("PG_Events20.mof")
#pragma include ("PG_ProviderModule20.mof")
// PEGASUS_ENABLE_SLP. Bug 1222 The following should be enabled when
// The interop classes and support are made permanent.
// It is removed here and placed as a separate item in the
// Makefile because there is no way to do a conditional in
// a MOF file.
// #pragma include ("PG_CIMXMLCommunicationMechanism20.mof")
// #pragma include ("PG_Namespace20.mof")
// #pragma include ("PG_ServerProfile20.mof")
All the required class definition like PG_ProviderProfileCapabilities, PG_ElementConformsToProfile are not getting compiled in the InterOp namespace. It is conditionally getting compiled if PEGASUS_ENABLE_INTEROP_PROVIDER is defined.
Hence mof compilation fails with parse error.
I believe it is a backward compatibility issue for us. Is there any known solution for it?
Regards,
-Vivek