SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
proxy_factory_signal_port.h
Go to the documentation of this file.
1/*
2 © 2016 Intel Corporation
3
4 This software and the related documents are Intel copyrighted materials, and
5 your use of them is governed by the express license under which they were
6 provided to you ("License"). Unless the License provides otherwise, you may
7 not use, modify, copy, publish, distribute, disclose or transmit this software
8 or the related documents without Intel's prior written permission.
9
10 This software and the related documents are provided as is, with no express or
11 implied warranties, other than those that are expressly stated in the License.
12*/
13
14#ifndef SIMICS_SYSTEMC_AWARENESS_PROXY_FACTORY_SIGNAL_PORT_H
15#define SIMICS_SYSTEMC_AWARENESS_PROXY_FACTORY_SIGNAL_PORT_H
16
22
23#include <string>
24
25namespace simics {
26namespace systemc {
27namespace awareness {
28
29class ProxyFactorySignalPort : public ProxyFactory<ProxySignalPort> {
30 public:
31 void registerInterfaces(sc_core::sc_object *object,
32 conf_class_t *cls) const override {
36 ProxySignalPort> >(cls);
37 registerInterface<iface::ScPortSimicsAdapter<ProxySignalPort> >(cls);
38 }
39};
40
42 public:
43 bool canManufacture(sc_core::sc_object *object) const override {
44 return std::string("sc_in") == object->kind();
45 }
46 void registerInterfaces(sc_core::sc_object *object,
47 conf_class_t *cls) const override {
50 ProxySignalPort> >(cls);
51 }
52};
53
55 public:
56 bool canManufacture(sc_core::sc_object *object) const override {
57 return std::string("sc_out") == object->kind();
58 }
59 void registerInterfaces(sc_core::sc_object *object,
60 conf_class_t *cls) const override {
63 ProxySignalPort> >(cls);
64 }
65};
66
68 public:
69 bool canManufacture(sc_core::sc_object *object) const override {
70 return std::string("sc_inout") == object->kind();
71 }
72 void registerInterfaces(sc_core::sc_object *object,
73 conf_class_t *cls) const override {
76 ProxySignalPort> >(cls);
78 ProxySignalPort> >(cls);
79 }
80};
81
82} // namespace awareness
83} // namespace systemc
84} // namespace simics
85
86#endif
Definition: proxy_factory_signal_port.h:67
void registerInterfaces(sc_core::sc_object *object, conf_class_t *cls) const override
Definition: proxy_factory_signal_port.h:72
bool canManufacture(sc_core::sc_object *object) const override
Definition: proxy_factory_signal_port.h:69
Definition: proxy_factory_signal_port.h:41
void registerInterfaces(sc_core::sc_object *object, conf_class_t *cls) const override
Definition: proxy_factory_signal_port.h:46
bool canManufacture(sc_core::sc_object *object) const override
Definition: proxy_factory_signal_port.h:43
Definition: proxy_factory_signal_port.h:54
bool canManufacture(sc_core::sc_object *object) const override
Definition: proxy_factory_signal_port.h:56
void registerInterfaces(sc_core::sc_object *object, conf_class_t *cls) const override
Definition: proxy_factory_signal_port.h:59
Definition: proxy_factory_signal_port.h:29
void registerInterfaces(sc_core::sc_object *object, conf_class_t *cls) const override
Definition: proxy_factory_signal_port.h:31
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_signal_port.h:37
Definition: sc_signal_read_simics_adapter.h:33
Definition: sc_signal_write_simics_adapter.h:33
Definition: provider_controller_simics_adapter.h:34
Definition: adapter.h:79