Ieee80211MgmtSTASimplified Class Reference

#include <Ieee80211MgmtSTASimplified.h>

Inheritance diagram for Ieee80211MgmtSTASimplified:

Ieee80211MgmtBase PassiveQueueBase INotifiable IPassiveQueue

List of all members.


Detailed Description

Used in 802.11 infrastructure mode: handles management frames for a station (STA). See corresponding NED file for a detailed description. This implementation ignores many details.

Author:
Andras Varga

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)

Protected Attributes

MACAddress accessPointAddress
int receiveSequence

Member Function Documentation

virtual int Ieee80211MgmtSTASimplified::numInitStages (  )  const [inline, protected, virtual]

Reimplemented from Ieee80211MgmtBase.

00041 {return 2;}

void Ieee80211MgmtSTASimplified::initialize ( int  stage  )  [protected, virtual]

Reimplemented from Ieee80211MgmtBase.

00027 {
00028     Ieee80211MgmtBase::initialize(stage);
00029     if (stage==0)
00030     {
00031         accessPointAddress.setAddress(par("accessPointAddress").stringValue());
00032         receiveSequence = 0;
00033     }
00034 }

void Ieee80211MgmtSTASimplified::handleTimer ( cMessage *  msg  )  [protected, virtual]

Implements abstract Ieee80211MgmtBase method

Implements Ieee80211MgmtBase.

00037 {
00038     ASSERT(false);
00039 }

void Ieee80211MgmtSTASimplified::handleUpperMessage ( cPacket *  msg  )  [protected, virtual]

Implements abstract Ieee80211MgmtBase method

Implements Ieee80211MgmtBase.

00042 {
00043     Ieee80211DataFrame *frame = encapsulate(msg);
00044     sendOrEnqueue(frame);
00045 }

void Ieee80211MgmtSTASimplified::handleCommand ( int  msgkind,
cPolymorphic *  ctrl 
) [protected, virtual]

Implements abstract Ieee80211MgmtBase method -- throws an error (no commands supported)

Implements Ieee80211MgmtBase.

00048 {
00049     error("handleCommand(): no commands supported");
00050 }

Ieee80211DataFrame * Ieee80211MgmtSTASimplified::encapsulate ( cPacket *  msg  )  [protected, virtual]

Utility function for handleUpperMessage()

Referenced by handleUpperMessage().

00053 {
00054     Ieee80211DataFrame *frame = new Ieee80211DataFrame(msg->getName());
00055 
00056     // frame goes to the AP
00057     frame->setToDS(true);
00058 
00059     // receiver is the AP
00060     frame->setReceiverAddress(accessPointAddress);
00061 
00062     // destination address is in address3
00063     Ieee802Ctrl *ctrl = check_and_cast<Ieee802Ctrl *>(msg->removeControlInfo());
00064     ASSERT(!ctrl->getDest().isUnspecified());
00065     frame->setAddress3(ctrl->getDest());
00066     delete ctrl;
00067 
00068     frame->encapsulate(msg);
00069     return frame;
00070 }

void Ieee80211MgmtSTASimplified::receiveChangeNotification ( int  category,
const cPolymorphic *  details 
) [protected, virtual]

Called by the NotificationBoard whenever a change occurs we're interested in

Implements INotifiable.

00073 {
00074     Enter_Method_Silent();
00075     printNotificationBanner(category, details);
00076 }

void Ieee80211MgmtSTASimplified::handleDataFrame ( Ieee80211DataFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00079 {
00080     sendUp(decapsulate(frame));
00081 }

void Ieee80211MgmtSTASimplified::handleAuthenticationFrame ( Ieee80211AuthenticationFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00084 {
00085     dropManagementFrame(frame);
00086 }

void Ieee80211MgmtSTASimplified::handleDeauthenticationFrame ( Ieee80211DeauthenticationFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00089 {
00090     dropManagementFrame(frame);
00091 }

void Ieee80211MgmtSTASimplified::handleAssociationRequestFrame ( Ieee80211AssociationRequestFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00094 {
00095     dropManagementFrame(frame);
00096 }

void Ieee80211MgmtSTASimplified::handleAssociationResponseFrame ( Ieee80211AssociationResponseFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00099 {
00100     dropManagementFrame(frame);
00101 }

void Ieee80211MgmtSTASimplified::handleReassociationRequestFrame ( Ieee80211ReassociationRequestFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00104 {
00105     dropManagementFrame(frame);
00106 }

void Ieee80211MgmtSTASimplified::handleReassociationResponseFrame ( Ieee80211ReassociationResponseFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00109 {
00110     dropManagementFrame(frame);
00111 }

void Ieee80211MgmtSTASimplified::handleDisassociationFrame ( Ieee80211DisassociationFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00114 {
00115     dropManagementFrame(frame);
00116 }

void Ieee80211MgmtSTASimplified::handleBeaconFrame ( Ieee80211BeaconFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00119 {
00120     dropManagementFrame(frame);
00121 }

void Ieee80211MgmtSTASimplified::handleProbeRequestFrame ( Ieee80211ProbeRequestFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00124 {
00125     dropManagementFrame(frame);
00126 }

void Ieee80211MgmtSTASimplified::handleProbeResponseFrame ( Ieee80211ProbeResponseFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00129 {
00130     dropManagementFrame(frame);
00131 }


Member Data Documentation

Referenced by encapsulate(), and initialize().

Referenced by initialize().


The documentation for this class was generated from the following files:

Generated on Fri Mar 20 18:51:19 2009 for INET Framework for OMNeT++/OMNEST by  doxygen 1.5.5