00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef MEDIUM_INDICATION_H
00021 #define MEDIUM_INDICATION_H
00022 
00023 #include <omnetpp.h>
00024 #include <Blackboard.h>
00025 #include <sstream>
00026 
00036 class MediumIndication : public BBItem
00037 {
00038     BBITEM_METAINFO(BBItem);
00039     
00040  public:
00042     enum States {
00043         IDLE,
00044         BUSY
00045     };
00046     
00047  protected:
00048     States state;
00049     
00050  public:
00052     MediumIndication(States s=IDLE) : BBItem(), state(s) {
00053     };
00054 
00056     States getState() const  {
00057         return state;
00058     }
00059     
00061     void setState(States s) {
00062         state = s;
00063     }
00064     
00066     std::string info() const {
00067         std::ostringstream ost;
00068         ost << " medium is ";
00069         if(state == IDLE) {
00070             ost << "idle";
00071         }
00072         else {
00073             ost << "busy";   
00074         }
00075         return ost.str();
00076     }
00077 };
00078 
00079 
00080 #endif