port.hh (13771:10d990934f15) port.hh (13782:9f6654f478e2)
1/*
2 * Copyright (c) 2011-2012,2015,2017 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 49 unchanged lines hidden (view full) ---

58 * Ports are used to interface objects to each other.
59 */
60class Port
61{
62
63 private:
64
65 /** Descriptive name (for DPRINTF output) */
1/*
2 * Copyright (c) 2011-2012,2015,2017 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 49 unchanged lines hidden (view full) ---

58 * Ports are used to interface objects to each other.
59 */
60class Port
61{
62
63 private:
64
65 /** Descriptive name (for DPRINTF output) */
66 std::string portName;
66 const std::string portName;
67
68 protected:
69
70 /**
71 * A numeric identifier to distinguish ports in a vector, and set
72 * to InvalidPortID in case this port is not part of a vector.
73 */
74 const PortID id;
67
68 protected:
69
70 /**
71 * A numeric identifier to distinguish ports in a vector, and set
72 * to InvalidPortID in case this port is not part of a vector.
73 */
74 const PortID id;
75 /**
76 * Whether this port is currently connected to a peer port.
77 */
78 bool _connected;
75
76 /**
77 * Abstract base class for ports
78 *
79 * @param _name Port name including the owners name
80 * @param _id A port identifier for vector ports
81 */
82 Port(const std::string& _name, PortID _id);

--- 6 unchanged lines hidden (view full) ---

89 public:
90
91 /** Return port name (for DPRINTF). */
92 const std::string name() const { return portName; }
93
94 /** Get the port id. */
95 PortID getId() const { return id; }
96
79
80 /**
81 * Abstract base class for ports
82 *
83 * @param _name Port name including the owners name
84 * @param _id A port identifier for vector ports
85 */
86 Port(const std::string& _name, PortID _id);

--- 6 unchanged lines hidden (view full) ---

93 public:
94
95 /** Return port name (for DPRINTF). */
96 const std::string name() const { return portName; }
97
98 /** Get the port id. */
99 PortID getId() const { return id; }
100
101 /** Attach to a peer port. */
102 virtual void bind(Port &peer) = 0;
103
104 /** Dettach from a peer port. */
105 virtual void unbind() = 0;
106
107 /** Is this port currently connected to a peer? */
108 bool isConnected() const { return _connected; }
97};
98
99#endif //__SIM_PORT_HH__
109};
110
111#endif //__SIM_PORT_HH__