PEP#: 305
authormike <mike>
Tue, 22 Apr 2008 21:24:05 +0000 (21:24 +0000)
committermike <mike>
Tue, 22 Apr 2008 21:24:05 +0000 (21:24 +0000)
TITLE: VxWorks Port

DESCRIPTION: Ongoing VxWorks porting

src/Pegasus/Provider/CIMOMHandle.cpp
vxworks/Makefile
vxworks/cimserver/Makefile
vxworks/cimserver/MyEmbeddedServer.cpp

index 3bd809aba73b12c16a9a9d37fe820310b8880d47..936c66ed7dacfe429932a5d9569650fbb631be21 100644 (file)
@@ -60,8 +60,6 @@ CIMOMHandle::CIMOMHandle()
     {
 #if !defined(PEGASUS_REMOVE_SERVER_CLIENT_USAGE)
 
-        PEGASUS_ASSERT(0);
-
         // No BinaryMessageHandler exists.  We must use ClientCIMOMHandleRep
         _rep = new ClientCIMOMHandleRep();
 
index a02d0e8edf8e9d872de71f39c4526ec4e501436e..82a998f857b8e72bfb52002777cc16ae3af7d8bf 100644 (file)
@@ -1,6 +1,6 @@
 ROOT = ..
 include $(ROOT)/mak/config.mak
 
-DIRS = providers/hello providers/goodbye cimserver
+DIRS = providers cimserver
 
 include $(PEGASUS_ROOT)/mak/recurse.mak
index 8c98a9928c164d1882283e1f0d5230a87ded90dc..64cbbe5b803aac95e6a604df2e3abcf2e29e49c1 100644 (file)
@@ -60,8 +60,6 @@ LIBRARIES = \
     cimplepegadap \
     cimplepegutils \
     cimple \
-    GoodbyeProvider \
-    HelloProvider \
     EmployeeProvider \
     pegcimserver \
     pegserver \
index 54a9e91e5ca0ce8cf2c61cd8e47b560e843fca49..e35a47ceb1dbb2976a08febda4a5304b709e7b1c 100644 (file)
@@ -30,6 +30,8 @@
 //%/////////////////////////////////////////////////////////////////////////////
 
 #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
@@ -44,6 +46,29 @@ PEGASUS_NAMESPACE_BEGIN
 // 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");
@@ -110,7 +135,7 @@ void MyEmbeddedServer::initialize()
     // one of these).
     //
 
-    if (!registerPegasusCreateProviderEntryPoint(PegasusCreateProvider))
+    if (!registerPegasusCreateProviderEntryPoint(PegasusCreateProviderWrapper))
     {
         printf("***** addSymbol() failed: Employee\n");
     }