Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members   Examples  

BasicHandler.h

Go to the documentation of this file.
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 
00026 #if !defined(_BASICHANDLER_H__OF_AXIS_INCLUDED_)
00027 #define _BASICHANDLER_H__OF_AXIS_INCLUDED_
00028 
00029 #include "IMessageData.h"
00030 #include "GDefine.h"
00031 
00032 enum HANDLER_TYPE { NORMAL_HANDLER, WEBSERVICE_HANDLER, CHAIN_HANDLER };
00033 
00034 typedef struct 
00035 {
00036     int (AXISCALL* invoke)(void* _object, void* pMsg);
00037     void (AXISCALL* onFault)(void* _object, void* pMsg);
00038     int (AXISCALL* init)(void* _object);
00039     int (AXISCALL* fini)(void* _object);
00040     int (AXISCALL* getType)(void* _object);
00041     AXIS_BINDING_STYLE (AXISCALL* getBindingStyle)(void* _object);
00042 } BasicHandlerFunctions;
00043 
00044 typedef struct 
00045 {
00046     void* _object; 
00047     /* present only for interfaces passed from C to C++ (eg:BasicHandler) */
00048     BasicHandlerFunctions* _functions;
00049 } BasicHandler;
00050 
00051 #ifdef __cplusplus
00052 
00070 /*
00071  * Revision 1.1  2004/06/14 roshan
00072  * Added doxygen comments to help autobuild API docs
00073  */
00074 
00075 class HandlerBase
00076 {
00077 public:
00081     HandlerBase(){};
00082 
00086     virtual ~HandlerBase(){};
00087 
00182     virtual int AXISCALL invoke(void* pMsg)=0;
00183 
00197     virtual void AXISCALL onFault(void* mMsg)=0;
00198 
00206     virtual int AXISCALL init()=0;
00207 
00215     virtual int AXISCALL fini()=0;
00216 
00230     virtual int AXISCALL getType()=0;
00231 };
00232 #endif
00233 
00234 #endif 
00235 
00236 

Generated on Tue Jun 29 09:27:56 2004 for AxisC++ by doxygen1.2.18