TestApplLayer.h

00001 /* -*- mode:c++ -*- ********************************************************
00002  * file:        TestApplLayer.h
00003  *
00004  * author:      Daniel Willkomm
00005  *
00006  * copyright:   (C) 2004 Telecommunication Networks Group (TKN) at
00007  *              Technische Universitaet Berlin, Germany.
00008  *
00009  *              This program is free software; you can redistribute it
00010  *              and/or modify it under the terms of the GNU General Public
00011  *              License as published by the Free Software Foundation; either
00012  *              version 2 of the License, or (at your option) any later
00013  *              version.
00014  *              For further information see file COPYING
00015  *              in the top level directory
00016  ***************************************************************************
00017  * part of:     framework implementation developed by tkn
00018  * description: application layer: test class for the application layer
00019  **************************************************************************/
00020 
00021 
00022 #ifndef TEST_APPL_LAYER_H
00023 #define TEST_APPL_LAYER_H
00024 
00025 #include "BaseApplLayer.h"
00026 
00027 
00038 class TestApplLayer : public BaseApplLayer
00039 {
00040   public:
00041     virtual ~TestApplLayer();
00042 
00044     virtual void initialize(int);
00045 
00047     enum TestApplMessageKinds{
00048     SEND_BROADCAST_TIMER = LAST_BASE_APPL_MESSAGE_KIND,
00049     BROADCAST_MESSAGE,
00050     BROADCAST_REPLY_MESSAGE,
00051     LAST_TEST_APPL_MESSAGE_KIND
00052     };
00053 
00054 protected:
00056     cMessage *delayTimer;
00057 
00059   bool coreDebug;
00060 
00061 protected:
00063     virtual void handleSelfMsg(cMessage*);
00064 
00066     virtual void handleLowerMsg(cMessage*);
00067 
00069     void sendBroadcast();
00070 
00072     void sendReply(ApplPkt *msg);
00073 };
00074 
00075 #endif