Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages | Examples

BasicHandler.hpp

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 <axis/IMessageData.hpp> 00030 #include "GDefine.hpp" 00031 00032 AXIS_CPP_NAMESPACE_START 00033 00034 typedef enum { NORMAL_HANDLER, WEBSERVICE_HANDLER, CHAIN_HANDLER } HANDLER_TYPE; 00035 00036 typedef struct 00037 { 00038 int (AXISCALL* invoke)(void* _object, void* pMsg); 00039 void (AXISCALL* onFault)(void* _object, void* pMsg); 00040 int (AXISCALL* init)(void* _object); 00041 int (AXISCALL* fini)(void* _object); 00042 int (AXISCALL* getType)(void* _object); 00043 AXIS_BINDING_STYLE (AXISCALL* getBindingStyle)(void* _object); 00044 } BasicHandlerFunctions; 00045 00046 typedef struct 00047 { 00048 void* _object; 00049 /* present only for interfaces passed from C to C++ (eg:BasicHandler) */ 00050 BasicHandlerFunctions* _functions; 00051 } BasicHandler; 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 00233 AXIS_CPP_NAMESPACE_END 00234 00235 #endif 00236 00237

Generated on Tue Feb 8 14:34:17 2005 for AxisC++ by doxygen 1.3.8