Main Page   Class Hierarchy   Compound List   File List   Compound 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 #define AxisString basic_string<char>
00059 #define AxisXMLString basic_string<AxisXMLCh>
00060 #endif
00061 
00062 #ifdef WIN32
00063     #define AxisSprintf(X, Y, Z, W) sprintf(X, Z, W)
00064 #else /* linux */
00065     #define AxisSprintf(X, Y, Z, W) sprintf(X, Z, W)
00066 #endif
00067 
00068 extern void Ax_Sleep(int);
00069 extern void ModuleInitialize();
00070 extern void ModuleUnInitialize();
00071 
00072 #if defined(WIN32) 
00073 #define STORAGE_CLASS_INFO __declspec(dllexport)
00074 #else
00075 #define STORAGE_CLASS_INFO 
00076 #endif
00077 
00078 #if defined(__GNUC__)
00079 /*replaced stdcall with cdecl to make it work on some platforms with older libraries - Samisa*/
00080 /*#define AXISCALL __attribute__((stdcall))*/
00081 #define AXISCALL __attribute__((cdecl))
00082 #else
00083 #define AXISCALL __stdcall
00084 #endif
00085 
00086 /*
00087  * Following macro define an API function of Axis C++
00088  * Format of the AXISAPI macro is as follows
00089  * AXISAPI(<METHOD NAME>, <PARAMETER LIST>)
00090  */
00091 
00092 #ifdef __cplusplus
00093     #define AXISAPI(M, P) AXISCALL M P = 0;
00094     #define APIHASPARAMS
00095     #define APINOPARAMS 
00096 #else 
00097     #define virtual 
00098     #if !defined(bool)
00099         #define bool unsigned char
00100         #define false 0
00101         #define true 1
00102     #endif
00103     #if !defined(NULL)
00104         #define NULL 0
00105     #endif
00106     #define AXISAPI(M, P) (AXISCALL* M) P;
00107     #define APIHASPARAMS void*p,
00108     #define APINOPARAMS void*p
00109 #endif
00110 
00111 #endif 
00112 
00113 

Generated on Tue Jun 15 19:13:23 2004 for axiscpp by doxygen1.2.18