00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00024 #ifdef WIN32
00025 #pragma warning (disable : 4786)
00026 #endif
00027
00028 #if !defined(__AXISENGINE_OF_AXIS_INCLUDED__)
00029 #define __AXISENGINE_OF_AXIS_INCLUDED__
00030
00031
00032 #include "GDefine.h"
00033 #include "Packet.h"
00034 #include "SoapSerializer.h"
00035 #include "SoapDeSerializer.h"
00036 #include "BasicHandler.h"
00037 #include "MessageData.h"
00038 #include "HandlerChain.h"
00039
00040
00041
00042
00043
00044
00045
00046
00047 class AxisEngine
00048 {
00049 protected:
00050 SoapSerializer* m_pSZ;
00051 SoapDeSerializer* m_pDZ;
00052 HandlerChain* m_pGReqFChain;
00053 HandlerChain* m_pGResFChain;
00054 HandlerChain* m_pTReqFChain;
00055 HandlerChain* m_pTResFChain;
00056 HandlerChain* m_pSReqFChain;
00057 HandlerChain* m_pSResFChain;
00058 MessageData* m_pMsgData;
00059 PROVIDERTYPE m_CurrentProviderType;
00060 public:
00061 static int m_bServer;
00062 public:
00063 AxisEngine();
00064 virtual ~AxisEngine();
00065 virtual int initialize();
00066 virtual void unInitialize();
00067 virtual int process(SOAPTransport* pSoap)=0;
00068 protected:
00069 virtual int invoke(MessageData* pMsg)=0;
00070 virtual void onFault(MessageData* pMsg)=0;
00071 virtual int initializeHandlers(string& sSessionId,
00072 AXIS_PROTOCOL_TYPE protocol);
00073 };
00074
00075 #endif
00076