19 #ifndef INCLUDE_RCF_CONFIG_HPP 20 #define INCLUDE_RCF_CONFIG_HPP 22 #include <RCF/TypeTraits.hpp> 24 #ifndef RCF_MAX_METHOD_COUNT 25 #define RCF_MAX_METHOD_COUNT 100 29 #define RCF_DTOR_THROWS noexcept(false) 35 #ifdef RCF_USE_CONSTEXPR 36 #define RCF_CONSTEXPR constexpr 48 #ifndef RCF_FEATURE_LEGACY 49 #define RCF_FEATURE_LEGACY 0 53 #if defined(RCF_FEATURE_LOCALSOCKET) && defined(RCF_WINDOWS) 54 #undef RCF_FEATURE_LOCALSOCKET 55 #define RCF_FEATURE_LOCALSOCKET 0 59 #if defined(RCF_FEATURE_NAMEDPIPE) && !defined(RCF_WINDOWS) 60 #undef RCF_FEATURE_NAMEDPIPE 61 #define RCF_FEATURE_NAMEDPIPE 0 65 #if defined(RCF_FEATURE_SSPI) && !defined(RCF_WINDOWS) 66 #undef RCF_FEATURE_SSPI 67 #define RCF_FEATURE_SSPI 0 74 #ifndef RCF_FEATURE_ZLIB 76 #define RCF_FEATURE_ZLIB 1 78 #define RCF_FEATURE_ZLIB 0 83 #ifndef RCF_FEATURE_OPENSSL 84 #ifdef RCF_USE_OPENSSL 85 #define RCF_FEATURE_OPENSSL 1 87 #define RCF_FEATURE_OPENSSL 0 92 #ifndef RCF_FEATURE_SSPI 93 #if defined(RCF_WINDOWS) && RCF_PRO == 1 94 #define RCF_FEATURE_SSPI 1 96 #define RCF_FEATURE_SSPI 0 101 #ifndef RCF_FEATURE_FILETRANSFER 102 #define RCF_FEATURE_FILETRANSFER 0 106 #ifndef RCF_FEATURE_SERVER 107 #define RCF_FEATURE_SERVER 1 111 #ifndef RCF_FEATURE_PROXYENDPOINT 112 #define RCF_FEATURE_PROXYENDPOINT 1 116 #ifndef RCF_FEATURE_PUBSUB 117 #define RCF_FEATURE_PUBSUB 1 121 #ifndef RCF_FEATURE_HTTP 122 #define RCF_FEATURE_HTTP 1 126 #ifndef RCF_FEATURE_UDP 127 #define RCF_FEATURE_UDP 1 131 #ifndef RCF_FEATURE_NAMEDPIPE 133 #define RCF_FEATURE_NAMEDPIPE 1 135 #define RCF_FEATURE_NAMEDPIPE 0 140 #ifndef RCF_FEATURE_LOCALSOCKET 142 #define RCF_FEATURE_LOCALSOCKET 0 144 #define RCF_FEATURE_LOCALSOCKET 1 149 #ifndef RCF_FEATURE_TCP 150 #define RCF_FEATURE_TCP 1 154 #ifndef RCF_FEATURE_IPV6 155 #define RCF_FEATURE_IPV6 1 159 #ifndef RCF_FEATURE_PROTOBUF 160 #ifdef RCF_USE_PROTOBUF 161 #define RCF_FEATURE_PROTOBUF 1 163 #define RCF_FEATURE_PROTOBUF 0 168 #ifndef RCF_FEATURE_CUSTOM_ALLOCATOR 169 #ifdef RCF_USE_CUSTOM_ALLOCATOR 170 #define RCF_FEATURE_CUSTOM_ALLOCATOR 1 172 #define RCF_FEATURE_CUSTOM_ALLOCATOR 0 180 #ifndef RCF_FEATURE_SF 181 #ifdef RCF_USE_SF_SERIALIZATION 182 #define RCF_FEATURE_SF 1 183 #elif !defined(RCF_USE_SF_SERIALIZATION) && defined(RCF_USE_BOOST_SERIALIZATION) 184 #define RCF_FEATURE_SF 0 186 #define RCF_FEATURE_SF 1 190 #ifndef RCF_FEATURE_BOOST_SERIALIZATION 191 #ifdef RCF_USE_BOOST_SERIALIZATION 192 #define RCF_FEATURE_BOOST_SERIALIZATION 1 194 #define RCF_FEATURE_BOOST_SERIALIZATION 0 204 #if defined(_MSC_VER) && (_MSC_VER >= 1600 || (_MSC_VER == 1500 && _MSC_FULL_VER >= 150030729)) 206 #define RCF_TR1_HEADER(x) <x> 210 #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) 212 #define RCF_TR1_HEADER(x) <tr1/x> 215 #endif // RCF_USE_TR1 218 #ifndef RCF_USE_HASH_MAP 220 #if (defined(_MSC_VER) && _MSC_VER >= 1310) || (defined(__GNUC__) && __GNUC__ == 3) 221 #define RCF_USE_HASH_MAP 222 #if defined(_MSC_VER) 223 #define RCF_HASH_MAP_HEADER(x) <x> 224 #define RCF_HASH_MAP_NS stdext 225 #elif defined(__GNUC__) 226 #define RCF_HASH_MAP_HEADER(x) <ext/x> 227 #define RCF_HASH_MAP_NS __gnu_cxx 231 #endif // RCF_USE_HASH_MAP 235 typedef Int<RCF_FEATURE_SF> RcfConfig_SF;
236 typedef Int<RCF_FEATURE_BOOST_SERIALIZATION> RcfConfig_BSer;
237 typedef Int<RCF_FEATURE_FILETRANSFER> RcfConfig_FileTransfer;
238 typedef Int<RCF_FEATURE_PROTOBUF> RcfConfig_Protobufs;
240 template<
int N1,
int N2,
int N3,
int N4>
241 struct RcfConfigurationDetectMismatches
245 typedef RcfConfigurationDetectMismatches<
247 RcfConfig_BSer::value,
248 RcfConfig_FileTransfer::value,
249 RcfConfig_Protobufs::value> RcfConfigT;
258 #error RCF requires Run-Time Type Info support to be enabled. 263 #if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__) 264 # define RCF_CURRENT_FUNCTION __PRETTY_FUNCTION__ 265 #elif defined(__DMC__) && (__DMC__ >= 0x810) 266 # define RCF_CURRENT_FUNCTION __PRETTY_FUNCTION__ 267 #elif defined(__FUNCSIG__) 268 # define RCF_CURRENT_FUNCTION __FUNCSIG__ 269 #elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500)) 270 # define RCF_CURRENT_FUNCTION __FUNCTION__ 271 #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) 272 # define RCF_CURRENT_FUNCTION __FUNC__ 273 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) 274 # define RCF_CURRENT_FUNCTION __func__ 275 #elif defined(__cplusplus) && (__cplusplus >= 201103) 276 # define RCF_CURRENT_FUNCTION __func__ 278 # define RCF_CURRENT_FUNCTION "(unknown)" 282 #ifndef RCF_USE_BOOST_ASIO 284 #ifndef ASIO_STANDALONE 285 #define ASIO_STANDALONE 288 #ifndef ASIO_HAS_STD_CHRONO 289 #define ASIO_HAS_STD_CHRONO 292 #endif // ! RCF_USE_BOOST_ASIO 294 #endif // ! INCLUDE_RCF_CONFIG_HPP Definition: AmiIoHandler.hpp:24