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)