/* */ #include "FeatureConfig.h" FeatureConfig* FeatureConfig::featureConfig = 0; #define FEATURE_HTTP "http" #define FEATURE_HTTPS "https" #define FEATURE_FTP "ftp" #define FEATURE_BITTORRENT "bittorrent" #define FEATURE_METALINK "metalink" #define FEATURE_MESSAGE_DIGEST "message digest" #define FEATURE_ASYNC_DNS "async dns" FeatureConfig::FeatureConfig() { static PortMap::value_type portArray[] = { PortMap::value_type("http", 80), PortMap::value_type("https", 443), PortMap::value_type("ftp", 21), }; int32_t portArraySize = sizeof(portArray)/sizeof(PortMap::value_type); defaultPorts.insert(&portArray[0], &portArray[portArraySize]); static FeatureMap::value_type featureArray[] = { FeatureMap::value_type(FEATURE_HTTP, true), FeatureMap::value_type(FEATURE_HTTPS, #ifdef ENABLE_SSL true #else false #endif // ENABLE_SSL ), FeatureMap::value_type(FEATURE_FTP, true), FeatureMap::value_type(FEATURE_BITTORRENT, #ifdef ENABLE_BITTORRENT true #else false #endif // ENABLE_BITTORRENT ), FeatureMap::value_type(FEATURE_METALINK, #ifdef ENABLE_METALINK true #else false #endif // ENABLE_METALINK ), FeatureMap::value_type(FEATURE_MESSAGE_DIGEST, #ifdef ENABLE_MESSAGE_DIGEST true #else false #endif // ENABLE_MESSAGE_DIGEST ), FeatureMap::value_type(FEATURE_ASYNC_DNS, #ifdef ENABLE_ASYNC_DNS true #else false #endif // ENABLE_ASYNC_DNS ), }; int32_t featureArraySize = sizeof(featureArray)/sizeof(FeatureMap::value_type); supportedFeatures.insert(&featureArray[0], &featureArray[featureArraySize]); for(int32_t i = 0; i < featureArraySize; i++) { features.push_back(featureArray[i].first); } }