You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by sa...@apache.org on 2004/08/02 04:44:25 UTC
cvs commit: ws-axis/c/src/engine/client Call.cpp
samisa 2004/08/01 19:44:25
Modified: c/src/engine Axis.cpp SOAPTransportFactory.cpp
SOAPTransportFactory.h
c/src/engine/client Call.cpp
Log:
Added initialize/uninitialize functionality to help set up trasport libs.
Revision Changes Path
1.65 +2 -2 ws-axis/c/src/engine/Axis.cpp
Index: Axis.cpp
===================================================================
RCS file: /home/cvs/ws-axis/c/src/engine/Axis.cpp,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -r1.64 -r1.65
--- Axis.cpp 6 Jul 2004 14:16:45 -0000 1.64
+++ Axis.cpp 2 Aug 2004 02:44:25 -0000 1.65
@@ -332,8 +332,8 @@
extern "C" int uninitialize_module ()
{
- SOAPTransportFactory::uninitialize();
- ModuleUnInitialize ();
+ SOAPTransportFactory::uninitialize();
+ //ModuleUnInitialize ();
SoapKeywordMapping::uninitialize ();
return AXIS_SUCCESS;
}
1.11 +9 -0 ws-axis/c/src/engine/SOAPTransportFactory.cpp
Index: SOAPTransportFactory.cpp
===================================================================
RCS file: /home/cvs/ws-axis/c/src/engine/SOAPTransportFactory.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- SOAPTransportFactory.cpp 15 Jul 2004 11:27:00 -0000 1.10
+++ SOAPTransportFactory.cpp 2 Aug 2004 02:44:25 -0000 1.11
@@ -36,6 +36,7 @@
CREATE_OBJECT1 SOAPTransportFactory::m_Create = 0;
DELETE_OBJECT1 SOAPTransportFactory::m_Delete = 0;
+
SOAPTransportFactory::SOAPTransportFactory()
{
m_LibHandler = 0;
@@ -71,6 +72,10 @@
}
else
{
+ void (*initializeLibrary) (void);
+ initializeLibrary = (void (*)(void))dlsym(m_LibHandler, INIT_FUNCTION);
+ if (initializeLibrary)
+ (*initializeLibrary)();
return AXIS_SUCCESS;
}
}
@@ -85,6 +90,10 @@
int SOAPTransportFactory::uninitialize()
{
+ void (*uninitializeLibrary) (void);
+ uninitializeLibrary = (void (*)(void))dlsym(m_LibHandler, UNINIT_FUNCTION);
+ if (uninitializeLibrary)
+ (*uninitializeLibrary)();
return unloadLib();
}
1.3 +5 -0 ws-axis/c/src/engine/SOAPTransportFactory.h
Index: SOAPTransportFactory.h
===================================================================
RCS file: /home/cvs/ws-axis/c/src/engine/SOAPTransportFactory.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SOAPTransportFactory.h 25 May 2004 03:47:33 -0000 1.2
+++ SOAPTransportFactory.h 2 Aug 2004 02:44:25 -0000 1.3
@@ -30,6 +30,11 @@
#define CREATE_FUNCTION1 "CreateInstance"
#define DELETE_FUNCTION1 "DestroyInstance"
+//function to do lib level init jobs
+#define INIT_FUNCTION "initializeLibrary"
+//function to do lib level uninit jobs
+#define UNINIT_FUNCTION "uninitializeLibrary"
+
#if defined(USE_LTDL)
#include <ltdl.h>
#define DLHandler lt_dlhandle
1.53 +2 -1 ws-axis/c/src/engine/client/Call.cpp
Index: Call.cpp
===================================================================
RCS file: /home/cvs/ws-axis/c/src/engine/client/Call.cpp,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -r1.52 -r1.53
--- Call.cpp 6 Jul 2004 14:16:46 -0000 1.52
+++ Call.cpp 2 Aug 2004 02:44:25 -0000 1.53
@@ -38,6 +38,7 @@
#include "../../soap/HeaderBlock.h"
extern "C" int initialize_module (int bServer);
+extern "C" int uninitialize_module ();
bool CallBase::bInitialized = false;
CallFunctions CallBase::ms_VFtable;
@@ -57,7 +58,7 @@
Call::~Call ()
{
-
+ uninitialize_module();
}
int Call::setEndpointURI (const char* pchEndpointURI)