/* */ #ifndef _D_FEATURE_CONFIG_H_ #define _D_FEATURE_CONFIG_H_ #include "common.h" #include "SharedHandle.h" #include #include namespace aria2 { typedef std::map PortMap; typedef std::map FeatureMap; class FeatureConfig { private: static SharedHandle _featureConfig; PortMap _defaultPorts; FeatureMap _features; FeatureConfig(); public: static SharedHandle getInstance(); uint16_t getDefaultPort(const std::string& protocol) const; bool isSupported(const std::string& feature) const; std::string featureSummary() const; static const std::string FEATURE_HTTPS; static const std::string FEATURE_BITTORRENT; static const std::string FEATURE_METALINK; static const std::string FEATURE_MESSAGE_DIGEST; static const std::string FEATURE_ASYNC_DNS; }; } // namespace aria2 #endif // _D_FEATURE_CONFIG_H_