47 mClientInterface ( aClientInterface ),
56 mClientInterface ( otherHw.mClientInterface ),
57 mNode ( otherHw.mNode->clone() )
139 return mNode->getNode ( aId );
145 return mNode->hasNode ( aId );
151 return mNode->getNodes();
157 return mNode->getNodes ( aRegex );
An abstract base class for defining the interface to the various IPbus clients as well as providing t...
A class which bundles a node tree and an IPbus client interface together providing everything you nee...
std::vector< std::string > getNodes() const
Return all node IDs known to this HwInterface.
std::shared_ptr< ClientInterface > mClientInterface
A shared pointer to the IPbus client through which the transactions will be sent.
std::shared_ptr< Node > mNode
A node tree.
const Node & getNode() const
Retrieve the top-level node.
virtual ~HwInterface()
Destructor.
HwInterface(const std::shared_ptr< ClientInterface > &aClientInterface, const std::shared_ptr< Node > &aNode)
Constructor.
const std::string & id() const
Return the identifier of the target for this client.
void claimNode(Node &aNode)
A function which sets the HwInterface pointer in the Node to point to this HwInterface.
void dispatch()
Make the IPbus client issue a dispatch.
ClientInterface & getClient()
Get the underlying IPbus client.
bool hasNode(const std::string &aId) const
uint32_t getTimeoutPeriod()
A method to retrieve the timeout period currently being used.
const std::string & uri() const
Return the url of the target for this client.
void setTimeoutPeriod(const uint32_t &aTimeoutPeriod)
A method to modify the timeout period for any pending or future transactions.
A heirarchical node for navigating heirarchical firmwares.
std::vector< Node * > mChildren
The direct children of the node.
HwInterface * mHw
The parent hardware interface of which this node is a child (or rather decendent)