RTC Toolkit  1.0.0
Public Member Functions | Static Public Member Functions | List of all members
rtctk::componentFramework::PersistentRepoIf Class Reference

#include <persistentRepoIf.hpp>

Inheritance diagram for rtctk::componentFramework::PersistentRepoIf:
rtctk::componentFramework::RepositoryIf rtctk::componentFramework::FilePersistentRepoAdapter rtctk::componentFramework::PersistentRepoAdapter

Public Member Functions

virtual ~PersistentRepoIf ()=default
 
- Public Member Functions inherited from rtctk::componentFramework::RepositoryIf
virtual ~RepositoryIf ()
 
virtual void CreateDataPoint (const DataPointPath &path, const std::type_info &type)=0
 Creates a new datapoint in the repository with a specified type. More...
 
template<typename T >
void CreateDataPoint (const DataPointPath &path)
 Creates a new datapoint in the repository. More...
 
template<typename T >
void CreateDataPoint (const DataPointPath &path, const T default_value)
 Creates a new datapoint in the repository and sets a default value. More...
 
virtual void DeleteDataPoint (const DataPointPath &path)=0
 Deletes a datapoint. More...
 
virtual const std::type_info & GetDataPointType (const DataPointPath &path) const =0
 Fetches the type of the datapoint. More...
 
virtual size_t GetDataPointSize (const DataPointPath &path) const =0
 Fetches the size of the datapoint's data. More...
 
virtual bool DataPointExists (const DataPointPath &path) const =0
 Checks for the existence of a datapoint in the repository. More...
 
virtual std::pair< StringList, StringListGetChildren (const DataPointPath &path) const =0
 Queries the datapoints and child paths for a given path. More...
 
template<typename T >
GetDataPoint (const DataPointPath &path) const
 Fetches a datapoint from the repository. More...
 
template<typename T >
void SetDataPoint (const DataPointPath &path, const T value)
 Sets a datapoint in the repository. More...
 
template<typename T >
void ReadDataPoint (const DataPointPath &path, T &buffer) const
 Reads a datapoint from the repository. More...
 
template<typename T >
void WriteDataPoint (const DataPointPath &path, const T &buffer)
 Writes a datapoint to the repository. More...
 
void WriteDataPoint (const DataPointPath &path, const char *buffer)
 
virtual Response SendReadRequest (const Request &request) const =0
 Sends a request to read data from the repository. More...
 
virtual Response SendWriteRequest (const Request &request)=0
 Sends a request to write data to the repository. More...
 
template<>
void CreateDataPoint (const DataPointPath &path, const char *default_value)
 
template<>
void SetDataPoint (const DataPointPath &path, const char *value)
 

Static Public Member Functions

static std::unique_ptr< PersistentRepoIfCreateAdapter (const elt::mal::Uri &uri)
 Factory method used to create the appropriate Persistent Configuration Repository adapter depending on the URI scheme. More...
 

Additional Inherited Members

- Public Types inherited from rtctk::componentFramework::RepositoryIf
using StringList = std::vector< std::string >
 

Constructor & Destructor Documentation

◆ ~PersistentRepoIf()

virtual rtctk::componentFramework::PersistentRepoIf::~PersistentRepoIf ( )
virtualdefault

Member Function Documentation

◆ CreateAdapter()

std::unique_ptr< PersistentRepoIf > rtctk::componentFramework::PersistentRepoIf::CreateAdapter ( const elt::mal::Uri &  uri)
static

Factory method used to create the appropriate Persistent Configuration Repository adapter depending on the URI scheme.

The URI schemes supported by the factory method include the following:

  • cii.config - Will create an instance of PersistentRepoAdapter, which is backed by the CII configuration service.
  • file - Will create an instance of FilePersistentRepoAdapter to access a simple file based repository suitable for testing.
Parameters
[in]uriThe URI of the repository that needs to be accessed.
Returns
A unique pointer to the newly created adapter object. The caller must clean the object up once it is no longer needed.
Thread Safety
thread-safe
Exception Safety
basic

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