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

GDefine.h

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 typedef enum {SECURE, UNSECURE} AXIS_SECURE_PROTOCOL;
00033 
00034 typedef enum 
00035 { 
00036     AXIS_SUCCESS=0, 
00037     AXIS_FAIL = -1, 
00038     AXIS_OBJECT_ALREADY_EXISTS=1,
00039     AXIS_NO_SUCH_HANDLER,
00040     AXIS_NO_SUCH_SERVICE
00041 } AXIS_GLOBAL_ERROR;
00042 typedef enum 
00043 { 
00044     APTHTTP=1, APTFTP, APTSMTP, APTHTTPS, APTOTHER 
00045 } AXIS_PROTOCOL_TYPE;
00046 typedef enum 
00047 { 
00048     CRITICAL=1, WARN, INFO, TRIVIAL
00049 } AXIS_SEVERITY_LEVEL;
00050 
00051 #define SOAPACTIONHEADER "SOAPAction"
00052 
00053 #define AxisChar char
00054 #define AxisXMLCh char
00055 #define XML_Ch AxisChar
00056 
00057 #ifdef __cplusplus
00058 
00059 #define AXIS_CPP_NAMESPACE_START namespace axiscpp {
00060 #define AXIS_CPP_NAMESPACE_END }
00061 /*
00062 The following is necessary for the skeletons and stubs to be built
00063 */
00064 namespace axiscpp {}
00065 
00066 #define AXIS_CPP_NAMESPACE_USE using namespace axiscpp;
00067 #define AXIS_CPP_NAMESPACE_PREFIX axiscpp::
00068 
00069 
00070 #define AxisString basic_string<char>
00071 #define AxisXMLString basic_string<AxisXMLCh>
00072 
00073 #else
00074 
00075 #define AXIS_CPP_NAMESPACE_START 
00076 #define AXIS_CPP_NAMESPACE_END 
00077 
00078 #define AXIS_CPP_NAMESPACE_USE 
00079 #define AXIS_CPP_NAMESPACE_PREFIX
00080 
00081 #endif
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 extern void Ax_Sleep(int);
00090 extern void ModuleInitialize();
00091 extern void ModuleUnInitialize();
00092 
00093 #if defined(WIN32) 
00094 #define STORAGE_CLASS_INFO __declspec(dllexport)
00095 #else
00096 #define STORAGE_CLASS_INFO 
00097 #endif
00098 
00099 #if defined(__GNUC__)
00100 /*replaced stdcall with cdecl to make it work on some platforms with older libraries - Samisa*/
00101 /*#define AXISCALL __attribute__((stdcall))*/
00102 #define AXISCALL __attribute__((cdecl))
00103 #else
00104 #define AXISCALL __stdcall
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 #ifdef __cplusplus
00114     #define AXISAPI(M, P) AXISCALL M P = 0;
00115     #define APIHASPARAMS
00116     #define APINOPARAMS 
00117 #else 
00118     #define virtual 
00119     #if !defined(bool)
00120         #define bool unsigned char
00121         #define false 0
00122         #define true 1
00123     #endif
00124     #if !defined(NULL)
00125         #define NULL 0
00126     #endif
00127     #define AXISAPI(M, P) (AXISCALL* M) P;
00128     #define APIHASPARAMS void*p,
00129     #define APINOPARAMS void*p
00130 #endif
00131 
00132 #endif 
00133 
00134 

Generated on Wed Aug 18 11:42:23 2004 for AxisC++ by doxygen1.2.18