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-02-20 19:57:31 +01:00
|
|
|
Attribute
|
2008-01-30 17:28:18 +01:00
|
|
|
BooleanValue::Copy (void) const
|
|
|
|
|
{
|
2008-02-20 19:57:31 +01:00
|
|
|
return Attribute::Create<BooleanValue> (*this);
|
2008-01-30 17:28:18 +01:00
|
|
|
}
|
|
|
|
|
std::string
|
2008-02-18 00:18:45 +01:00
|
|
|
BooleanValue::SerializeToString (Ptr<const AttributeChecker> checker) const
|
2008-01-30 17:28:18 +01:00
|
|
|
{
|
|
|
|
|
std::string value;
|
|
|
|
|
if (m_value)
|
|
|
|
|
{
|
|
|
|
|
value = "true";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
value = "false";
|
|
|
|
|
}
|
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
bool
|
2008-02-18 00:18:45 +01:00
|
|
|
BooleanValue::DeserializeFromString (std::string value, Ptr<const AttributeChecker> checker)
|
2008-01-30 17:28:18 +01:00
|
|
|
{
|
|
|
|
|
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-02-20 19:57:31 +01:00
|
|
|
BooleanValue::BooleanValue (Attribute 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-02-20 19:57:31 +01:00
|
|
|
BooleanValue::operator Attribute () const
|
2008-01-30 19:13:06 +01:00
|
|
|
{
|
2008-02-20 19:57:31 +01:00
|
|
|
return Attribute::Create<BooleanValue> (*this);
|
2008-01-30 19:13:06 +01:00
|
|
|
}
|
2008-01-30 17:28:18 +01:00
|
|
|
|
2008-02-20 20:57:59 +01:00
|
|
|
Ptr<const AttributeChecker> MakeBooleanChecker (void)
|
2008-02-18 00:18:45 +01:00
|
|
|
{
|
|
|
|
|
return MakeSimpleAttributeChecker<BooleanValue> ();
|
|
|
|
|
}
|
|
|
|
|
|
2008-01-30 17:28:18 +01:00
|
|
|
} // namespace ns3
|