SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
proxy_factory_port.h
Go to the documentation of this file.
1/*
2 © 2015 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_PORT_H
15#define SIMICS_SYSTEMC_AWARENESS_PROXY_FACTORY_PORT_H
16
21
22#include <string>
23
24namespace simics {
25namespace systemc {
26namespace awareness {
27
28class ProxyFactoryPort : public ProxyFactory<ProxyPort> {
29 public:
30 bool canManufacture(sc_core::sc_object *object) const override {
31 return dynamic_cast<sc_core::sc_port_base *>(object) &&
32 std::string("sc_in") != object->kind() &&
33 std::string("sc_out") != object->kind() &&
34 std::string("sc_inout") != object->kind();
35 }
36
37 void registerInterfaces(sc_core::sc_object *object,
38 conf_class_t *cls) const override {
40 registerInterface<iface::ScPortSimicsAdapter<ProxyPort> >(cls);
41 }
42};
43
44} // namespace awareness
45} // namespace systemc
46} // namespace simics
47
48#endif
Definition: proxy_factory_port.h:28
void registerInterfaces(sc_core::sc_object *object, conf_class_t *cls) const override
Definition: proxy_factory_port.h:37
bool canManufacture(sc_core::sc_object *object) const override
Definition: proxy_factory_port.h:30
Definition: proxy_factory.h:42
void registerInterfaces(sc_core::sc_object *object, conf_class_t *cls) const override
Definition: proxy_factory.h:112
Definition: adapter.h:79