39#ifndef _uhal_HwInterface_hpp_
40#define _uhal_HwInterface_hpp_
63 HwInterface (
const std::shared_ptr<ClientInterface>& aClientInterface ,
const std::shared_ptr< Node >& aNode );
86 const std::string&
uri()
const;
92 const std::string&
id()
const;
121 bool hasNode (
const std::string& aId )
const;
128 const Node&
getNode (
const std::string& aId )
const;
135 template<
typename T>
136 const T&
getNode (
const std::string& aId )
const;
142 std::vector<std::string>
getNodes()
const;
149 std::vector<std::string>
getNodes (
const std::string& aRegex )
const;
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.
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.