INET Framework for OMNeT++/OMNEST
|
#include <Ieee80211MgmtAdhoc.h>
Protected Member Functions | |
virtual int | numInitStages () const |
virtual void | initialize (int) |
virtual void | handleTimer (cMessage *msg) |
virtual void | handleUpperMessage (cPacket *msg) |
virtual void | handleCommand (int msgkind, cPolymorphic *ctrl) |
virtual Ieee80211DataFrame * | encapsulate (cPacket *msg) |
virtual void | receiveChangeNotification (int category, const cPolymorphic *details) |
Processing of different frame types | |
virtual void | handleDataFrame (Ieee80211DataFrame *frame) |
virtual void | handleAuthenticationFrame (Ieee80211AuthenticationFrame *frame) |
virtual void | handleDeauthenticationFrame (Ieee80211DeauthenticationFrame *frame) |
virtual void | handleAssociationRequestFrame (Ieee80211AssociationRequestFrame *frame) |
virtual void | handleAssociationResponseFrame (Ieee80211AssociationResponseFrame *frame) |
virtual void | handleReassociationRequestFrame (Ieee80211ReassociationRequestFrame *frame) |
virtual void | handleReassociationResponseFrame (Ieee80211ReassociationResponseFrame *frame) |
virtual void | handleDisassociationFrame (Ieee80211DisassociationFrame *frame) |
virtual void | handleBeaconFrame (Ieee80211BeaconFrame *frame) |
virtual void | handleProbeRequestFrame (Ieee80211ProbeRequestFrame *frame) |
virtual void | handleProbeResponseFrame (Ieee80211ProbeResponseFrame *frame) |
Used in 802.11 ad-hoc mode. See corresponding NED file for a detailed description. This implementation ignores many details.
Ieee80211DataFrame * Ieee80211MgmtAdhoc::encapsulate | ( | cPacket * | msg | ) | [protected, virtual] |
Utility function for handleUpperMessage()
Referenced by handleUpperMessage().
{ Ieee80211DataFrame *frame = new Ieee80211DataFrame(msg->getName()); // copy receiver address from the control info (sender address will be set in MAC) Ieee802Ctrl *ctrl = check_and_cast<Ieee802Ctrl *>(msg->removeControlInfo()); frame->setReceiverAddress(ctrl->getDest()); delete ctrl; frame->encapsulate(msg); return frame; }
void Ieee80211MgmtAdhoc::handleAssociationRequestFrame | ( | Ieee80211AssociationRequestFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtAdhoc::handleAssociationResponseFrame | ( | Ieee80211AssociationResponseFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtAdhoc::handleAuthenticationFrame | ( | Ieee80211AuthenticationFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtAdhoc::handleBeaconFrame | ( | Ieee80211BeaconFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtAdhoc::handleCommand | ( | int | msgkind, |
cPolymorphic * | ctrl | ||
) | [protected, virtual] |
Implements abstract Ieee80211MgmtBase method -- throws an error (no commands supported)
Implements Ieee80211MgmtBase.
{
error("handleCommand(): no commands supported");
}
void Ieee80211MgmtAdhoc::handleDataFrame | ( | Ieee80211DataFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ sendUp(decapsulate(frame)); }
void Ieee80211MgmtAdhoc::handleDeauthenticationFrame | ( | Ieee80211DeauthenticationFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtAdhoc::handleDisassociationFrame | ( | Ieee80211DisassociationFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtAdhoc::handleProbeRequestFrame | ( | Ieee80211ProbeRequestFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtAdhoc::handleProbeResponseFrame | ( | Ieee80211ProbeResponseFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtAdhoc::handleReassociationRequestFrame | ( | Ieee80211ReassociationRequestFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtAdhoc::handleReassociationResponseFrame | ( | Ieee80211ReassociationResponseFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtAdhoc::handleTimer | ( | cMessage * | msg | ) | [protected, virtual] |
void Ieee80211MgmtAdhoc::handleUpperMessage | ( | cPacket * | msg | ) | [protected, virtual] |
Implements abstract Ieee80211MgmtBase method
Implements Ieee80211MgmtBase.
{ Ieee80211DataFrame *frame = encapsulate(msg); sendOrEnqueue(frame); }
void Ieee80211MgmtAdhoc::initialize | ( | int | stage | ) | [protected, virtual] |
Reimplemented from Ieee80211MgmtBase.
{ Ieee80211MgmtBase::initialize(stage); }
virtual int Ieee80211MgmtAdhoc::numInitStages | ( | ) | const [inline, protected, virtual] |
Reimplemented from Ieee80211MgmtBase.
{return 2;}
void Ieee80211MgmtAdhoc::receiveChangeNotification | ( | int | category, |
const cPolymorphic * | details | ||
) | [protected, virtual] |
Called by the NotificationBoard whenever a change occurs we're interested in
Implements INotifiable.
{ Enter_Method_Silent(); printNotificationBanner(category, details); }