Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members   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 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     APT_UNKNOWN = -1, APTHTTP1_0=0, APTHTTP1_1, APTFTP, APTSMTP, APTHTTPS, APTOTHER
00045 } AXIS_PROTOCOL_TYPE;
00046 
00047 typedef enum 
00048 {
00049     SOAPACTION_HEADER,
00050     SERVICE_URI,
00051     OPERATION_NAME,
00052     SOAP_MESSAGE_LENGTH,
00053     SECURE_PROPERTIES,
00054     DLL_NAME
00055 } AXIS_TRANSPORT_INFORMATION_TYPE;
00056 
00057 #define SOAPACTIONHEADER "SOAPAction"
00058 
00059 #define AxisChar char
00060 #define AxisXMLCh char
00061 #define XML_Ch AxisChar
00062 
00063 #define AXIS_CPP_NAMESPACE_START namespace axiscpp {
00064 #define AXIS_CPP_NAMESPACE_END }
00065 /*
00066 The following is necessary for the skeletons and stubs to be built
00067 */
00068 namespace axiscpp {}
00069 
00070 #define AXIS_CPP_NAMESPACE_USE using namespace axiscpp;
00071 #define AXIS_CPP_NAMESPACE_PREFIX axiscpp::
00072 
00073 #define AxisString basic_string<char>
00074 #define AxisXMLString basic_string<AxisXMLCh>
00075 
00076 #ifdef WIN32
00077     #define AxisSprintf(X, Y, Z, W) sprintf(X, Z, W)
00078 #else /* linux */
00079     #define AxisSprintf(X, Y, Z, W) sprintf(X, Z, W)
00080 #endif
00081 
00082 extern void Ax_Sleep(int);
00083 extern void ModuleInitialize();
00084 extern void ModuleUnInitialize();
00085 
00086 #if defined(WIN32) 
00087 #define STORAGE_CLASS_INFO __declspec(dllexport)
00088 #else
00089 #define STORAGE_CLASS_INFO 
00090 #endif
00091 
00092 #if defined(__GNUC__)
00093 /*replaced stdcall with cdecl to make it work on some platforms with older libraries - Samisa*/
00094 /*#define AXISCALL __attribute__((stdcall))*/
00095 #define AXISCALL __attribute__((cdecl))
00096 #else /* unix or win32 */
00097 #if defined(__unix)
00098 #define AXISCALL
00099 #else
00100 #define AXISCALL __stdcall
00101 #endif
00102 #endif
00103 
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 #endif 
00116 
00117 

Generated on Fri Dec 3 18:43:42 2004 for AxisC++ by doxygen1.2.18