2008-01-30 17:28:18 +01:00
|
|
|
#include "boolean-value.h"
|
2008-01-30 19:13:06 +01:00
|
|
|
#include "fatal-error.h"
|
2008-01-30 17:28:18 +01:00
|
|
|
|
|
|
|
|
namespace ns3 {
|
|
|
|
|
|
|
|
|
|
BooleanValue::BooleanValue (bool value)
|
|
|
|
|
: m_value (value)
|
|
|
|
|
{}
|
|
|
|
|
void
|
|
|
|
|
BooleanValue::Set (bool value)
|
|
|
|
|
{
|
|
|
|
|
m_value = value;
|
|
|
|
|
}
|
|
|
|
|
bool
|
|
|
|
|
BooleanValue::Get (void) const
|
|
|
|
|
{
|
|
|
|
|
return m_value;
|
|
|
|
|
}
|
2008-01-31 15:10:21 +01:00
|
|
|
PValue
|
2008-01-30 17:28:18 +01:00
|
|
|
BooleanValue::Copy (void) const
|
|
|
|
|
{
|
2008-01-31 15:10:21 +01:00
|
|
|
return PValue::Create<BooleanValue> (*this);
|
2008-01-30 17:28:18 +01:00
|
|
|
}
|
|
|
|
|
std::string
|
|
|
|
|
BooleanValue::SerializeToString (Ptr<const ParamSpec> spec) const
|
|
|
|
|
{
|
|
|
|
|
std::string value;
|
|
|
|
|
if (m_value)
|
|
|
|
|
{
|
|
|
|
|
value = "true";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
value = "false";
|
|
|
|
|
}
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
bool
|
|
|
|
|
BooleanValue::DeserializeFromString (std::string value, Ptr<const ParamSpec> spec)
|
|
|
|
|
{
|
|
|
|
|
if (value == "true" ||
|
|
|
|
|
value == "1" ||
|
|
|
|
|
value == "t")
|
|
|
|
|
{
|
|
|
|
|
m_value = true;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else if (value == "false" ||
|
|
|
|
|
value == "0" ||
|
|
|
|
|
value == "f")
|
|
|
|
|
{
|
|
|
|
|
m_value = false;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
2008-01-31 15:10:21 +01:00
|
|
|
BooleanValue::BooleanValue (PValue value)
|
2008-01-30 19:13:06 +01:00
|
|
|
{
|
2008-01-31 15:10:21 +01:00
|
|
|
const BooleanValue *v = value.DynCast<const BooleanValue *> ();
|
2008-01-30 19:13:06 +01:00
|
|
|
if (v == 0)
|
|
|
|
|
{
|
|
|
|
|
NS_FATAL_ERROR ("assigning non-Boolean value to Boolean value.");
|
|
|
|
|
}
|
|
|
|
|
m_value = v->m_value;
|
|
|
|
|
}
|
2008-01-31 15:10:21 +01:00
|
|
|
BooleanValue::operator PValue () const
|
2008-01-30 19:13:06 +01:00
|
|
|
{
|
2008-01-31 15:10:21 +01:00
|
|
|
return PValue::Create<BooleanValue> (*this);
|
2008-01-30 19:13:06 +01:00
|
|
|
}
|
2008-01-30 17:28:18 +01:00
|
|
|
|
|
|
|
|
} // namespace ns3
|