/* */ #include "Data.h" #include "MetaEntryVisitor.h" #include #include // <-- TODO remove this if strtoll is replaced with Util::parseLLInt() namespace aria2 { Data::Data(const unsigned char* data, size_t len, bool number): _data(reinterpret_cast(data), len), number(number) {} Data::Data(const char* data, size_t len, bool number): _data(data, len), number(number) {} Data::Data(const std::string& data, bool number):_data(data), number(number) {} Data::~Data() {} const std::string& Data::toString() const { return _data; } const unsigned char* Data::getData() const { if(_data.empty()) { return 0; } else { return reinterpret_cast(_data.c_str()); } } size_t Data::getLen() const { return _data.size(); } int32_t Data::toInt() const { return toLLInt(); } int64_t Data::toLLInt() const { return strtoll(_data.c_str(), 0, 10); } bool Data::isNumber() const { return number; } void Data::accept(MetaEntryVisitor* v) const { v->visit(this); } } // namespace aria2