Main Page   Class Hierarchy   Compound List   File List   Compound Members   Examples  

BasicHandler.h

00001 /*
00002  *   Copyright 2003-2004 The Apache Software Foundation.
00003  *
00004  *   Licensed under the Apache License, Version 2.0 (the "License");
00005  *   you may not use this file except in compliance with the License.
00006  *   You may obtain a copy of the License at
00007  *
00008  *       http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  *   Unless required by applicable law or agreed to in writing, software
00011  *   distributed under the License is distributed on an "AS IS" BASIS,
00012  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  *   See the License for the specific language governing permissions and
00014  *   limitations under the License.
00015  *
00016  *
00017  */
00018 
00019 #if !defined(_BASICHANDLER_H__OF_AXIS_INCLUDED_)
00020 #define _BASICHANDLER_H__OF_AXIS_INCLUDED_
00021 
00022 #include "IMessageData.h"
00023 #include "GDefine.h"
00024 
00025 enum HANDLER_TYPE { NORMAL_HANDLER, WEBSERVICE_HANDLER, CHAIN_HANDLER };
00026 
00027 typedef struct 
00028 {
00029     int (AXISCALL* invoke)(void* _object, void* pMsg);
00030     void (AXISCALL* onFault)(void* _object, void* pMsg);
00031     int (AXISCALL* init)(void* _object);
00032     int (AXISCALL* fini)(void* _object);
00033     int (AXISCALL* getType)(void* _object);
00034     AXIS_BINDING_STYLE (AXISCALL* getBindingStyle)(void* _object);
00035 } BasicHandlerFunctions;
00036 
00037 typedef struct 
00038 {
00039     void* _object; 
00040     /* present only for interfaces passed from C to C++ (eg:BasicHandler) */
00041     BasicHandlerFunctions* _functions;
00042 } BasicHandler;
00043 
00044 #ifdef __cplusplus
00045 
00063 /*
00064  * Revision 1.1  2004/06/14 roshan
00065  * Added doxygen comments to help autobuild API docs
00066  */
00067 
00068 class HandlerBase  
00069 {
00070 public:
00074     HandlerBase(){};
00075 
00079     virtual ~HandlerBase(){};
00080 
00175     virtual int AXISCALL invoke(void* pMsg)=0;
00176 
00190     virtual void AXISCALL onFault(void* mMsg)=0;
00191 
00199     virtual int AXISCALL init()=0;
00200 
00208     virtual int AXISCALL fini()=0;
00209 
00223     virtual int AXISCALL getType()=0;
00224 };
00225 #endif
00226 
00227 #endif 
00228 
00229 

Generated on Tue Jun 15 19:13:22 2004 for axiscpp by doxygen1.2.18