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 * @author Susantha Kumara (susantha@opensource.lk, skumara@virtusa.com) 00019 * 00020 * AxisWrapperAPI.h: interface for the AxisUserAPI class. 00021 */ 00022 00023 #if !defined(_AXISWRAPPERAPI_H____OF_AXIS_INCLUDED_) 00024 #define _AXISWRAPPERAPI_H____OF_AXIS_INCLUDED_ 00025 00026 #include "GDefine.h" 00027 #include "AxisUserAPI.h" 00028 #include "IWrapperSoapDeSerializer.h" 00029 #include "IWrapperSoapSerializer.h" 00030 #include "BasicHandler.h" 00031 00032 /* 00033 * Function that deserializes a custom type 00034 */ 00035 typedef int (* AXIS_DESERIALIZE_FUNCT)(void*, void*); 00036 /* 00037 * Function used to create a custom type. bArray is true if array of 00038 * objects to be 00039 * created. Then nSize is the size of that array. 00040 */ 00041 typedef void* (* AXIS_OBJECT_CREATE_FUNCT)(void*, bool bArray, int nSize); 00042 /* 00043 * Function used to delete a custom type. bArray is true if void* is a 00044 * pointer to an array. 00045 * Then nSize is the size of that array. 00046 */ 00047 typedef void (* AXIS_OBJECT_DELETE_FUNCT)(void*, bool bArray, int nSize); 00048 /* 00049 * Function that serializes a custom type. bArray indicates that the object 00050 * in void is an element of an array (note that void* is not itself an array). 00051 */ 00052 typedef int (* AXIS_SERIALIZE_FUNCT)(void*, void*, bool bArray); 00053 /* 00054 * Function that is used to get the size of an object of a custom type. 00055 */ 00056 typedef int (* AXIS_OBJECT_SIZE_FUNCT)(void); 00057 00058 00059 #endif 00060