mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-27 07:34:15 +02:00
parent
170c3624e3
commit
00eec13338
@ -66,8 +66,6 @@ static void EncodeArray(yajl_gen handle, const Array::Ptr& arr)
|
|||||||
|
|
||||||
static void Encode(yajl_gen handle, const Value& value)
|
static void Encode(yajl_gen handle, const Value& value)
|
||||||
{
|
{
|
||||||
String str;
|
|
||||||
|
|
||||||
switch (value.GetType()) {
|
switch (value.GetType()) {
|
||||||
case ValueNumber:
|
case ValueNumber:
|
||||||
if (yajl_gen_double(handle, static_cast<double>(value)) == yajl_gen_invalid_number)
|
if (yajl_gen_double(handle, static_cast<double>(value)) == yajl_gen_invalid_number)
|
||||||
@ -79,8 +77,7 @@ static void Encode(yajl_gen handle, const Value& value)
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
case ValueString:
|
case ValueString:
|
||||||
str = value;
|
yajl_gen_string(handle, reinterpret_cast<const unsigned char *>(value.Get<String>().CStr()), value.Get<String>().GetLength());
|
||||||
yajl_gen_string(handle, reinterpret_cast<const unsigned char *>(str.CStr()), str.GetLength());
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case ValueObject:
|
case ValueObject:
|
||||||
|
@ -256,14 +256,14 @@ public:
|
|||||||
|
|
||||||
Value Clone(void) const;
|
Value Clone(void) const;
|
||||||
|
|
||||||
private:
|
|
||||||
boost::variant<boost::blank, double, bool, String, Object::Ptr> m_Value;
|
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
const T& Get(void) const
|
const T& Get(void) const
|
||||||
{
|
{
|
||||||
return boost::get<T>(m_Value);
|
return boost::get<T>(m_Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
boost::variant<boost::blank, double, bool, String, Object::Ptr> m_Value;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern I2_BASE_API Value Empty;
|
extern I2_BASE_API Value Empty;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user