18 #ifndef INCLUDE_RCF_CONFIG_HPP 19 #define INCLUDE_RCF_CONFIG_HPP 21 #include <RCF/TypeTraits.hpp> 23 #ifndef RCF_MAX_METHOD_COUNT 24 #define RCF_MAX_METHOD_COUNT 100 28 #define RCF_DTOR_THROWS noexcept(false) 34 #ifdef RCF_USE_CONSTEXPR 35 #define RCF_CONSTEXPR constexpr 47 #ifndef RCF_FEATURE_LEGACY 48 #define RCF_FEATURE_LEGACY 0 52 #if defined(RCF_FEATURE_LOCALSOCKET) && defined(RCF_WINDOWS) 53 #undef RCF_FEATURE_LOCALSOCKET 54 #define RCF_FEATURE_LOCALSOCKET 0 58 #if defined(RCF_FEATURE_NAMEDPIPE) && !defined(RCF_WINDOWS) 59 #undef RCF_FEATURE_NAMEDPIPE 60 #define RCF_FEATURE_NAMEDPIPE 0 64 #if defined(RCF_FEATURE_SSPI) && !defined(RCF_WINDOWS) 65 #undef RCF_FEATURE_SSPI 66 #define RCF_FEATURE_SSPI 0 73 #ifndef RCF_FEATURE_ZLIB 75 #define RCF_FEATURE_ZLIB 1 77 #define RCF_FEATURE_ZLIB 0 82 #ifndef RCF_FEATURE_OPENSSL 83 #ifdef RCF_USE_OPENSSL 84 #define RCF_FEATURE_OPENSSL 1 86 #define RCF_FEATURE_OPENSSL 0 91 #ifndef RCF_FEATURE_SSPI 92 #if defined(RCF_WINDOWS) && RCF_PRO == 1 93 #define RCF_FEATURE_SSPI 1 95 #define RCF_FEATURE_SSPI 0 100 #ifndef RCF_FEATURE_FILETRANSFER 101 #define RCF_FEATURE_FILETRANSFER 0 105 #ifndef RCF_FEATURE_SERVER 106 #define RCF_FEATURE_SERVER 1 110 #ifndef RCF_FEATURE_PROXYENDPOINT 111 #define RCF_FEATURE_PROXYENDPOINT 1 115 #ifndef RCF_FEATURE_PUBSUB 116 #define RCF_FEATURE_PUBSUB 1 120 #ifndef RCF_FEATURE_HTTP 121 #define RCF_FEATURE_HTTP 1 125 #ifndef RCF_FEATURE_UDP 126 #define RCF_FEATURE_UDP 1 130 #ifndef RCF_FEATURE_NAMEDPIPE 132 #define RCF_FEATURE_NAMEDPIPE 1 134 #define RCF_FEATURE_NAMEDPIPE 0 139 #ifndef RCF_FEATURE_LOCALSOCKET 141 #define RCF_FEATURE_LOCALSOCKET 0 143 #define RCF_FEATURE_LOCALSOCKET 1 148 #ifndef RCF_FEATURE_TCP 149 #define RCF_FEATURE_TCP 1 153 #ifndef RCF_FEATURE_IPV6 154 #define RCF_FEATURE_IPV6 1 158 #ifndef RCF_FEATURE_PROTOBUF 159 #ifdef RCF_USE_PROTOBUF 160 #define RCF_FEATURE_PROTOBUF 1 162 #define RCF_FEATURE_PROTOBUF 0 167 #ifndef RCF_FEATURE_CUSTOM_ALLOCATOR 168 #ifdef RCF_USE_CUSTOM_ALLOCATOR 169 #define RCF_FEATURE_CUSTOM_ALLOCATOR 1 171 #define RCF_FEATURE_CUSTOM_ALLOCATOR 0 179 #ifndef RCF_FEATURE_SF 180 #ifdef RCF_USE_SF_SERIALIZATION 181 #define RCF_FEATURE_SF 1 182 #elif !defined(RCF_USE_SF_SERIALIZATION) && defined(RCF_USE_BOOST_SERIALIZATION) 183 #define RCF_FEATURE_SF 0 185 #define RCF_FEATURE_SF 1 189 #ifndef RCF_FEATURE_BOOST_SERIALIZATION 190 #ifdef RCF_USE_BOOST_SERIALIZATION 191 #define RCF_FEATURE_BOOST_SERIALIZATION 1 193 #define RCF_FEATURE_BOOST_SERIALIZATION 0 203 #if defined(_MSC_VER) && (_MSC_VER >= 1600 || (_MSC_VER == 1500 && _MSC_FULL_VER >= 150030729)) 205 #define RCF_TR1_HEADER(x) <x> 209 #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) 211 #define RCF_TR1_HEADER(x) <tr1/x> 214 #endif // RCF_USE_TR1 217 #ifndef RCF_USE_HASH_MAP 219 #if (defined(_MSC_VER) && _MSC_VER >= 1310) || (defined(__GNUC__) && __GNUC__ == 3) 220 #define RCF_USE_HASH_MAP 221 #if defined(_MSC_VER) 222 #define RCF_HASH_MAP_HEADER(x) <x> 223 #define RCF_HASH_MAP_NS stdext 224 #elif defined(__GNUC__) 225 #define RCF_HASH_MAP_HEADER(x) <ext/x> 226 #define RCF_HASH_MAP_NS __gnu_cxx 230 #endif // RCF_USE_HASH_MAP 234 typedef Int<RCF_FEATURE_SF> RcfConfig_SF;
235 typedef Int<RCF_FEATURE_BOOST_SERIALIZATION> RcfConfig_BSer;
236 typedef Int<RCF_FEATURE_FILETRANSFER> RcfConfig_FileTransfer;
237 typedef Int<RCF_FEATURE_PROTOBUF> RcfConfig_Protobufs;
239 template<
int N1,
int N2,
int N3,
int N4>
240 struct RcfConfigurationDetectMismatches
244 typedef RcfConfigurationDetectMismatches<
246 RcfConfig_BSer::value,
247 RcfConfig_FileTransfer::value,
248 RcfConfig_Protobufs::value> RcfConfigT;
257 #error RCF requires Run-Time Type Info support to be enabled. 262 #if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__) 263 # define RCF_CURRENT_FUNCTION __PRETTY_FUNCTION__ 264 #elif defined(__DMC__) && (__DMC__ >= 0x810) 265 # define RCF_CURRENT_FUNCTION __PRETTY_FUNCTION__ 266 #elif defined(__FUNCSIG__) 267 # define RCF_CURRENT_FUNCTION __FUNCSIG__ 268 #elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500)) 269 # define RCF_CURRENT_FUNCTION __FUNCTION__ 270 #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) 271 # define RCF_CURRENT_FUNCTION __FUNC__ 272 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) 273 # define RCF_CURRENT_FUNCTION __func__ 274 #elif defined(__cplusplus) && (__cplusplus >= 201103) 275 # define RCF_CURRENT_FUNCTION __func__ 277 # define RCF_CURRENT_FUNCTION "(unknown)" 281 #ifndef RCF_USE_BOOST_ASIO 283 #ifndef ASIO_STANDALONE 284 #define ASIO_STANDALONE 287 #ifndef ASIO_HAS_STD_CHRONO 288 #define ASIO_HAS_STD_CHRONO 291 #endif // ! RCF_USE_BOOST_ASIO 296 #define RCF_USE_STD_UTF8_CONVERTER 299 #endif // ! INCLUDE_RCF_CONFIG_HPP Definition: AmiIoHandler.hpp:23