00001 #ifndef IMNOTIFIABLE_H_
00002 #define IMNOTIFIABLE_H_
00003
00004 #include <omnetpp.h>
00005
00006
00032 class BBItem : public cObject
00033 {
00034 public:
00040 virtual BBItem *parentObject() const {
00041 return new BBItem();
00042 }
00043 };
00044
00058 class ImNotifiable
00059 {
00060 public:
00089 virtual void receiveBBItem(int category, const BBItem *details, int scopeModuleId) = 0;
00090
00092 virtual ~ImNotifiable() { }
00093 };
00094
00095
00096
00097
00106 #define BBITEM_METAINFO(BASECLASS) \
00107 public: \
00108 virtual BBItem* parentObject() const { \
00109 return new BASECLASS(); }
00110
00111
00112 #endif