00001
00002
00003 #ifndef BASE_PORTABLE_H
00004 #define BASE_PORTABLE_H
00005
00006 namespace base {
00007 #if defined(_MSC_VER)
00008 #if _MSC_VER < 1310
00009 typedef __int64 longlong_t;
00010 typedef unsigned __int64 u_longlong_t;
00011 #else
00012 typedef long long longlong_t;
00013 typedef unsigned long long u_longlong_t;
00014 #endif
00015 #elif defined(__GNUC__)
00016 typedef long long longlong_t;
00017 typedef unsigned long long u_longlong_t;
00018 #else
00019
00020 typedef long long longlong_t;
00021 typedef unsigned long long u_longlong_t;
00022 #endif
00023 }
00024
00025 #define DISALLOW_COPY_CONSTRUCTOR_AND_ASSIGNMENT(Class) \
00026 private: \
00027 \
00028 Class(const Class &); \
00029 \
00030 Class &operator=(const Class &)
00031
00032 #if defined(_MSC_VER) && defined(_WIN32) && defined(_DLL)
00033 #ifdef PPBASE_EXPORTS
00034 #define PPBASE_EXPORT __declspec(dllexport)
00035 #else
00036 #define PPBASE_EXPORT __declspec(dllimport)
00037 #endif
00038 #ifdef PPBASE_CGI_EXPORTS
00039 #define PPBASE_CGI_EXPORT __declspec(dllexport)
00040 #else
00041 #define PPBASE_CGI_EXPORT __declspec(dllimport)
00042 #endif
00043 #ifdef PPBASE_CRYPTO_EXPORTS
00044 #define PPBASE_CRYPTO_EXPORT __declspec(dllexport)
00045 #else
00046 #define PPBASE_CRYPTO_EXPORT __declspec(dllimport)
00047 #endif
00048 #ifdef PPBASE_HTTP_EXPORTS
00049 #define PPBASE_HTTP_EXPORT __declspec(dllexport)
00050 #else
00051 #define PPBASE_HTTP_EXPORT __declspec(dllimport)
00052 #endif
00053 #ifdef PPBASE_SOAP_EXPORTS
00054 #define PPBASE_SOAP_EXPORT __declspec(dllexport)
00055 #else
00056 #define PPBASE_SOAP_EXPORT __declspec(dllimport)
00057 #endif
00058 #else
00059 #define PPBASE_EXPORT
00060 #define PPBASE_CGI_EXPORT
00061 #define PPBASE_CRYPTO_EXPORT
00062 #define PPBASE_HTTP_EXPORT
00063 #define PPBASE_SOAP_EXPORT
00064 #endif
00065
00066 #endif