00001 /* -*- mode:c++ -*- ******************************************************** 00002 * file: ChannelAccess.h 00003 * 00004 * author: Marc Loebbers 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: - Base class for physical layers 00019 * - if you create your own physical layer, please subclass 00020 * from this class and use the sendToChannel() function!! 00021 **************************************************************************/ 00022 00023 00024 #ifndef CHANNEL_ACCESS_H 00025 #define CHANNEL_ACCESS_H 00026 00027 #include <omnetpp.h> 00028 #include <vector> 00029 00030 #include "BasicModule.h" 00031 #include "HostMove.h" 00032 00033 class ChannelControl; 00034 00053 class ChannelAccess : public BasicModule 00054 { 00055 Module_Class_Members( ChannelAccess, BasicModule, 0 ); 00056 00057 protected: 00059 bool useSendDirect; 00060 00062 ChannelControl* cc; 00063 00065 bool coreDebug; 00066 00069 void sendToChannel(cMessage *msg, double delay); 00070 00072 HostMove hostMove; 00074 int catHostMove; 00075 00079 bool isRegistered; 00080 00081 public: 00083 virtual void initialize(int stage); 00084 00088 virtual void receiveBBItem(int category, const BBItem *details, int scopeModuleId); 00089 }; 00090 00091 #endif 00092