|
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 |
|