18 #include "ns3/core-module.h"
71 FormattingTestObject::GetTypeId()
74 TypeId(
"ns3::FormattingTestObject")
76 .AddConstructor<FormattingTestObject>()
77 .AddAttribute(
"OnTime",
78 "A RandomVariableStream used to pick the duration of the 'On' state.",
79 StringValue(
"ns3::ConstantRandomVariable[Constant=1.0]"),
81 MakePointerChecker<RandomVariableStream>());
85 FormattingTestObject::FormattingTestObject()
90 FormattingTestObject::GetTestVariable()
const
92 return m_testVariable;
121 FormattingTestObjectHelper::FormattingTestObjectHelper()
123 m_factory.
SetTypeId(FormattingTestObject::GetTypeId());
127 FormattingTestObjectHelper::SetAttribute(std::string name,
const AttributeValue& value)
129 m_factory.Set(name, value);
133 FormattingTestObjectHelper::CreateFromFactory()
135 return m_factory.Create();
141 main(
int argc,
char* argv[])
145 obj->SetAttribute(
"OnTime",
StringValue(
"ns3::UniformRandomVariable"));
146 obj->SetAttribute(
"OnTime",
StringValue(
"ns3::UniformRandomVariable[Min=0.]"));
147 obj->SetAttribute(
"OnTime",
StringValue(
"ns3::UniformRandomVariable[Min=0.|Max=1.]"));
148 obj->SetAttribute(
"OnTime",
StringValue(
"ns3::UniformRandomVariable[Min=50.|Max=100.]"));
177 FormattingTestObjectHelper formattingHelper;
178 formattingHelper.SetAttribute(
"OnTime",
179 StringValue(
"ns3::UniformRandomVariable[Min=30.|Max=60.0]"));
195 Ptr<Object> outputObj = formattingHelper.CreateFromFactory();
198 rvStream = fto->GetTestVariable();
Hold a value for an Attribute.
This class can be used to hold variables of floating point type such as 'double' or 'float'.
void GetAttribute(std::string name, AttributeValue &value) const
Get the value of an attribute, raising fatal errors if unsuccessful.
Instantiate subclasses of ns3::Object.
void SetTypeId(TypeId tid)
Set the TypeId of the Objects to be created by this factory.
A base class which provides memory management and object aggregation.
Ptr< T > GetObject() const
Get a pointer to the requested aggregated Object.
Hold variables of type string.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Ptr< const AttributeAccessor > MakePointerAccessor(T1 a1)