00001 // vim:set et sts=4 ts=4 tw=75 sw=4 ai ci cin cino=g0,t0: 00002 /* 00003 * Copyright (C) 2007, Technical Computer Science Group, 00004 * University of Bonn 00005 * 00006 * This file is part of the ReChannel library. 00007 * 00008 * The ReChannel library is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU General Public License as 00010 * published by the Free Software Foundation; either version 2 of the 00011 * License, or (at your option) any later version. 00012 * 00013 * This library is distributed in the hope that it will be 00014 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU General Public License 00019 * along with this library; see the file COPYING. If not, write to the 00020 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, 00021 * Boston, MA 02110-1301, USA. 00022 * 00023 * Authors: Andreas Raabe and Armin Felke. Implementation by Armin Felke. 00024 * {raabe, felke}@cs.uni-bonn.de 00025 */ 00038 #ifndef RC_EVENT_QUEUE_PORTAL_H_ 00039 #define RC_EVENT_QUEUE_PORTAL_H_ 00040 00041 #include "ReChannel/communication/portals/rc_portal.h" 00042 #include "ReChannel/communication/accessors/rc_event_queue_accessor.h" 00043 00044 namespace ReChannel { 00045 00046 RC_PORTAL(sc_port<sc_event_queue_if>) 00047 { 00048 RC_PORTAL_CTOR(sc_port<sc_event_queue_if>) 00049 { 00050 RC_PORTAL_FORWARD_EVENT(default_event); 00051 } 00052 }; 00053 00057 class rc_event_queue_portal 00058 : public rc_portal<sc_port<sc_event_queue_if> > 00059 { 00060 typedef rc_portal<sc_port<sc_event_queue_if> > base_type; 00061 public: 00062 typedef base_type::port_type port_type; 00063 typedef base_type::if_type if_type; 00064 typedef base_type::accessor_type accessor_type; 00065 00066 explicit rc_event_queue_portal( 00067 const sc_module_name& name_ = 00068 sc_gen_unique_name("rc_event_queue_portal")) 00069 : base_type(name_) 00070 { } 00071 }; 00072 00073 } // namespace ReChannel 00074 00075 #endif // RC_EVENT_QUEUE_PORTAL_H_ 00076 // 00077 // $Id: rc_event_queue_portal.h,v 1.6 2007/11/23 13:21:48 felke Exp $ 00078 // $Source: /var/cvs/projekte/ReChannel-v2/src/ReChannel/communication/portals/rc_event_queue_portal.h,v $ 00079 //