Public Types | Protected Types | Protected Attributes | List of all members
hardware_interface::ResourceManager< ResourceHandle > Class Template Reference

Class for handling named resources. More...

#include <resource_manager.h>

Inheritance diagram for hardware_interface::ResourceManager< ResourceHandle >:
Inheritance graph
[legend]

Public Types

typedef ResourceManager< ResourceHandle > resource_manager_type
 

Protected Types

typedef std::map< std::string, ResourceHandle > ResourceMap
 

Protected Attributes

ResourceMap resource_map_
 

Non Real-Time Safe Functions

virtual ~ResourceManager ()
 
std::vector< std::string > getNames () const
 
void registerHandle (const ResourceHandle &handle)
 Register a new resource. If the resource name already exists, the previously stored resource value will be replaced with val. More...
 
ResourceHandle getHandle (const std::string &name)
 Get a resource handle by name. More...
 
static void concatManagers (std::vector< resource_manager_type * > &managers, resource_manager_type *result)
 Combine a list of interfaces into one. More...
 

Additional Inherited Members

- Public Member Functions inherited from hardware_interface::ResourceManagerBase
virtual ~ResourceManagerBase ()
 

Detailed Description

template<class ResourceHandle>
class hardware_interface::ResourceManager< ResourceHandle >

Class for handling named resources.

Resources are encapsulated inside handle instances, and this class allows to register and get them by name.

Template Parameters
ResourceHandleResource handle type. Must implement the following method:
std::string getName() const;

Definition at line 69 of file resource_manager.h.

Member Typedef Documentation

template<class ResourceHandle>
typedef ResourceManager<ResourceHandle> hardware_interface::ResourceManager< ResourceHandle >::resource_manager_type

Definition at line 72 of file resource_manager.h.

template<class ResourceHandle>
typedef std::map<std::string, ResourceHandle> hardware_interface::ResourceManager< ResourceHandle >::ResourceMap
protected

Definition at line 152 of file resource_manager.h.

Constructor & Destructor Documentation

template<class ResourceHandle>
virtual hardware_interface::ResourceManager< ResourceHandle >::~ResourceManager ( )
inlinevirtual

Definition at line 76 of file resource_manager.h.

Member Function Documentation

template<class ResourceHandle>
static void hardware_interface::ResourceManager< ResourceHandle >::concatManagers ( std::vector< resource_manager_type * > &  managers,
resource_manager_type result 
)
inlinestatic

Combine a list of interfaces into one.

Every registered handle in each of the managers is registered into the result interface

Parameters
managersThe list of resource managers to be combined.
resultThe interface where all the handles will be registered.
Returns
Resource associated to name. If the resource name is not found, an exception is thrown.

Definition at line 136 of file resource_manager.h.

template<class ResourceHandle>
ResourceHandle hardware_interface::ResourceManager< ResourceHandle >::getHandle ( const std::string &  name)
inline

Get a resource handle by name.

Parameters
nameResource name.
Returns
Resource associated to name. If the resource name is not found, an exception is thrown.

Definition at line 115 of file resource_manager.h.

template<class ResourceHandle>
std::vector<std::string> hardware_interface::ResourceManager< ResourceHandle >::getNames ( ) const
inline
Returns
Vector of resource names registered to this interface.

Definition at line 79 of file resource_manager.h.

template<class ResourceHandle>
void hardware_interface::ResourceManager< ResourceHandle >::registerHandle ( const ResourceHandle &  handle)
inline

Register a new resource. If the resource name already exists, the previously stored resource value will be replaced with val.

Parameters
handleResource value. Its type should implement a std::string getName() method.

Definition at line 95 of file resource_manager.h.

Member Data Documentation

template<class ResourceHandle>
ResourceMap hardware_interface::ResourceManager< ResourceHandle >::resource_map_
protected

Definition at line 153 of file resource_manager.h.


The documentation for this class was generated from the following file:


hardware_interface
Author(s): Wim Meeussen, Adolfo Rodriguez Tsouroukdissian
autogenerated on Fri Jun 7 2019 22:00:03