1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
3 #include "db_ido/dbvalue.hpp"
5 using namespace icinga;
7 DbValue::DbValue(DbValueType type, Value value)
8 : m_Type(type), m_Value(std::move(value))
11 Value DbValue::FromTimestamp(const Value& ts)
13 if (ts.IsEmpty() || ts == 0)
16 return new DbValue(DbValueTimestamp, ts);
19 Value DbValue::FromValue(const Value& value)
24 Value DbValue::FromObjectInsertID(const Value& value)
26 return new DbValue(DbValueObjectInsertID, value);
29 bool DbValue::IsTimestamp(const Value& value)
31 if (!value.IsObjectType<DbValue>())
34 DbValue::Ptr dbv = value;
35 return dbv->GetType() == DbValueTimestamp;
38 bool DbValue::IsObjectInsertID(const Value& value)
40 if (!value.IsObjectType<DbValue>())
43 DbValue::Ptr dbv = value;
44 return dbv->GetType() == DbValueObjectInsertID;
47 Value DbValue::ExtractValue(const Value& value)
49 if (!value.IsObjectType<DbValue>())
52 DbValue::Ptr dbv = value;
53 return dbv->GetValue();
56 DbValueType DbValue::GetType() const
61 Value DbValue::GetValue() const
66 void DbValue::SetValue(const Value& value)