equal
deleted
inserted
replaced
28 } |
28 } |
29 std::ostream & operator << (std::ostream & os, const WifiMode &mode) |
29 std::ostream & operator << (std::ostream & os, const WifiMode &mode) |
30 { |
30 { |
31 os << mode.GetUniqueName (); |
31 os << mode.GetUniqueName (); |
32 return os; |
32 return os; |
|
33 } |
|
34 std::istream & operator >> (std::istream &is, WifiMode &mode) |
|
35 { |
|
36 std::string str; |
|
37 is >> str; |
|
38 if (!WifiModeFactory::GetFactory ()->Search (str, &mode)) |
|
39 { |
|
40 is.setstate (std::ios_base::badbit); |
|
41 } |
|
42 return is; |
33 } |
43 } |
34 |
44 |
35 uint32_t |
45 uint32_t |
36 WifiMode::GetBandwidth (void) const |
46 WifiMode::GetBandwidth (void) const |
37 { |
47 { |
95 : m_uid (0) |
105 : m_uid (0) |
96 {} |
106 {} |
97 WifiMode::WifiMode (uint32_t uid) |
107 WifiMode::WifiMode (uint32_t uid) |
98 : m_uid (uid) |
108 : m_uid (uid) |
99 {} |
109 {} |
|
110 |
|
111 VALUE_HELPER_CPP (WifiMode); |
100 |
112 |
101 WifiModeFactory::WifiModeFactory () |
113 WifiModeFactory::WifiModeFactory () |
102 {} |
114 {} |
103 |
115 |
104 WifiMode |
116 WifiMode |
139 item->constellationSize = constellationSize; |
151 item->constellationSize = constellationSize; |
140 item->isMandatory = isMandatory; |
152 item->isMandatory = isMandatory; |
141 return WifiMode (uid); |
153 return WifiMode (uid); |
142 } |
154 } |
143 |
155 |
|
156 bool |
|
157 WifiModeFactory::Search (std::string name, WifiMode *mode) |
|
158 { |
|
159 uint32_t j = 0; |
|
160 for (WifiModeItemList::const_iterator i = m_itemList.begin (); |
|
161 i != m_itemList.end (); i++) |
|
162 { |
|
163 if (i->uniqueUid == name) |
|
164 { |
|
165 *mode = WifiMode (j); |
|
166 return true; |
|
167 } |
|
168 j++; |
|
169 } |
|
170 return false; |
|
171 } |
|
172 |
144 uint32_t |
173 uint32_t |
145 WifiModeFactory::AllocateUid (std::string uniqueUid) |
174 WifiModeFactory::AllocateUid (std::string uniqueUid) |
146 { |
175 { |
147 uint32_t j = 0; |
176 uint32_t j = 0; |
148 for (WifiModeItemList::const_iterator i = m_itemList.begin (); |
177 for (WifiModeItemList::const_iterator i = m_itemList.begin (); |
167 } |
196 } |
168 |
197 |
169 WifiModeFactory * |
198 WifiModeFactory * |
170 WifiModeFactory::GetFactory (void) |
199 WifiModeFactory::GetFactory (void) |
171 { |
200 { |
|
201 static bool isFirstTime = true; |
172 static WifiModeFactory factory; |
202 static WifiModeFactory factory; |
|
203 if (isFirstTime) |
|
204 { |
|
205 factory.AllocateUid ("Invalid-WifiMode"); |
|
206 isFirstTime = false; |
|
207 } |
173 return &factory; |
208 return &factory; |
174 } |
209 } |
175 |
210 |
176 } // namespace ns3 |
211 } // namespace ns3 |