Skip to content

Commit 7c641f3

Browse files
committed
ieee80211: move llc ProtocolGroup from LlcProtocolTag.msg to ProtocolGroup.cc, .h
1 parent 1cdda21 commit 7c641f3

3 files changed

Lines changed: 14 additions & 15 deletions

File tree

src/inet/common/ProtocolGroup.cc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,11 @@ static const ProtocolGroup::Protocols inetPhyProtocols {
187187
{ 1015, &Protocol::ieee802154 },
188188
};
189189

190+
static const ProtocolGroup::Protocols ieee80211LlcProtocols {
191+
{ 0, &Protocol::ieee8022llc },
192+
{ 1, &Protocol::ieee802epd }
193+
};
194+
190195
ProtocolGroup *ProtocolGroup::getEthertypeProtocolGroup()
191196
{
192197
static int handle = cSimulationOrSharedDataManager::registerSharedVariableName("inet::ProtocolGroup::ethertype");
@@ -235,5 +240,11 @@ ProtocolGroup *ProtocolGroup::getUdpProtocolGroup()
235240
return &getSimulationOrSharedDataManager()->getSharedVariable<ProtocolGroup>(handle, "udp", udpProtocols);
236241
}
237242

243+
ProtocolGroup *ProtocolGroup::getIeee80211LlcProtocolGroup()
244+
{
245+
static int handle = cSimulationOrSharedDataManager::registerSharedVariableName("inet::ProtocolGroup::ieee80211Llc");
246+
return &getSimulationOrSharedDataManager()->getSharedVariable<ProtocolGroup>(handle, "ieee80211Llc", ieee80211LlcProtocols);
247+
}
248+
238249
} // namespace inet
239250

src/inet/common/ProtocolGroup.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,11 @@ class INET_API ProtocolGroup
4747
static ProtocolGroup *getSnapOuiProtocolGroup();
4848
static ProtocolGroup *getTcpProtocolGroup();
4949
static ProtocolGroup *getUdpProtocolGroup();
50+
static ProtocolGroup *getIeee80211LlcProtocolGroup();
5051
};
5152

5253
inline std::ostream& operator<<(std::ostream& o, const ProtocolGroup& t) { o << t.str(); return o; }
5354

5455
} // namespace inet
5556

5657
#endif
57-

src/inet/linklayer/ieee80211/llc/LlcProtocolTag.msg

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,6 @@ cplusplus {{
99

1010
namespace inet::ieee80211;
1111

12-
//
13-
// LLC protocols available in IEEE 802.11
14-
//
15-
cplusplus {{
16-
17-
static ProtocolGroup llc("llc", {
18-
{ 0, &Protocol::ieee8022llc },
19-
{ 1, &Protocol::ieee802epd }
20-
});
21-
22-
}}
23-
2412
enum LlcProtocolId
2513
{
2614
LPD = 0; // IEEE 802.2 LLC header (with SNAP)
@@ -37,6 +25,6 @@ class LlcProtocolTag extends TagBase
3725
}
3826

3927
cplusplus(LlcProtocolTag) {{
40-
virtual const Protocol *getProtocol() const { return llc.findProtocol(getProtocolId()); }
41-
virtual void setProtocol(const Protocol *protocol) { setProtocolId(llc.getProtocolNumber(protocol)); }
28+
virtual const Protocol *getProtocol() const { return ProtocolGroup::getIeee80211LlcProtocolGroup()->findProtocol(getProtocolId()); }
29+
virtual void setProtocol(const Protocol *protocol) { setProtocolId(ProtocolGroup::getIeee80211LlcProtocolGroup()->getProtocolNumber(protocol)); }
4230
}}

0 commit comments

Comments
 (0)