ROOT = ..
include $(ROOT)/mak/config.mak
-DIRS = providers/hello providers/goodbye cimserver
+DIRS = providers cimserver
include $(PEGASUS_ROOT)/mak/recurse.mak
//%/////////////////////////////////////////////////////////////////////////////
#include "MyEmbeddedServer.h"
+#include <Pegasus/Common/String.h>
+#include <Pegasus/Provider/CIMProvider.h>
// Header files for each of the namespaces that are to be created for this
// server. Each include statement below should define a c++ header file created
// Define entry points for each static provider.
extern "C" class CIMProvider* PegasusCreateProvider(const String&);
+extern "C" class CIMProvider* PegasusCreateProviderWrapper(const String& arg)
+{
+ fprintf(stderr, "Called PegasusCreateProviderWrapper(%s)\n",
+ (const char*)arg.getCString());
+
+ class CIMProvider* prov = PegasusCreateProvider(arg);
+
+ if (!prov)
+ {
+ fprintf(stderr, "PegasusCreateProviderWrapper(): null pointer\n");
+ }
+ else if (!dynamic_cast<CIMProvider*>(prov))
+ {
+ fprintf(stderr, "PegasusCreateProviderWrapper() dynamic cast failed\n");
+ }
+ else
+ {
+ fprintf(stderr, "PegasusCreateProviderWrapper(): okay\n");
+ }
+
+ return prov;
+}
+
MyEmbeddedServer::MyEmbeddedServer()
{
printf("MyEmbeddedServer::MyEmbeddedServer()\n");
// one of these).
//
- if (!registerPegasusCreateProviderEntryPoint(PegasusCreateProvider))
+ if (!registerPegasusCreateProviderEntryPoint(PegasusCreateProviderWrapper))
{
printf("***** addSymbol() failed: Employee\n");
}