sc_sensitive.hh revision 12952:94fca7e8120b
110923SN/A/* 210923SN/A * Copyright 2018 Google, Inc. 310923SN/A * 410923SN/A * Redistribution and use in source and binary forms, with or without 510923SN/A * modification, are permitted provided that the following conditions are 610923SN/A * met: redistributions of source code must retain the above copyright 710923SN/A * notice, this list of conditions and the following disclaimer; 810923SN/A * redistributions in binary form must reproduce the above copyright 910923SN/A * notice, this list of conditions and the following disclaimer in the 1010923SN/A * documentation and/or other materials provided with the distribution; 1110923SN/A * neither the name of the copyright holders nor the names of its 1210923SN/A * contributors may be used to endorse or promote products derived from 1310923SN/A * this software without specific prior written permission. 1410923SN/A * 1510923SN/A * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1610923SN/A * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1710923SN/A * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1810923SN/A * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 1910923SN/A * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2010923SN/A * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2110923SN/A * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2210923SN/A * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2310923SN/A * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2410923SN/A * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2510923SN/A * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2610923SN/A * 2710923SN/A * Authors: Gabe Black 2810923SN/A */ 2910923SN/A 3010923SN/A#ifndef __SYSTEMC_EXT_CORE_SC_SENSITIVE_HH__ 3110923SN/A#define __SYSTEMC_EXT_CORE_SC_SENSITIVE_HH__ 3210923SN/A 3310923SN/Anamespace sc_gem5 3410923SN/A{ 3510923SN/A 3610923SN/Aclass Process; 3710923SN/A 3811290Sgabor.dozsa@arm.com} // namespace sc_gem5 3910923SN/A 4010923SN/Anamespace sc_core 4110923SN/A{ 4211290Sgabor.dozsa@arm.com 4310923SN/Aclass sc_event; 4411290Sgabor.dozsa@arm.comclass sc_event_finder; 4511290Sgabor.dozsa@arm.comclass sc_interface; 4610923SN/Aclass sc_module; 4711290Sgabor.dozsa@arm.comclass sc_port_base; 4811290Sgabor.dozsa@arm.com 4910923SN/Aclass sc_sensitive 5010923SN/A{ 5110923SN/A public: 5211263Sandreas.sandberg@arm.com sc_sensitive &operator << (const sc_event &); 5311263Sandreas.sandberg@arm.com sc_sensitive &operator << (const sc_interface &); 5410923SN/A sc_sensitive &operator << (const sc_port_base &); 5510923SN/A sc_sensitive &operator << (sc_event_finder &); 5610923SN/A 5710923SN/A sc_sensitive &operator << (::sc_gem5::Process *p); 5811290Sgabor.dozsa@arm.com 5910923SN/A private: 6010923SN/A friend class sc_module; 6110923SN/A 6211290Sgabor.dozsa@arm.com // Install all the static events which may not have been ready at 6310923SN/A // construction time, like the default_event of the peer of an unbound 6410923SN/A // port. 6510923SN/A void finalize(); 6610923SN/A 6710923SN/A sc_sensitive(); 6810923SN/A 6910923SN/A ::sc_gem5::Process *currentProcess; 7011290Sgabor.dozsa@arm.com}; 7111290Sgabor.dozsa@arm.com 7211290Sgabor.dozsa@arm.com} // namespace sc_core 7311290Sgabor.dozsa@arm.com 7411290Sgabor.dozsa@arm.com#endif //__SYSTEMC_EXT_CORE_SC_SENSITIVE_HH__ 7511290Sgabor.dozsa@arm.com