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

GDefine.hpp

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 * @author Susantha Kumara (skumara@virtusa.com) 00018 * 00019 */ 00020 #ifdef WIN32 00021 #pragma warning (disable : 4786) 00022 #pragma warning (disable : 4530) 00023 #endif 00024 00025 #if !defined(__GDEFINE_OF_AXIS_INCLUDED__) 00026 #define __GDEFINE_OF_AXIS_INCLUDED__ 00027 00028 /* This file contains all global definitions that are valid across whole 00029 * Axis C++ project. 00030 */ 00031 00032 #define AXIS_CPP_NAMESPACE_START namespace axiscpp { 00033 #define AXIS_CPP_NAMESPACE_END } 00034 /* 00035 The following is necessary for the skeletons and stubs to be built 00036 */ 00037 namespace axiscpp {} 00038 00039 #define AXIS_CPP_NAMESPACE_USE using namespace axiscpp; 00040 #define AXIS_CPP_NAMESPACE_PREFIX axiscpp:: 00041 00042 AXIS_CPP_NAMESPACE_START 00043 00044 typedef enum {SECURE, UNSECURE} AXIS_SECURE_PROTOCOL; 00045 00046 typedef enum 00047 { 00048 AXIS_SUCCESS=0, 00049 AXIS_FAIL = -1, 00050 AXIS_OBJECT_ALREADY_EXISTS=1, 00051 AXIS_NO_SUCH_HANDLER, 00052 AXIS_NO_SUCH_SERVICE 00053 } AXIS_GLOBAL_ERROR; 00054 typedef enum 00055 { 00056 APT_UNKNOWN = -1, APTHTTP1_0=0, APTHTTP1_1, APTFTP, APTSMTP, APTHTTPS, APTOTHER 00057 } AXIS_PROTOCOL_TYPE; 00058 00059 typedef enum 00060 { 00061 SOAPACTION_HEADER, 00062 SERVICE_URI, 00063 OPERATION_NAME, 00064 SOAP_MESSAGE_LENGTH, 00065 TRANSPORT_PROPERTIES, 00066 SECURE_PROPERTIES, 00067 DLL_NAME, 00068 CHANNEL_HTTP_SSL_DLL_NAME = DLL_NAME, 00069 CHANNEL_HTTP_DLL_NAME, 00070 CONTENT_TYPE 00071 } AXIS_TRANSPORT_INFORMATION_TYPE; 00072 00073 #define SOAPACTIONHEADER "SOAPAction" 00074 00075 #define AxisChar char 00076 #define AxisXMLCh char 00077 #define XML_Ch AxisChar 00078 #define AxisString std::basic_string<char> 00079 #define AxisXMLString std::basic_string<AxisXMLCh> 00080 00081 #ifdef WIN32 00082 #define AxisSprintf(X, Y, Z, W) sprintf(X, Z, W) 00083 #else /* linux */ 00084 #define AxisSprintf(X, Y, Z, W) sprintf(X, Z, W) 00085 #endif 00086 00087 #if defined(WIN32) 00088 #define STORAGE_CLASS_INFO __declspec(dllexport) 00089 #else 00090 #define STORAGE_CLASS_INFO 00091 #endif 00092 00093 #if defined(__GNUC__) 00094 /*replaced stdcall with cdecl to make it work on some platforms with older libraries - Samisa*/ 00095 /*#define AXISCALL __attribute__((stdcall))*/ 00096 #define AXISCALL __attribute__((cdecl)) 00097 #else /* unix or win32 */ 00098 #if defined(__unix) 00099 #define AXISCALL 00100 #else 00101 #define AXISCALL __stdcall 00102 #endif 00103 #endif 00104 00105 /* 00106 * Following macro define an API function of Axis C++ 00107 * Format of the AXISAPI macro is as follows 00108 * AXISAPI(<METHOD NAME>, <PARAMETER LIST>) 00109 */ 00110 00111 #define AXISAPI(M, P) AXISCALL M P = 0; 00112 #define APIHASPARAMS 00113 #define APINOPARAMS 00114 00115 AXIS_CPP_NAMESPACE_END 00116 #endif 00117 00118

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