|
|
| 49 |
void |
49 |
void |
| 50 |
GlobalValue::InitializeFromEnv (void) |
50 |
GlobalValue::InitializeFromEnv (void) |
| 51 |
{ |
51 |
{ |
|
|
52 |
m_value = m_initialValue->Copy (); |
| 52 |
#ifdef HAVE_GETENV |
53 |
#ifdef HAVE_GETENV |
| 53 |
char *envVar = getenv ("NS_GLOBAL_VALUE"); |
54 |
char *envVar = getenv ("NS_GLOBAL_VALUE"); |
| 54 |
if (envVar == 0) |
55 |
if (envVar == 0) |
|
|
| 88 |
return m_help; |
89 |
return m_help; |
| 89 |
} |
90 |
} |
| 90 |
void |
91 |
void |
|
|
92 |
GlobalValue::ResetValue (void) |
| 93 |
{ |
| 94 |
InitializeFromEnv (); |
| 95 |
} |
| 96 |
void |
| 97 |
GlobalValue::ResetAll (void) |
| 98 |
{ |
| 99 |
for (Iterator i = Begin (); i != End (); i++) |
| 100 |
{ |
| 101 |
(*i)->ResetValue (); |
| 102 |
} |
| 103 |
} |
| 104 |
void |
| 91 |
GlobalValue::GetValue (AttributeValue &value) const |
105 |
GlobalValue::GetValue (AttributeValue &value) const |
| 92 |
{ |
106 |
{ |
| 93 |
bool ok = m_checker->Copy (*m_initialValue, value); |
107 |
bool ok = m_checker->Copy (*m_value, value); |
| 94 |
if (ok) |
108 |
if (ok) |
| 95 |
{ |
109 |
{ |
| 96 |
return; |
110 |
return; |
|
|
| 100 |
{ |
114 |
{ |
| 101 |
NS_FATAL_ERROR ("GlobalValue name="<<m_name<<": input value is not a string"); |
115 |
NS_FATAL_ERROR ("GlobalValue name="<<m_name<<": input value is not a string"); |
| 102 |
} |
116 |
} |
| 103 |
str->Set (m_initialValue->SerializeToString (m_checker)); |
117 |
str->Set (m_value->SerializeToString (m_checker)); |
| 104 |
} |
118 |
} |
| 105 |
Ptr<const AttributeChecker> |
119 |
Ptr<const AttributeChecker> |
| 106 |
GlobalValue::GetChecker (void) const |
120 |
GlobalValue::GetChecker (void) const |
|
|
| 113 |
{ |
127 |
{ |
| 114 |
if (m_checker->Check (value)) |
128 |
if (m_checker->Check (value)) |
| 115 |
{ |
129 |
{ |
| 116 |
m_initialValue = value.Copy (); |
130 |
m_value = value.Copy (); |
| 117 |
return true; |
131 |
return true; |
| 118 |
} |
132 |
} |
| 119 |
// attempt to convert to string. |
133 |
// attempt to convert to string. |
|
|
| 134 |
{ |
148 |
{ |
| 135 |
return false; |
149 |
return false; |
| 136 |
} |
150 |
} |
| 137 |
m_checker->Copy (*v, *PeekPointer (m_initialValue)); |
151 |
m_checker->Copy (*v, *PeekPointer (m_value)); |
| 138 |
return true; |
152 |
return true; |
| 139 |
} |
153 |
} |
| 140 |
|
154 |
|