27 #include "ns3/core-config.h" 
   60       NS_FATAL_ERROR (
"Value set by user on " << name << 
" is invalid.");
 
   71   char *envVar = getenv (
"NS_GLOBAL_VALUE");
 
   76   std::string env = std::string (envVar);
 
   77   std::string::size_type cur = 0;
 
   78   std::string::size_type next = 0;
 
   79   while (next != std::string::npos)
 
   81       next = env.find (
";", cur);
 
   82       std::string tmp = std::string (env, cur, next-cur);
 
   83       std::string::size_type equal = tmp.find (
"=");
 
   84       if (equal != std::string::npos)
 
   86           std::string name = tmp.substr (0, equal);
 
   87           std::string value = tmp.substr (equal+1, tmp.size () - equal - 1);
 
  161       if ((*i)->GetName () == name)
 
  163           if (!(*i)->SetValue (value))
 
  179       if ((*i)->GetName () == name)
 
  181           return (*i)->SetValue (value);
 
  213       if ((*gvit)->GetName () == name)
 
  215           (*gvit)->GetValue (value);
 
  228       NS_FATAL_ERROR (
"Could not find GlobalValue named \"" << name << 
"\"");
 
NS_FATAL_x macro definitions. 
 
Smart pointer class similar to boost::intrusive_ptr. 
 
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
 
Hold variables of type string. 
 
void Set(const std::string &value)
Set the value. 
 
std::string m_help
The help string. 
 
String attribute value declarations. 
 
Hold a value for an Attribute. 
 
Unsigned integer attribute value declarations and template implementations. 
 
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name. 
 
Vector::const_iterator Iterator
Iterator type for the list of all global values. 
 
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate. 
 
#define NS_LOG_FUNCTION_NOARGS()
Output the name of the function. 
 
Ptr< AttributeValue > m_initialValue
The initial value. 
 
GlobalValue(std::string name, std::string help, const AttributeValue &initialValue, Ptr< const AttributeChecker > checker)
Constructor. 
 
std::string GetName(void) const 
Get the name. 
 
void ResetInitialValue(void)
Reset to the initial value. 
 
static Vector * GetVector(void)
Get the static vector of all GlobalValues. 
 
static Iterator Begin(void)
The Begin iterator. 
 
ns3::AttributeValue, ns3::AttributeAccessor and ns3::AttributeChecker declarations. 
 
Ptr< const AttributeChecker > m_checker
The AttributeChecker for this GlobalValue. 
 
std::vector< GlobalValue * > Vector
Container type for holding all the GlobalValues. 
 
static void Bind(std::string name, const AttributeValue &value)
Iterate over the set of GlobalValues until a matching name is found and then set its value with Globa...
 
static bool GetValueByNameFailSafe(std::string name, AttributeValue &value)
Finds the GlobalValue with the given name and returns its value. 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
bool SetValue(const AttributeValue &value)
Set the value of this GlobalValue. 
 
ns3::GlobalValue declaration. 
 
std::string m_name
The name of this GlobalValue. 
 
Ptr< AttributeValue > m_currentValue
The current value. 
 
static Iterator End(void)
The End iterator. 
 
static bool BindFailSafe(std::string name, const AttributeValue &value)
Iterate over the set of GlobalValues until a matching name is found and then set its value with Globa...
 
std::string GetHelp(void) const 
Get the help string. 
 
static void GetValueByName(std::string name, AttributeValue &value)
Finds the GlobalValue with the given name and returns its value. 
 
Ptr< const AttributeChecker > GetChecker(void) const 
Get the AttributeChecker. 
 
void InitializeFromEnv(void)
Initialize from the NS_GLOBAL_VALUE environment variable. 
 
void GetValue(AttributeValue &value) const 
Get the value.