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