/* */ #ifndef _D_BENCODE2_H_ #define _D_BENCODE2_H_ #include "common.h" #include #include #include "ValueBase.h" namespace aria2 { namespace bencode2 { const size_t MAX_STRUCTURE_DEPTH = 100; SharedHandle decode(std::istream& in); // Decode the data in s. SharedHandle decode(const std::string& s); // Decode the data in s. After decode is done successfully, return the // bencoded string length in end. SharedHandle decode(const std::string& s, size_t& end); SharedHandle decode(const unsigned char* data, size_t length); SharedHandle decode (const unsigned char* data, size_t length, size_t& end); SharedHandle decodeFromFile(const std::string& filename); std::string encode(const ValueBase* vlb); std::string encode(const SharedHandle& vlb); } // namespace bencode2 } // namespace aria2 #endif // _D_BENCODE2_H_