MacToPhyInterface.h

00001 #ifndef MACTOPHYINTERFACE_H_
00002 #define MACTOPHYINTERFACE_H_
00003 
00004 #include <omnetpp.h>
00005 
00006 #include "Signal_.h"
00007 #include "ChannelState.h"
00008 #include "PhyUtils.h"
00009 
00010 
00017 class MacToPhyInterface
00018 {
00019 public:
00026   enum BasePhyMessageKinds {
00028     TX_OVER = 22000,
00030     RADIO_SWITCHING_OVER,
00032     CHANNEL_SENSE_REQUEST,
00034     AIR_FRAME,
00037     LAST_BASE_PHY_KIND,
00038   };
00039 
00040 public:
00041 
00042   virtual ~MacToPhyInterface() {}
00052   virtual int getRadioState() = 0;
00053 
00066   virtual simtime_t setRadioState(int rs) = 0;
00067 
00075   virtual ChannelState getChannelState() = 0;
00076 
00085   virtual int getPhyHeaderLength() = 0;
00086 
00088   virtual void setCurrentRadioChannel(int newRadioChannel) = 0;
00089 
00091   virtual int getCurrentRadioChannel() = 0;
00092 
00094   virtual int getNbRadioChannels() = 0;
00095 };
00096 
00097 #endif /*MACTOPHYINTERFACE_H_*/