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 // (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved 00004 * 00005 * Licensed under the Apache License, Version 2.0 (the "License"); 00006 * you may not use this file except in compliance with the License. 00007 * You may obtain a copy of the License at 00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.0 00010 * 00011 * Unless required by applicable law or agreed to in writing, software 00012 * distributed under the License is distributed on an "AS IS" BASIS, 00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00014 * See the License for the specific language governing permissions and 00015 * limitations under the License. 00016 * 00017 * 00018 */ 00019 00027 #if !defined(_BASICHANDLER_H__OF_AXIS_INCLUDED_) 00028 #define _BASICHANDLER_H__OF_AXIS_INCLUDED_ 00029 00030 #include <axis/IMessageData.hpp> 00031 #include "GDefine.hpp" 00032 00033 AXIS_CPP_NAMESPACE_START 00034 00035 typedef enum { NORMAL_HANDLER, WEBSERVICE_HANDLER, CHAIN_HANDLER } HANDLER_TYPE; 00036 00037 typedef struct 00038 { 00039 int (AXISCALL* invoke)(void* _object, void* pMsg); 00040 void (AXISCALL* onFault)(void* _object, void* pMsg); 00041 int (AXISCALL* init)(void* _object); 00042 int (AXISCALL* fini)(void* _object); 00043 int (AXISCALL* getType)(void* _object); 00044 AXIS_BINDING_STYLE (AXISCALL* getBindingStyle)(void* _object); 00045 } BasicHandlerFunctions; 00046 00047 typedef struct 00048 { 00049 void* _object; 00050 /* present only for interfaces passed from C to C++ (eg:BasicHandler) */ 00051 BasicHandlerFunctions* _functions; 00052 } BasicHandler; 00053 00071 /* 00072 * Revision 1.1 2004/06/14 roshan 00073 * Added doxygen comments to help autobuild API docs 00074 */ 00075 00076 class HandlerBase 00077 { 00078 public: 00082 HandlerBase(){}; 00083 00087 virtual ~HandlerBase(){}; 00088 00183 virtual int AXISCALL invoke(void* pMsg)=0; 00184 00198 virtual void AXISCALL onFault(void* mMsg)=0; 00199 00207 virtual int AXISCALL init()=0; 00208 00216 virtual int AXISCALL fini()=0; 00217 00231 virtual int AXISCALL getType()=0; 00232 }; 00233 00234 AXIS_CPP_NAMESPACE_END 00235 00236 #endif 00237 00238

Generated on Sat Apr 9 15:11:57 2005 for AxisC++ by doxygen 1.3.8