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__ |