Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Ieee80211MgmtAdhoc Class Reference

#include <Ieee80211MgmtAdhoc.h>

Inheritance diagram for Ieee80211MgmtAdhoc:

Ieee80211MgmtBase PassiveQueueBase INotifiable IPassiveQueue List of all members.

Detailed Description

Used in 802.11 ad-hoc mode. 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 (cMessage *msg)
virtual void handleCommand (int msgkind, cPolymorphic *ctrl)
virtual Ieee80211DataFrameencapsulate (cMessage *msg)
virtual void receiveChangeNotification (int category, 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)


Member Function Documentation

Ieee80211DataFrame * Ieee80211MgmtAdhoc::encapsulate cMessage *  msg  )  [protected, virtual]
 

Utility function for handleUpperMessage()

00049 {
00050     Ieee80211DataFrame *frame = new Ieee80211DataFrame(msg->name());
00051 
00052     // copy receiver address from the control info (sender address will be set in MAC)
00053     Ieee802Ctrl *ctrl = check_and_cast<Ieee802Ctrl *>(msg->removeControlInfo());
00054     frame->setReceiverAddress(ctrl->getDest());
00055     delete ctrl;
00056 
00057     frame->encapsulate(msg);
00058     return frame;
00059 }

void Ieee80211MgmtAdhoc::handleAssociationRequestFrame Ieee80211AssociationRequestFrame frame  )  [protected, virtual]
 

Implements Ieee80211MgmtBase.

00083 {
00084     dropManagementFrame(frame);
00085 }

void Ieee80211MgmtAdhoc::handleAssociationResponseFrame Ieee80211AssociationResponseFrame frame  )  [protected, virtual]
 

Implements Ieee80211MgmtBase.

00088 {
00089     dropManagementFrame(frame);
00090 }

void Ieee80211MgmtAdhoc::handleAuthenticationFrame Ieee80211AuthenticationFrame frame  )  [protected, virtual]
 

Implements Ieee80211MgmtBase.

00073 {
00074     dropManagementFrame(frame);
00075 }

void Ieee80211MgmtAdhoc::handleBeaconFrame Ieee80211BeaconFrame frame  )  [protected, virtual]
 

Implements Ieee80211MgmtBase.

00108 {
00109     dropManagementFrame(frame);
00110 }

void Ieee80211MgmtAdhoc::handleCommand int  msgkind,
cPolymorphic *  ctrl
[protected, virtual]
 

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

Implements Ieee80211MgmtBase.

00044 {
00045     error("handleCommand(): no commands supported");
00046 }

void Ieee80211MgmtAdhoc::handleDataFrame Ieee80211DataFrame frame  )  [protected, virtual]
 

Implements Ieee80211MgmtBase.

00068 {
00069     sendUp(decapsulate(frame));
00070 }

void Ieee80211MgmtAdhoc::handleDeauthenticationFrame Ieee80211DeauthenticationFrame frame  )  [protected, virtual]
 

Implements Ieee80211MgmtBase.

00078 {
00079     dropManagementFrame(frame);
00080 }

void Ieee80211MgmtAdhoc::handleDisassociationFrame Ieee80211DisassociationFrame frame  )  [protected, virtual]
 

Implements Ieee80211MgmtBase.

00103 {
00104     dropManagementFrame(frame);
00105 }

void Ieee80211MgmtAdhoc::handleProbeRequestFrame Ieee80211ProbeRequestFrame frame  )  [protected, virtual]
 

Implements Ieee80211MgmtBase.

00113 {
00114     dropManagementFrame(frame);
00115 }

void Ieee80211MgmtAdhoc::handleProbeResponseFrame Ieee80211ProbeResponseFrame frame  )  [protected, virtual]
 

Implements Ieee80211MgmtBase.

00118 {
00119     dropManagementFrame(frame);
00120 }

void Ieee80211MgmtAdhoc::handleReassociationRequestFrame Ieee80211ReassociationRequestFrame frame  )  [protected, virtual]
 

Implements Ieee80211MgmtBase.

00093 {
00094     dropManagementFrame(frame);
00095 }

void Ieee80211MgmtAdhoc::handleReassociationResponseFrame Ieee80211ReassociationResponseFrame frame  )  [protected, virtual]
 

Implements Ieee80211MgmtBase.

00098 {
00099     dropManagementFrame(frame);
00100 }

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

Implements abstract Ieee80211MgmtBase method

Implements Ieee80211MgmtBase.

00033 {
00034     ASSERT(false);
00035 }

void Ieee80211MgmtAdhoc::handleUpperMessage cMessage *  msg  )  [protected, virtual]
 

Implements abstract Ieee80211MgmtBase method

Implements Ieee80211MgmtBase.

00038 {
00039     Ieee80211DataFrame *frame = encapsulate(msg);
00040     sendOrEnqueue(frame);
00041 }

void Ieee80211MgmtAdhoc::initialize int   )  [protected, virtual]
 

Reimplemented from Ieee80211MgmtBase.

00028 {
00029     Ieee80211MgmtBase::initialize(stage);
00030 }

virtual int Ieee80211MgmtAdhoc::numInitStages  )  const [inline, protected, virtual]
 

Reimplemented from Ieee80211MgmtBase.

00036 {return 2;}

void Ieee80211MgmtAdhoc::receiveChangeNotification int  category,
cPolymorphic *  details
[protected, virtual]
 

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

Implements INotifiable.

00062 {
00063     Enter_Method_Silent();
00064     printNotificationBanner(category, details);
00065 }


The documentation for this class was generated from the following files:
Generated on Thu Oct 19 18:22:23 2006 for INET Framework for OMNeT++/OMNEST by  doxygen 1.4.0