INET Framework for OMNeT++/OMNEST
inet::ieee80211::Ieee80211Mib Class Reference

#include <Ieee80211Mib.h>

Inheritance diagram for inet::ieee80211::Ieee80211Mib:

Classes

class  BssAccessPointData
 
class  BssData
 
class  BssStationData
 

Public Types

enum  Mode { INFRASTRUCTURE, INDEPENDENT, MESH }
 
enum  BssStationType { ACCESS_POINT, STATION }
 
enum  BssMemberStatus { NOT_AUTHENTICATED, AUTHENTICATED, ASSOCIATED }
 

Public Attributes

MacAddress address
 
Mode mode = static_cast<Mode>(-1)
 
bool qos = false
 
BssData bssData
 
BssStationData bssStationData
 
BssAccessPointData bssAccessPointData
 

Protected Member Functions

virtual void initialize (int stage) override
 
virtual void refreshDisplay () const override
 

Member Enumeration Documentation

◆ BssMemberStatus

Enumerator
NOT_AUTHENTICATED 
AUTHENTICATED 
ASSOCIATED 
31  {
35  };

◆ BssStationType

Enumerator
ACCESS_POINT 
STATION 
26  {
28  STATION
29  };

◆ Mode

Enumerator
INFRASTRUCTURE 
INDEPENDENT 
MESH 
20  {
23  MESH
24  };

Member Function Documentation

◆ initialize()

void inet::ieee80211::Ieee80211Mib::initialize ( int  stage)
overrideprotectedvirtual
17 {
18  if (stage == INITSTAGE_LOCAL) {
19  WATCH(address);
20  WATCH(mode);
21  WATCH(qos);
22  WATCH(bssData.bssid);
25  WATCH_MAP(bssAccessPointData.stations);
26  }
27 }

◆ refreshDisplay()

void inet::ieee80211::Ieee80211Mib::refreshDisplay ( ) const
overrideprotectedvirtual
30 {
31  std::string modeString;
32  std::string ssidString;
33  switch (mode) {
34  case INFRASTRUCTURE: modeString = "Infrastructure"; ssidString = "\nSSID: " + bssData.ssid + ", " + bssData.bssid.str(); break;
35  case INDEPENDENT: modeString = "Ad-hoc"; break;
36  case MESH: modeString = "Mesh"; break;
37  }
38  std::string bssStationTypeString;
39  std::string associatedString;
40  switch (bssStationData.stationType) {
41  case ACCESS_POINT: bssStationTypeString = ", AP"; break;
42  case STATION: bssStationTypeString = ", STA"; associatedString = bssStationData.isAssociated ? "\nAssociated" : "\nNot associated"; break;
43  }
44  auto text = std::string("Address: ") + address.str() + ssidString + "\n" + modeString + bssStationTypeString + (qos ? ", QoS" : ", Non-QoS") + associatedString;
45  getDisplayString().setTagArg("t", 0, text.c_str());
46 }

Member Data Documentation

◆ address

MacAddress inet::ieee80211::Ieee80211Mib::address

Referenced by initialize(), and refreshDisplay().

◆ bssAccessPointData

◆ bssData

BssData inet::ieee80211::Ieee80211Mib::bssData

◆ bssStationData

BssStationData inet::ieee80211::Ieee80211Mib::bssStationData

◆ mode

Mode inet::ieee80211::Ieee80211Mib::mode = static_cast<Mode>(-1)

◆ qos

bool inet::ieee80211::Ieee80211Mib::qos = false

Referenced by initialize(), and refreshDisplay().


The documentation for this class was generated from the following files:
inet::ieee80211::Ieee80211Mib::INDEPENDENT
@ INDEPENDENT
Definition: Ieee80211Mib.h:22
inet::ieee80211::Ieee80211Mib::INFRASTRUCTURE
@ INFRASTRUCTURE
Definition: Ieee80211Mib.h:21
inet::ieee80211::Ieee80211Mib::NOT_AUTHENTICATED
@ NOT_AUTHENTICATED
Definition: Ieee80211Mib.h:32
inet::ieee80211::Ieee80211Mib::STATION
@ STATION
Definition: Ieee80211Mib.h:28
inet::ieee80211::Ieee80211Mib::bssAccessPointData
BssAccessPointData bssAccessPointData
Definition: Ieee80211Mib.h:61
inet::ieee80211::Ieee80211Mib::BssData::ssid
std::string ssid
Definition: Ieee80211Mib.h:39
inet::ieee80211::Ieee80211Mib::bssStationData
BssStationData bssStationData
Definition: Ieee80211Mib.h:60
inet::MacAddress::str
std::string str() const
Converts address to a hex string.
Definition: MacAddress.cc:111
inet::ieee80211::Ieee80211Mib::AUTHENTICATED
@ AUTHENTICATED
Definition: Ieee80211Mib.h:33
inet::ieee80211::Ieee80211Mib::bssData
BssData bssData
Definition: Ieee80211Mib.h:59
inet::ieee80211::Ieee80211Mib::address
MacAddress address
Definition: Ieee80211Mib.h:55
inet::ieee80211::Ieee80211Mib::BssStationData::isAssociated
bool isAssociated
Definition: Ieee80211Mib.h:46
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
inet::ieee80211::Ieee80211Mib::BssStationData::stationType
BssStationType stationType
Definition: Ieee80211Mib.h:45
inet::ieee80211::Ieee80211Mib::BssData::bssid
MacAddress bssid
Definition: Ieee80211Mib.h:40
inet::ieee80211::Ieee80211Mib::mode
Mode mode
Definition: Ieee80211Mib.h:56
inet::ieee80211::Ieee80211Mib::ACCESS_POINT
@ ACCESS_POINT
Definition: Ieee80211Mib.h:27
inet::ieee80211::Ieee80211Mib::MESH
@ MESH
Definition: Ieee80211Mib.h:23
inet::ieee80211::Ieee80211Mib::qos
bool qos
Definition: Ieee80211Mib.h:57
inet::ieee80211::Ieee80211Mib::ASSOCIATED
@ ASSOCIATED
Definition: Ieee80211Mib.h:34
inet::ieee80211::Ieee80211Mib::BssAccessPointData::stations
std::map< MacAddress, BssMemberStatus > stations
Definition: Ieee80211Mib.h:51