00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef BASE_APPL_LAYER_H
00024 #define BASE_APPL_LAYER_H
00025
00026 #include <assert.h>
00027 #include "BaseLayer.h"
00028 #include "ApplPkt_m.h"
00029
00030
00043 class BaseApplLayer : public BaseLayer
00044 {
00045 public:
00047 enum BaseApplMessageKinds {
00050 LAST_BASE_APPL_MESSAGE_KIND = 25000,
00051 };
00053 enum BaseApplControlKinds {
00056 LAST_BASE_APPL_CONTROL_KIND = 25500,
00057 };
00058 protected:
00062 int headerLength;
00063
00064 public:
00065
00066
00068 virtual void initialize(int);
00069
00070 protected:
00081
00088 virtual void handleSelfMsg(cMessage* msg) {
00089 EV << "BaseApplLayer: handleSelfMsg not redefined; delete msg\n";
00090 delete msg;
00091 };
00092
00102 virtual void handleLowerMsg(cMessage* msg) {
00103 EV << "BaseApplLayer: handleLowerMsg not redefined; delete msg\n";
00104 delete msg;
00105 };
00106
00113 virtual void handleLowerControl(cMessage* msg) {
00114 EV << "BaseApplLayer: handleLowerControl not redefined; delete msg\n";
00115 delete msg;
00116 };
00117
00123 virtual void handleUpperMsg(cMessage *msg) {
00124 assert(false);
00125 opp_error("Application has no upper layers!");
00126 delete msg;
00127 }
00128
00130 virtual void handleUpperControl(cMessage *msg) {
00131 assert(false);
00132 opp_error("Application has no upper layers!");
00133 delete msg;
00134 }
00135
00139 void sendDelayedDown(cMessage *, simtime_t);
00140
00146 virtual const int myApplAddr() {
00147 return getParentModule()->getIndex();
00148 };
00149
00150 };
00151
00152 #endif