14#ifndef SIMICS_SYSTEMC_INJECTION_B_TRANSPORT_INVOKER_H
15#define SIMICS_SYSTEMC_INJECTION_B_TRANSPORT_INVOKER_H
28template <
typename TYPES>
30 typedef typename TYPES::tlm_payload_type transaction_type;
31 typedef typename TYPES::tlm_phase_type phase_type;
35 Invoker(transaction_type *transaction, sc_core::sc_time *offset,
36 tlm::tlm_fw_transport_if<TYPES> *socket)
37 : transaction_(transaction), offset_(*offset), socket_(socket) {}
39 socket_->b_transport(*transaction_, offset_);
40 transaction_->release();
45 transaction_type *transaction_;
46 sc_core::sc_time offset_;
47 tlm::tlm_fw_transport_if<TYPES> *socket_;
51 void enqueue(tlm::tlm_base_socket_if *socket, transaction_type *trans,
52 sc_core::sc_time *offset) {
54 tlm::tlm_fw_transport_if<TYPES> *socket_
55 =
dynamic_cast<tlm::tlm_fw_transport_if<TYPES> *
>(
56 socket->get_port_base().get_interface());
57#elif defined SYSTEMC_2_3_4 || defined SYSTEMC_3_0_0
58 tlm::tlm_fw_transport_if<TYPES> *socket_
59 =
dynamic_cast<tlm::tlm_fw_transport_if<TYPES> *
>(
60 socket->get_base_port().get_interface());
64 Invoker call(trans, offset, socket_);
Definition: b_transport_invoker.h:29
void enqueue(tlm::tlm_base_socket_if *socket, transaction_type *trans, sc_core::sc_time *offset)
Definition: b_transport_invoker.h:51
std::set< sc_core::sc_process_handle > InternalProcesses