14#ifndef SIMICS_SYSTEMC_AWARENESS_PROXY_FACTORY_SOCKET_H
15#define SIMICS_SYSTEMC_AWARENESS_PROXY_FACTORY_SOCKET_H
18#include <tlm_utils/multi_socket_bases.h>
32template <
typename PROXY>
35 tlm::tlm_base_socket_if *
socket(sc_core::sc_object *
object)
const {
36 tlm::tlm_base_socket_if *
socket =
37 dynamic_cast<tlm::tlm_base_socket_if *
>(object);
39 socket->get_protocol_types() ==
typeid(
typename PROXY::types))
48 conf_class_t *cls)
const override {
50 if (
dynamic_cast<sc_core::sc_port_base *
>(
object)) {
55 if (
dynamic_cast<sc_core::sc_export_base *
>(
object)) {
66template <
typename TYPES>
77 if (
socket->get_socket_category() == tlm::TLM_INITIATOR_SOCKET)
80 if (
socket->get_socket_category() == tlm::TLM_MULTI_INITIATOR_SOCKET)
86 conf_class_t *cls)
const override {
97template <
typename TYPES>
108 if (
socket->get_socket_category() == tlm::TLM_TARGET_SOCKET)
111 if (
socket->get_socket_category() == tlm::TLM_MULTI_TARGET_SOCKET)
117 conf_class_t *cls)
const override {
Definition: proxy_factory_socket.h:68
bool canManufacture(sc_core::sc_object *object) const override
Definition: proxy_factory_socket.h:72
void registerInterfaces(sc_core::sc_object *object, conf_class_t *cls) const override
Definition: proxy_factory_socket.h:85
ProxyInitiatorSocket< TYPES > proxy_type
Definition: proxy_factory_socket.h:70
Definition: proxy_factory_socket.h:33
void registerInterfaces(sc_core::sc_object *object, conf_class_t *cls) const override
Definition: proxy_factory_socket.h:47
bool needUniqueConfClassName(sc_core::sc_object *object) const override
Definition: proxy_factory_socket.h:44
tlm::tlm_base_socket_if * socket(sc_core::sc_object *object) const
Definition: proxy_factory_socket.h:35
Definition: proxy_factory_socket.h:99
ProxyTargetSocket< TYPES > proxy_type
Definition: proxy_factory_socket.h:101
void registerInterfaces(sc_core::sc_object *object, conf_class_t *cls) const override
Definition: proxy_factory_socket.h:116
bool canManufacture(sc_core::sc_object *object) const override
Definition: proxy_factory_socket.h:103
Definition: proxy_factory.h:42
void registerInterface(conf_class_t *cls) const
Definition: proxy_factory.h:174
void registerInterfaces(sc_core::sc_object *object, conf_class_t *cls) const override
Definition: proxy_factory.h:112
Definition: proxy_socket.h:223
Definition: proxy_socket.h:273
Definition: sc_export_simics_adapter.h:31
Definition: sc_port_simics_adapter.h:32
Definition: sc_tlm_bw_transport_simics_adapter.h:36
Definition: sc_tlm_fw_transport_simics_adapter.h:38
Definition: provider_controller_simics_adapter.h:34