00001 /* 00002 * ===================================================================================== 00003 * 00004 * Filename: networkComponent.h 00005 * 00006 * Description: 00007 * 00008 * Version: 1.0 00009 * Created: 02/18/2010 11:53:04 PM 00010 * Revision: none 00011 * Compiler: gcc 00012 * 00013 * Author: Mitchelle Rasquinha (), mitchelle.rasquinha@gatech.edu 00014 * Company: Georgia Institute of Technology 00015 * 00016 * ===================================================================================== 00017 */ 00018 00019 #ifndef _networkcomponent_h_INC 00020 #define _networkcomponent_h_INC 00021 00022 #include "../../../kernel/component.h" 00023 #include "../../../util/simIrisComponentHeader.h" 00024 #include "../../data_types/impl/irisEvent.h" 00025 #include <sstream> 00026 #include <fstream> 00027 00028 using namespace std; 00029 /* 00030 * ===================================================================================== 00031 * Class: NetworkComponent 00032 * Description: 00033 * ===================================================================================== 00034 */ 00035 class NetworkComponent : public Component 00036 { 00037 public: 00038 enum types { processor, interface, link, router }; 00039 types type; 00040 string name; 00041 uniqueId address; 00042 uint node_ip; 00043 00044 NetworkComponent (); /* constructor */ 00045 virtual ~NetworkComponent(); 00046 virtual string toString () const; 00047 virtual void process_event(IrisEvent* e) = 0; 00048 00049 protected: 00050 00051 private: 00052 00053 }; /* ----- end of class NetworkComponent ----- */ 00054 00055 #endif /* ----- #ifndef _networkcomponent_h_INC ----- */