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) 42 #ifndef RCF_FEATURE_LEGACY 43 #define RCF_FEATURE_LEGACY 0 47 #if defined(RCF_FEATURE_LOCALSOCKET) && defined(RCF_WINDOWS) 48 #undef RCF_FEATURE_LOCALSOCKET 49 #define RCF_FEATURE_LOCALSOCKET 0 53 #if defined(RCF_FEATURE_NAMEDPIPE) && !defined(RCF_WINDOWS) 54 #undef RCF_FEATURE_NAMEDPIPE 55 #define RCF_FEATURE_NAMEDPIPE 0 59 #if defined(RCF_FEATURE_SSPI) && !defined(RCF_WINDOWS) 60 #undef RCF_FEATURE_SSPI 61 #define RCF_FEATURE_SSPI 0 68 #ifndef RCF_FEATURE_ZLIB 70 #define RCF_FEATURE_ZLIB 1 72 #define RCF_FEATURE_ZLIB 0 77 #ifndef RCF_FEATURE_OPENSSL 78 #ifdef RCF_USE_OPENSSL 79 #define RCF_FEATURE_OPENSSL 1 81 #define RCF_FEATURE_OPENSSL 0 86 #ifndef RCF_FEATURE_SSPI 87 #if defined(RCF_WINDOWS) && RCF_PRO == 1 88 #define RCF_FEATURE_SSPI 1 90 #define RCF_FEATURE_SSPI 0 95 #ifndef RCF_FEATURE_FILETRANSFER 96 #define RCF_FEATURE_FILETRANSFER 0 100 #ifndef RCF_FEATURE_SERVER 101 #define RCF_FEATURE_SERVER 1 105 #ifndef RCF_FEATURE_PROXYENDPOINT 106 #define RCF_FEATURE_PROXYENDPOINT 1 110 #ifndef RCF_FEATURE_PUBSUB 111 #define RCF_FEATURE_PUBSUB 1 115 #ifndef RCF_FEATURE_HTTP 116 #define RCF_FEATURE_HTTP 1 120 #ifndef RCF_FEATURE_UDP 121 #define RCF_FEATURE_UDP 1 125 #ifndef RCF_FEATURE_NAMEDPIPE 127 #define RCF_FEATURE_NAMEDPIPE 1 129 #define RCF_FEATURE_NAMEDPIPE 0 134 #ifndef RCF_FEATURE_LOCALSOCKET 136 #define RCF_FEATURE_LOCALSOCKET 0 138 #define RCF_FEATURE_LOCALSOCKET 1 143 #ifndef RCF_FEATURE_TCP 144 #define RCF_FEATURE_TCP 1 148 #ifndef RCF_FEATURE_IPV6 149 #define RCF_FEATURE_IPV6 1 153 #ifndef RCF_FEATURE_PROTOBUF 154 #ifdef RCF_USE_PROTOBUF 155 #define RCF_FEATURE_PROTOBUF 1 157 #define RCF_FEATURE_PROTOBUF 0 162 #ifndef RCF_FEATURE_CUSTOM_ALLOCATOR 163 #ifdef RCF_USE_CUSTOM_ALLOCATOR 164 #define RCF_FEATURE_CUSTOM_ALLOCATOR 1 166 #define RCF_FEATURE_CUSTOM_ALLOCATOR 0 174 #ifndef RCF_FEATURE_SF 175 #ifdef RCF_USE_SF_SERIALIZATION 176 #define RCF_FEATURE_SF 1 177 #elif !defined(RCF_USE_SF_SERIALIZATION) && defined(RCF_USE_BOOST_SERIALIZATION) 178 #define RCF_FEATURE_SF 0 180 #define RCF_FEATURE_SF 1 184 #ifndef RCF_FEATURE_BOOST_SERIALIZATION 185 #ifdef RCF_USE_BOOST_SERIALIZATION 186 #define RCF_FEATURE_BOOST_SERIALIZATION 1 188 #define RCF_FEATURE_BOOST_SERIALIZATION 0 198 #if defined(_MSC_VER) && (_MSC_VER >= 1600 || (_MSC_VER == 1500 && _MSC_FULL_VER >= 150030729)) 200 #define RCF_TR1_HEADER(x) <x> 204 #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) 206 #define RCF_TR1_HEADER(x) <tr1/x> 209 #endif // RCF_USE_TR1 212 #ifndef RCF_USE_HASH_MAP 214 #if (defined(_MSC_VER) && _MSC_VER >= 1310) || (defined(__GNUC__) && __GNUC__ == 3) 215 #define RCF_USE_HASH_MAP 216 #if defined(_MSC_VER) 217 #define RCF_HASH_MAP_HEADER(x) <x> 218 #define RCF_HASH_MAP_NS stdext 219 #elif defined(__GNUC__) 220 #define RCF_HASH_MAP_HEADER(x) <ext/x> 221 #define RCF_HASH_MAP_NS __gnu_cxx 225 #endif // RCF_USE_HASH_MAP 229 typedef Int<RCF_FEATURE_SF> RcfConfig_SF;
230 typedef Int<RCF_FEATURE_BOOST_SERIALIZATION> RcfConfig_BSer;
231 typedef Int<RCF_FEATURE_FILETRANSFER> RcfConfig_FileTransfer;
232 typedef Int<RCF_FEATURE_PROTOBUF> RcfConfig_Protobufs;
234 template<
int N1,
int N2,
int N3,
int N4>
235 struct RcfConfigurationDetectMismatches
239 typedef RcfConfigurationDetectMismatches<
241 RcfConfig_BSer::value,
242 RcfConfig_FileTransfer::value,
243 RcfConfig_Protobufs::value> RcfConfigT;
252 #error RCF requires Run-Time Type Info support to be enabled. 257 #if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__) 258 # define RCF_CURRENT_FUNCTION __PRETTY_FUNCTION__ 259 #elif defined(__DMC__) && (__DMC__ >= 0x810) 260 # define RCF_CURRENT_FUNCTION __PRETTY_FUNCTION__ 261 #elif defined(__FUNCSIG__) 262 # define RCF_CURRENT_FUNCTION __FUNCSIG__ 263 #elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500)) 264 # define RCF_CURRENT_FUNCTION __FUNCTION__ 265 #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) 266 # define RCF_CURRENT_FUNCTION __FUNC__ 267 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) 268 # define RCF_CURRENT_FUNCTION __func__ 269 #elif defined(__cplusplus) && (__cplusplus >= 201103) 270 # define RCF_CURRENT_FUNCTION __func__ 272 # define RCF_CURRENT_FUNCTION "(unknown)" 276 #ifndef RCF_USE_BOOST_ASIO 278 #ifndef ASIO_STANDALONE 279 #define ASIO_STANDALONE 282 #ifndef ASIO_HAS_STD_CHRONO 283 #define ASIO_HAS_STD_CHRONO 286 #endif // ! RCF_USE_BOOST_ASIO 288 #endif // ! INCLUDE_RCF_CONFIG_HPP Definition: AmiIoHandler.hpp:24