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

GDefine.hpp

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

Generated on Tue May 17 02:30:31 2005 for AxisC++ by doxygen1.2.18