16#ifndef SIMICS_SYSTEMC_AWARENESS_PROXY_FACTORY_SOCKET_H
17#define SIMICS_SYSTEMC_AWARENESS_PROXY_FACTORY_SOCKET_H
20#include <tlm_utils/multi_socket_bases.h>
34template <
typename PROXY>
37 tlm::tlm_base_socket_if *
socket(sc_core::sc_object *
object)
const {
38 tlm::tlm_base_socket_if *
socket =
39 dynamic_cast<tlm::tlm_base_socket_if *
>(object);
41 socket->get_protocol_types() ==
typeid(
typename PROXY::types))
50 conf_class_t *cls)
const {
52 if (
dynamic_cast<sc_core::sc_port_base *
>(
object)) {
57 if (
dynamic_cast<sc_core::sc_export_base *
>(
object)) {
68template <
typename TYPES>
79 if (
socket->get_socket_category() == tlm::TLM_INITIATOR_SOCKET)
82 if (
socket->get_socket_category() == tlm::TLM_MULTI_INITIATOR_SOCKET)
88 conf_class_t *cls)
const {
99template <
typename TYPES>
110 if (
socket->get_socket_category() == tlm::TLM_TARGET_SOCKET)
113 if (
socket->get_socket_category() == tlm::TLM_MULTI_TARGET_SOCKET)
119 conf_class_t *cls)
const {
Definition: proxy_factory_socket.h:70
void registerInterfaces(sc_core::sc_object *object, conf_class_t *cls) const
Definition: proxy_factory_socket.h:87
bool canManufacture(sc_core::sc_object *object) const
Definition: proxy_factory_socket.h:74
ProxyInitiatorSocket< TYPES > proxy_type
Definition: proxy_factory_socket.h:72
Definition: proxy_factory_socket.h:35
void registerInterfaces(sc_core::sc_object *object, conf_class_t *cls) const
Definition: proxy_factory_socket.h:49
virtual bool needUniqueConfClassName(sc_core::sc_object *object) const
Definition: proxy_factory_socket.h:46
tlm::tlm_base_socket_if * socket(sc_core::sc_object *object) const
Definition: proxy_factory_socket.h:37
Definition: proxy_factory_socket.h:101
bool canManufacture(sc_core::sc_object *object) const
Definition: proxy_factory_socket.h:105
ProxyTargetSocket< TYPES > proxy_type
Definition: proxy_factory_socket.h:103
void registerInterfaces(sc_core::sc_object *object, conf_class_t *cls) const
Definition: proxy_factory_socket.h:118
Definition: proxy_factory.h:44
virtual void registerInterfaces(sc_core::sc_object *object, conf_class_t *cls) const
Definition: proxy_factory.h:117
void registerInterface(conf_class_t *cls) const
Definition: proxy_factory.h:179
Definition: proxy_socket.h:200
Definition: proxy_socket.h:242
Definition: sc_export_simics_adapter.h:33
Definition: sc_port_simics_adapter.h:33
Definition: sc_tlm_bw_transport_simics_adapter.h:38
Definition: sc_tlm_fw_transport_simics_adapter.h:40
Definition: provider_controller_simics_adapter.h:36
Definition: pci_bus_interface.h:24