/** @file * @author Edouard DUPIN * @copyright 2016, Edouard DUPIN, all right reserved * @license APACHE v2.0 (see license file) */ #include #include #include #include namespace jus { // ---------------------------------------------------------------------------------------------------- template<> ejson::Value convertBinaryToJson(const uint8_t* _data, uint32_t _size) { const bool* value = reinterpret_cast(_data); return ejson::Boolean(*value); } template<> ejson::Value convertBinaryToJson>(const uint8_t* _data, uint32_t _size) { const bool* value = reinterpret_cast(_data); ejson::Array out; for (size_t iii=0; iii<_size; ++iii) { out.add(ejson::Boolean(value[iii])); } return out; } template<> ejson::Value convertBinaryToJson(const uint8_t* _data, uint32_t _size) { const float* value = reinterpret_cast(_data); return ejson::Number(*value); } template<> ejson::Value convertBinaryToJson(const uint8_t* _data, uint32_t _size) { const double* value = reinterpret_cast(_data); return ejson::Number(*value); } template<> ejson::Value convertBinaryToJson(const uint8_t* _data, uint32_t _size) { const int64_t* value = reinterpret_cast(_data); return ejson::Number(*value); } template<> ejson::Value convertBinaryToJson(const uint8_t* _data, uint32_t _size) { const int32_t* value = reinterpret_cast(_data); return ejson::Number(*value); } template<> ejson::Value convertBinaryToJson(const uint8_t* _data, uint32_t _size) { const int16_t* value = reinterpret_cast(_data); return ejson::Number(*value); } template<> ejson::Value convertBinaryToJson(const uint8_t* _data, uint32_t _size) { const int8_t* value = reinterpret_cast(_data); return ejson::Number(*value); } template<> ejson::Value convertBinaryToJson(const uint8_t* _data, uint32_t _size) { const uint64_t* value = reinterpret_cast(_data); return ejson::Number(*value); } template<> ejson::Value convertBinaryToJson(const uint8_t* _data, uint32_t _size) { const uint32_t* value = reinterpret_cast(_data); return ejson::Number(*value); } template<> ejson::Value convertBinaryToJson(const uint8_t* _data, uint32_t _size) { const uint16_t* value = reinterpret_cast(_data); return ejson::Number(*value); } template<> ejson::Value convertBinaryToJson(const uint8_t* _data, uint32_t _size) { const uint8_t* value = reinterpret_cast(_data); return ejson::Number(*value); } template<> ejson::Value convertBinaryToJson(const uint8_t* _data, uint32_t _size) { std::string val; val.resize(_size, '\0'); memcpy(&val[0], _data, _size); return ejson::String(val); } template<> ejson::Value convertBinaryToJson>(const uint8_t* _data, uint32_t _size) { /* Little hard ... TODO : ... const bool* value = reinterpret_cast(_data); ejson::Array out; for (size_t iii=0; iii<_size; ++iii) { out.add(ejson::Boolean(value[iii])); } return out; */ ejson::Array out; return out; } /* template<> ejson::Value convertBinaryToJson(const uint8_t* _data, uint32_t _size) { ejson::Object out; out.add("type", ejson::String("file")); out.add("mine-type", ejson::String(_value.getMineType())); out.add("size", ejson::Number(_value.getData().size())); if (_value.getData().size() != 0) { _asyncAction.push_back(SenderJusFile(_value, _paramId)); } return out; } */ // ---------------------------------------------------------------------------------------------------- }