[DEV] update etk null

This commit is contained in:
Edouard DUPIN 2018-06-19 22:13:47 +02:00
parent 8e12c92ba0
commit 6af072cdfe
21 changed files with 75 additions and 75 deletions

View File

@ -16,7 +16,7 @@ ejson::Array::Array(ememory::SharedPtr<ejson::internal::Value> _internalValue) :
if (m_data == null) { if (m_data == null) {
return; return;
} }
if (m_data->getType() != ejson::valueType::array) { if (m_data->getType() != ejson::valueType::Array) {
// try to set wrong type inside ... ==> remove it ... // try to set wrong type inside ... ==> remove it ...
m_data = null; m_data = null;
} }

View File

@ -14,7 +14,7 @@ ejson::Boolean::Boolean(ememory::SharedPtr<ejson::internal::Value> _internalValu
if (m_data == null) { if (m_data == null) {
return; return;
} }
if (m_data->getType() != ejson::valueType::boolean) { if (m_data->getType() != ejson::valueType::Boolean) {
// try to set wrong type inside ... ==> remove it ... // try to set wrong type inside ... ==> remove it ...
m_data = null; m_data = null;
} }

View File

@ -13,7 +13,7 @@ ejson::Document::Document(ememory::SharedPtr<ejson::internal::Value> _internalVa
if (m_data == null) { if (m_data == null) {
return; return;
} }
if (m_data->getType() != ejson::valueType::document) { if (m_data->getType() != ejson::valueType::Document) {
// try to set wrong type inside ... ==> remove it ... // try to set wrong type inside ... ==> remove it ...
m_data = null; m_data = null;
} }

View File

@ -12,7 +12,7 @@ ejson::Null::Null(ememory::SharedPtr<ejson::internal::Value> _internalValue) :
if (m_data == null) { if (m_data == null) {
return; return;
} }
if (m_data->getType() != ejson::valueType::null) { if (m_data->getType() != ejson::valueType::Null) {
// try to set wrong type inside ... ==> remove it ... // try to set wrong type inside ... ==> remove it ...
m_data = null; m_data = null;
} }

View File

@ -13,7 +13,7 @@ ejson::Number::Number(ememory::SharedPtr<ejson::internal::Value> _internalValue)
if (m_data == null) { if (m_data == null) {
return; return;
} }
if (m_data->getType() != ejson::valueType::number) { if (m_data->getType() != ejson::valueType::Number) {
// try to set wrong type inside ... ==> remove it ... // try to set wrong type inside ... ==> remove it ...
m_data = null; m_data = null;
} }

View File

@ -13,8 +13,8 @@ ejson::Object::Object(ememory::SharedPtr<ejson::internal::Value> _internalValue)
if (m_data == null) { if (m_data == null) {
return; return;
} }
if ( m_data->getType() != ejson::valueType::object if ( m_data->getType() != ejson::valueType::Object
&& m_data->getType() != ejson::valueType::document) { && m_data->getType() != ejson::valueType::Document) {
// try to set wrong type inside ... ==> remove it ... // try to set wrong type inside ... ==> remove it ...
m_data = null; m_data = null;
} }

View File

@ -12,7 +12,7 @@ ejson::String::String(ememory::SharedPtr<ejson::internal::Value> _internalValue)
if (m_data == null) { if (m_data == null) {
return; return;
} }
if (m_data->getType() != ejson::valueType::string) { if (m_data->getType() != ejson::valueType::String) {
// try to set wrong type inside ... ==> remove it ... // try to set wrong type inside ... ==> remove it ...
m_data = null; m_data = null;
} }

View File

@ -30,7 +30,7 @@ etk::Stream& ejson::operator <<(etk::Stream& _os, const ejson::Value& _obj) {
enum ejson::valueType ejson::Value::getType() const { enum ejson::valueType ejson::Value::getType() const {
if (m_data == null) { if (m_data == null) {
EJSON_DEBUG("Can not get type ..."); EJSON_DEBUG("Can not get type ...");
return ejson::valueType::unknow; return ejson::valueType::Unknow;
} }
return m_data->getType(); return m_data->getType();
} }
@ -144,49 +144,49 @@ bool ejson::Value::isDocument() const {
return false; return false;
} }
enum ejson::valueType type = m_data->getType(); enum ejson::valueType type = m_data->getType();
return type == ejson::valueType::document; return type == ejson::valueType::Document;
} }
bool ejson::Value::isArray() const { bool ejson::Value::isArray() const {
if (m_data == null) { if (m_data == null) {
return false; return false;
} }
return m_data->getType() == ejson::valueType::array; return m_data->getType() == ejson::valueType::Array;
} }
bool ejson::Value::isObject() const { bool ejson::Value::isObject() const {
if (m_data == null) { if (m_data == null) {
return false; return false;
} }
return m_data->getType() == ejson::valueType::object; return m_data->getType() == ejson::valueType::Object;
} }
bool ejson::Value::isString() const { bool ejson::Value::isString() const {
if (m_data == null) { if (m_data == null) {
return false; return false;
} }
return m_data->getType() == ejson::valueType::string; return m_data->getType() == ejson::valueType::String;
} }
bool ejson::Value::isNumber() const { bool ejson::Value::isNumber() const {
if (m_data == null) { if (m_data == null) {
return false; return false;
} }
return m_data->getType() == ejson::valueType::number; return m_data->getType() == ejson::valueType::Number;
} }
bool ejson::Value::isBoolean() const { bool ejson::Value::isBoolean() const {
if (m_data == null) { if (m_data == null) {
return false; return false;
} }
return m_data->getType() == ejson::valueType::boolean; return m_data->getType() == ejson::valueType::Boolean;
} }
bool ejson::Value::isNull() const { bool ejson::Value::isNull() const {
if (m_data == null) { if (m_data == null) {
return false; return false;
} }
return m_data->getType() == ejson::valueType::null; return m_data->getType() == ejson::valueType::Null;
} }

View File

@ -160,16 +160,16 @@ bool ejson::internal::Array::iGenerate(etk::String& _data, size_t _indent) const
if (tmp == null) { if (tmp == null) {
continue; continue;
} }
if ( tmp->getType() == ejson::valueType::object if ( tmp->getType() == ejson::valueType::Object
|| tmp->getType() == ejson::valueType::document) { || tmp->getType() == ejson::valueType::Document) {
oneLine=false; oneLine=false;
break; break;
} }
if (tmp->getType() == ejson::valueType::array) { if (tmp->getType() == ejson::valueType::Array) {
oneLine=false; oneLine=false;
break; break;
} }
if (tmp->getType() == ejson::valueType::string) { if (tmp->getType() == ejson::valueType::String) {
const ememory::SharedPtr<ejson::internal::String> tmp2 = ememory::staticPointerCast<ejson::internal::String>(tmp); const ememory::SharedPtr<ejson::internal::String> tmp2 = ememory::staticPointerCast<ejson::internal::String>(tmp);
if(tmp2->get().size()>40) { if(tmp2->get().size()>40) {
oneLine=false; oneLine=false;
@ -256,7 +256,7 @@ bool ejson::internal::Array::transfertIn(ememory::SharedPtr<ejson::internal::Val
EJSON_ERROR("Request transfer on an null pointer"); EJSON_ERROR("Request transfer on an null pointer");
return false; return false;
} }
if (_obj->getType() != ejson::valueType::array) { if (_obj->getType() != ejson::valueType::Array) {
EJSON_ERROR("Request transfer on an element that is not an Array"); EJSON_ERROR("Request transfer on an element that is not an Array");
return false; return false;
} }

View File

@ -19,7 +19,7 @@ namespace ejson {
* @brief basic element of a xml structure * @brief basic element of a xml structure
*/ */
Array() { Array() {
m_type = ejson::valueType::array; m_type = ejson::valueType::Array;
} }
public: public:
/** /**

View File

@ -14,7 +14,7 @@ ememory::SharedPtr<ejson::internal::Boolean> ejson::internal::Boolean::create(bo
ejson::internal::Boolean::Boolean(bool _value) : ejson::internal::Boolean::Boolean(bool _value) :
m_value(_value) { m_value(_value) {
m_type = ejson::valueType::boolean; m_type = ejson::valueType::Boolean;
} }
void ejson::internal::Boolean::set(bool _value) { void ejson::internal::Boolean::set(bool _value) {
@ -77,7 +77,7 @@ bool ejson::internal::Boolean::transfertIn(ememory::SharedPtr<ejson::internal::V
EJSON_ERROR("Request transfer on an NULL pointer"); EJSON_ERROR("Request transfer on an NULL pointer");
return false; return false;
} }
if (_obj->getType() != ejson::valueType::boolean) { if (_obj->getType() != ejson::valueType::Boolean) {
EJSON_ERROR("Request transfer on an element that is not an Boolean"); EJSON_ERROR("Request transfer on an element that is not an Boolean");
return false; return false;
} }

View File

@ -24,7 +24,7 @@ ejson::internal::Document::Document() :
m_comment(""), m_comment(""),
m_Line(""), m_Line(""),
m_filePos(0,0) { m_filePos(0,0) {
m_type = ejson::valueType::document; m_type = ejson::valueType::Document;
} }
bool ejson::internal::Document::iGenerate(etk::String& _data, size_t _indent) const { bool ejson::internal::Document::iGenerate(etk::String& _data, size_t _indent) const {

View File

@ -13,7 +13,7 @@ ememory::SharedPtr<ejson::internal::Null> ejson::internal::Null::create() {
} }
ejson::internal::Null::Null() { ejson::internal::Null::Null() {
m_type = ejson::valueType::null; m_type = ejson::valueType::Null;
} }
bool ejson::internal::Null::iParse(const etk::String& _data, size_t& _pos, ejson::FilePos& _filePos, ejson::internal::Document& _doc) { bool ejson::internal::Null::iParse(const etk::String& _data, size_t& _pos, ejson::FilePos& _filePos, ejson::internal::Document& _doc) {
@ -50,7 +50,7 @@ bool ejson::internal::Null::transfertIn(ememory::SharedPtr<ejson::internal::Valu
EJSON_ERROR("Request transfer on an null pointer"); EJSON_ERROR("Request transfer on an null pointer");
return false; return false;
} }
if (_obj->getType() == ejson::valueType::null) { if (_obj->getType() == ejson::valueType::Null) {
EJSON_ERROR("Request transfer on an element that is not an Null"); EJSON_ERROR("Request transfer on an element that is not an Null");
return false; return false;
} }

View File

@ -22,19 +22,19 @@ ememory::SharedPtr<ejson::internal::Number> ejson::internal::Number::create(int6
ejson::internal::Number::Number(double _value) : ejson::internal::Number::Number(double _value) :
m_typeNumber(ejson::internal::Number::type::tDouble), m_typeNumber(ejson::internal::Number::type::tDouble),
m_value(_value) { m_value(_value) {
m_type = ejson::valueType::number; m_type = ejson::valueType::Number;
} }
ejson::internal::Number::Number(uint64_t _value) : ejson::internal::Number::Number(uint64_t _value) :
m_typeNumber(ejson::internal::Number::type::tUint), m_typeNumber(ejson::internal::Number::type::tUint),
m_valueU64(_value) { m_valueU64(_value) {
m_type = ejson::valueType::number; m_type = ejson::valueType::Number;
} }
ejson::internal::Number::Number(int64_t _value) : ejson::internal::Number::Number(int64_t _value) :
m_typeNumber(ejson::internal::Number::type::tInt), m_typeNumber(ejson::internal::Number::type::tInt),
m_valueI64(_value) { m_valueI64(_value) {
m_type = ejson::valueType::number; m_type = ejson::valueType::Number;
} }
bool ejson::internal::Number::iParse(const etk::String& _data, size_t& _pos, ejson::FilePos& _filePos, ejson::internal::Document& _doc) { bool ejson::internal::Number::iParse(const etk::String& _data, size_t& _pos, ejson::FilePos& _filePos, ejson::internal::Document& _doc) {
@ -120,7 +120,7 @@ bool ejson::internal::Number::transfertIn(ememory::SharedPtr<ejson::internal::Va
EJSON_ERROR("Request transfer on an null pointer"); EJSON_ERROR("Request transfer on an null pointer");
return false; return false;
} }
if (_obj->getType() != ejson::valueType::number) { if (_obj->getType() != ejson::valueType::Number) {
EJSON_ERROR("Request transfer on an element that is not an Number"); EJSON_ERROR("Request transfer on an element that is not an Number");
return false; return false;
} }

View File

@ -224,16 +224,16 @@ bool ejson::internal::Object::iGenerate(etk::String& _data, size_t _indent) cons
if (tmp == null) { if (tmp == null) {
continue; continue;
} }
if ( tmp->getType() == ejson::valueType::object if ( tmp->getType() == ejson::valueType::Object
|| tmp->getType() == ejson::valueType::document) { || tmp->getType() == ejson::valueType::Document) {
oneLine = false; oneLine = false;
break; break;
} }
if (tmp->getType() == ejson::valueType::array) { if (tmp->getType() == ejson::valueType::Array) {
oneLine = false; oneLine = false;
break; break;
} }
if (tmp->getType() == ejson::valueType::string) { if (tmp->getType() == ejson::valueType::String) {
const ememory::SharedPtr<ejson::internal::String> tmp2 = ememory::staticPointerCast<ejson::internal::String>(tmp); const ememory::SharedPtr<ejson::internal::String> tmp2 = ememory::staticPointerCast<ejson::internal::String>(tmp);
if( tmp2->get().size() > 25 if( tmp2->get().size() > 25
|| m_value.getKey(iii).size() > 25) { || m_value.getKey(iii).size() > 25) {
@ -354,8 +354,8 @@ bool ejson::internal::Object::transfertIn(ememory::SharedPtr<ejson::internal::Va
EJSON_ERROR("Request transfer on an null pointer"); EJSON_ERROR("Request transfer on an null pointer");
return false; return false;
} }
if ( _obj->getType() != ejson::valueType::object if ( _obj->getType() != ejson::valueType::Object
&& _obj->getType() != ejson::valueType::document) { && _obj->getType() != ejson::valueType::Document) {
EJSON_ERROR("Request transfer on an element that is not an object"); EJSON_ERROR("Request transfer on an element that is not an object");
return false; return false;
} }

View File

@ -21,7 +21,7 @@ namespace ejson {
*/ */
Object() : Object() :
m_value(0, false) { // Force unorder map m_value(0, false) { // Force unorder map
m_type = ejson::valueType::object; m_type = ejson::valueType::Object;
}; };
public: public:
/** /**

View File

@ -17,7 +17,7 @@ ememory::SharedPtr<ejson::internal::String> ejson::internal::String::create(cons
ejson::internal::String::String(const etk::String& _value) : ejson::internal::String::String(const etk::String& _value) :
m_value(_value) { m_value(_value) {
m_type = ejson::valueType::string; m_type = ejson::valueType::String;
} }
void ejson::internal::String::set(const etk::String& _value) { void ejson::internal::String::set(const etk::String& _value) {
@ -96,7 +96,7 @@ bool ejson::internal::String::transfertIn(ememory::SharedPtr<ejson::internal::Va
EJSON_ERROR("Request transfer on an null pointer"); EJSON_ERROR("Request transfer on an null pointer");
return false; return false;
} }
if (_obj->getType() != ejson::valueType::string) { if (_obj->getType() != ejson::valueType::String) {
EJSON_ERROR("Request transfer on an element that is not an String"); EJSON_ERROR("Request transfer on an element that is not an String");
return false; return false;
} }

View File

@ -53,8 +53,8 @@ namespace ejson {
* @brief basic element of a xml structure * @brief basic element of a xml structure
*/ */
Value() : Value() :
m_type(ejson::valueType::unknow) { m_type(ejson::valueType::Unknow) {
m_type = ejson::valueType::value; m_type = ejson::valueType::Value;
}; };
public: public:
/** /**

View File

@ -11,32 +11,32 @@
etk::Stream& ejson::operator <<(etk::Stream& _os, enum ejson::valueType _obj) { etk::Stream& ejson::operator <<(etk::Stream& _os, enum ejson::valueType _obj) {
switch (_obj) { switch (_obj) {
case ejson::valueType::unknow: case ejson::valueType::Unknow:
_os << "ejson::valueType::unknow"; _os << "ejson::valueType::Unknow";
break; break;
case ejson::valueType::value: case ejson::valueType::Value:
_os << "ejson::valueType::value"; _os << "ejson::valueType::Value";
break; break;
case ejson::valueType::document: case ejson::valueType::Document:
_os << "ejson::valueType::document"; _os << "ejson::valueType::Document";
break; break;
case ejson::valueType::array: case ejson::valueType::Array:
_os << "ejson::valueType::array"; _os << "ejson::valueType::Array";
break; break;
case ejson::valueType::object: case ejson::valueType::Object:
_os << "ejson::valueType::object"; _os << "ejson::valueType::Object";
break; break;
case ejson::valueType::string: case ejson::valueType::String:
_os << "ejson::valueType::string"; _os << "ejson::valueType::String";
break; break;
case ejson::valueType::number: case ejson::valueType::Number:
_os << "ejson::valueType::number"; _os << "ejson::valueType::Number";
break; break;
case ejson::valueType::null: case ejson::valueType::Null:
_os << "ejson::valueType::null"; _os << "ejson::valueType::Null";
break; break;
case ejson::valueType::boolean: case ejson::valueType::Boolean:
_os << "ejson::valueType::boolean"; _os << "ejson::valueType::Boolean";
break; break;
} }
return _os; return _os;

View File

@ -12,15 +12,15 @@ namespace ejson {
* @brief Type of the JSON elements. * @brief Type of the JSON elements.
*/ */
enum class valueType { enum class valueType {
unknow, //!< might be an error ... Unknow, //!< might be an error ...
value, //!< might be an error ... Value, //!< might be an error ...
document, //!< all the file main access Document, //!< all the file main access
array, //!< te element [ ... ] Array, //!< te element [ ... ]
object, //!< the element { ... } Object, //!< the element { ... }
string, //!< the element "..." String, //!< the element "..."
number, //!< The element 1111.2222 Number, //!< The element 1111.2222
null, //!< the element null Null, //!< the element null
boolean, //!< the element true or false Boolean, //!< the element true or false
}; };
//! @not_in_doc //! @not_in_doc
etk::Stream& operator <<(etk::Stream& _os, enum valueType _obj); etk::Stream& operator <<(etk::Stream& _os, enum valueType _obj);

View File

@ -129,22 +129,22 @@ static void readFull() {
for (size_t iii=0; iii<doc.size(); ++iii) { for (size_t iii=0; iii<doc.size(); ++iii) {
switch (doc[iii].getType()) { switch (doc[iii].getType()) {
case ejson::valueType::object: case ejson::valueType::Object:
TEST_INFO(" Get an Object:" << doc.getKey(iii) ); TEST_INFO(" Get an Object:" << doc.getKey(iii) );
break; break;
case ejson::valueType::array: case ejson::valueType::Array:
TEST_INFO(" Get an Array:" << doc.getKey(iii) ); TEST_INFO(" Get an Array:" << doc.getKey(iii) );
break; break;
case ejson::valueType::boolean: case ejson::valueType::Boolean:
TEST_INFO(" Get an Boolean:" << doc.getKey(iii) ); TEST_INFO(" Get an Boolean:" << doc.getKey(iii) );
break; break;
case ejson::valueType::null: case ejson::valueType::Null:
TEST_INFO(" Get an Null:" << doc.getKey(iii) ); TEST_INFO(" Get an Null:" << doc.getKey(iii) );
break; break;
case ejson::valueType::number: case ejson::valueType::Number:
TEST_INFO(" Get an Number:" << doc.getKey(iii) ); TEST_INFO(" Get an Number:" << doc.getKey(iii) );
break; break;
case ejson::valueType::string: case ejson::valueType::String:
TEST_INFO(" Get an String:" << doc.getKey(iii) ); TEST_INFO(" Get an String:" << doc.getKey(iii) );
break; break;
default: default: