diff --git a/ewol/resource/ColorFile.cpp b/ewol/resource/ColorFile.cpp index 837b82af..1fc9869a 100644 --- a/ewol/resource/ColorFile.cpp +++ b/ewol/resource/ColorFile.cpp @@ -44,19 +44,19 @@ void ewol::resource::ColorFile::reload() { EWOL_ERROR("Can not load file : '" << m_name << "' = " << etk::FSNode(m_name).getFileSystemName()); return; } - std::shared_ptr baseArray = doc.getArray("color"); - if (baseArray == nullptr) { + ejson::Array baseArray = doc["color"].toArray(); + if (baseArray.exist() == false) { EWOL_ERROR("Can not get basic array : 'color'"); return; } - for (size_t iii = 0; iii < baseArray->size(); ++iii) { - std::shared_ptr tmpObj = baseArray->getObject(iii); - if (tmpObj == nullptr) { - EWOL_DEBUG(" can not get object in 'color' id=" << iii); + for (const auto it : baseArray) { + ejson::Object tmpObj = it.toObject(); + if (tmpObj.exist() == false) { + EWOL_DEBUG(" can not get object in 'color' : " << it); continue; } - std::string name = tmpObj->getStringValue("name", ""); - std::string color = tmpObj->getStringValue("color", m_errorColor.getHexString()); + std::string name = tmpObj.getStringValue("name", ""); + std::string color = tmpObj.getStringValue("color", m_errorColor.getHexString()); EWOL_DEBUG("find new color : '" << name << "' color='" << color << "'"); if (name.size() == 0) { EWOL_ERROR("Drop an empty name"); diff --git a/ewol/resource/ConfigFile.cpp b/ewol/resource/ConfigFile.cpp index d463cd4e..4914130c 100644 --- a/ewol/resource/ConfigFile.cpp +++ b/ewol/resource/ConfigFile.cpp @@ -36,14 +36,14 @@ void ewol::resource::ConfigFile::reload() { std::unique_lock lock(m_mutex); // reset all parameters for (int32_t iii=0; iii lock(m_mutex); // check if the parameters existed : if (m_list.exist(_paramName) == false) { - m_list.add(_paramName, nullptr); + m_list.add(_paramName, ejson::empty()); } - if (m_doc.exist(_paramName) == true) { + if (m_doc[_paramName].exist() == true) { m_list[_paramName] = m_doc[_paramName]; } return m_list.getId(_paramName); @@ -66,39 +66,27 @@ int32_t ewol::resource::ConfigFile::request(const std::string& _paramName) { double ewol::resource::ConfigFile::getNumber(int32_t _id) { std::unique_lock lock(m_mutex); if ( _id < 0 - || m_list[_id] == nullptr) { + || m_list[_id].exist() == false) { return 0.0; } - std::shared_ptr tmp = m_list[_id]->toNumber(); - if (tmp == nullptr) { - return 0.0; - } - return tmp->get(); + return m_list[_id].toNumber().get(); } const std::string& ewol::resource::ConfigFile::getString(int32_t _id) { std::unique_lock lock(m_mutex); static const std::string& errorString(""); if ( _id < 0 - || m_list[_id] == nullptr) { + || m_list[_id].exist() == false) { return errorString; } - std::shared_ptr tmp = m_list[_id]->toString(); - if (tmp == nullptr) { - return errorString; - } - return tmp->get(); + return m_list[_id].toString().get(); } bool ewol::resource::ConfigFile::getBoolean(int32_t _id) { std::unique_lock lock(m_mutex); if ( _id < 0 - || m_list[_id] == nullptr) { + || m_list[_id].exist() == false) { return false; } - std::shared_ptr tmp = m_list[_id]->toBoolean(); - if (tmp == nullptr) { - return false; - } - return tmp->get(); + return m_list[_id].toBoolean().get(); } diff --git a/ewol/resource/ConfigFile.h b/ewol/resource/ConfigFile.h index c3b1aeb6..ffa622a8 100644 --- a/ewol/resource/ConfigFile.h +++ b/ewol/resource/ConfigFile.h @@ -18,7 +18,7 @@ namespace ewol { class ConfigFile : public gale::Resource { private: ejson::Document m_doc; - etk::Hash> m_list; + etk::Hash m_list; protected: ConfigFile(); void init(const std::string& _filename); diff --git a/ewol/resource/DistanceFieldFont.cpp b/ewol/resource/DistanceFieldFont.cpp index 75de5243..183a740b 100644 --- a/ewol/resource/DistanceFieldFont.cpp +++ b/ewol/resource/DistanceFieldFont.cpp @@ -351,25 +351,18 @@ void ewol::resource::DistanceFieldFont::exportOnFile() { std::unique_lock lock(m_mutex); EWOL_DEBUG("EXPORT: DistanceFieldFont : file : '" << m_fileName << ".json'"); ejson::Document doc; - std::shared_ptr tmpList = ejson::Array::create(); - if (tmpList == nullptr) { - EWOL_ERROR("nullptr pointer"); - return; - } + ejson::Array tmpList; for (size_t iii=0; iii tmpObj = ejson::Object::create(); - if (tmpObj == nullptr) { - continue; - } - tmpObj->addString("m_UVal", etk::to_string(m_listElement[iii].m_UVal)); - tmpObj->addNumber("m_glyphIndex", m_listElement[iii].m_glyphIndex); - tmpObj->addString("m_sizeTexture", (std::string)m_listElement[iii].m_sizeTexture); - tmpObj->addString("m_bearing", (std::string)m_listElement[iii].m_bearing); - tmpObj->addString("m_advance", (std::string)m_listElement[iii].m_advance); - tmpObj->addString("m_texturePosStart", (std::string)m_listElement[iii].m_texturePosStart); - tmpObj->addString("m_texturePosSize", (std::string)m_listElement[iii].m_texturePosSize); - tmpObj->addBoolean("m_exist", m_listElement[iii].m_exist); - tmpList->add(tmpObj); + ejson::Object tmpObj; + tmpObj.addString("m_UVal", etk::to_string(m_listElement[iii].m_UVal)); + tmpObj.addNumber("m_glyphIndex", m_listElement[iii].m_glyphIndex); + tmpObj.addString("m_sizeTexture", (std::string)m_listElement[iii].m_sizeTexture); + tmpObj.addString("m_bearing", (std::string)m_listElement[iii].m_bearing); + tmpObj.addString("m_advance", (std::string)m_listElement[iii].m_advance); + tmpObj.addString("m_texturePosStart", (std::string)m_listElement[iii].m_texturePosStart); + tmpObj.addString("m_texturePosSize", (std::string)m_listElement[iii].m_texturePosSize); + tmpObj.addBoolean("m_exist", m_listElement[iii].m_exist); + tmpList.add(tmpObj); } doc.add("m_listElement", tmpList); doc.addNumber("m_sizeRatio", m_sizeRatio); @@ -401,26 +394,26 @@ bool ewol::resource::DistanceFieldFont::importFromFile() { m_lastRawHeigh = doc.getNumberValue("m_lastRawHeigh", 0); m_borderSize = doc.getNumberValue("m_borderSize", 2); m_textureBorderSize = doc.addString("m_textureBorderSize", "0,0"); - std::shared_ptr tmpList = doc.getArray("m_listElement"); - if (tmpList == nullptr) { + ejson::Array tmpList = doc["m_listElement"].toArray(); + if (tmpList.exist() == false) { EWOL_ERROR("nullptr pointer array"); return false; } m_listElement.clear(); - for (size_t iii=0; iiisize(); ++iii) { - std::shared_ptr tmpObj = tmpList->getObject(iii); - if (tmpObj == nullptr) { + for (const auto it : tmpList) { + const ejson::Object tmpObj = it.toObject(); + if (tmpObj.exist() == false) { continue; } GlyphProperty prop; - prop.m_UVal = etk::string_to_int32_t(tmpObj->getStringValue("m_UVal", "0")); - prop.m_glyphIndex = tmpObj->getNumberValue("m_glyphIndex", 0); - prop.m_sizeTexture = tmpObj->getStringValue("m_sizeTexture", "0,0"); - prop.m_bearing = tmpObj->getStringValue("m_bearing", "0,0"); - prop.m_advance = tmpObj->getStringValue("m_advance", "0,0"); - prop.m_texturePosStart = tmpObj->getStringValue("m_texturePosStart", "0,0"); - prop.m_texturePosSize = tmpObj->getStringValue("m_texturePosSize", "0,0"); - prop.m_exist = tmpObj->getBooleanValue("m_exist", false); + prop.m_UVal = etk::string_to_int32_t(tmpObj.getStringValue("m_UVal", "0")); + prop.m_glyphIndex = tmpObj.getNumberValue("m_glyphIndex", 0); + prop.m_sizeTexture = tmpObj.getStringValue("m_sizeTexture", "0,0"); + prop.m_bearing = tmpObj.getStringValue("m_bearing", "0,0"); + prop.m_advance = tmpObj.getStringValue("m_advance", "0,0"); + prop.m_texturePosStart = tmpObj.getStringValue("m_texturePosStart", "0,0"); + prop.m_texturePosSize = tmpObj.getStringValue("m_texturePosSize", "0,0"); + prop.m_exist = tmpObj.getBooleanValue("m_exist", false); m_listElement.push_back(prop); } egami::load(m_data, m_fileName + ".bmp");