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

#include <runtimeRepoAdapter.hpp>

Inheritance diagram for rtctk::componentFramework::RuntimeRepoAdapter:
rtctk::componentFramework::RuntimeRepoIf rtctk::componentFramework::OldbAdapter rtctk::componentFramework::RepositoryIf rtctk::componentFramework::RepositorySubscriberIf rtctk::componentFramework::OldbIf rtctk::componentFramework::RepositoryIf rtctk::componentFramework::RepositorySubscriberIf

Public Member Functions

 RuntimeRepoAdapter ()=delete
 Do not allow construction with no arguments. More...
 
 RuntimeRepoAdapter (const RuntimeRepoAdapter &)=delete
 This class cannot be copy constructed. More...
 
RuntimeRepoAdapteroperator= (const RuntimeRepoAdapter &)=delete
 This class cannot be copy assigned. More...
 
 RuntimeRepoAdapter (RuntimeRepoAdapter &&)=default
 Objects of this class can be moved. More...
 
RuntimeRepoAdapteroperator= (RuntimeRepoAdapter &&)=default
 Objects of this class can be moved with the move assignment operator. More...
 
 RuntimeRepoAdapter (const elt::mal::Uri &baseuri)
 Constructs an adapter for the Runtime Configuration Repository service using the OLDB backend. More...
 
 RuntimeRepoAdapter (const elt::mal::Uri &baseuri, const std::shared_ptr< elt::oldb::CiiOldb > &oldb)
 Constructs an adapter for the Runtime Configuration Repository service with a specific OLDB API interface. More...
 
virtual ~RuntimeRepoAdapter ()=default
 
- Public Member Functions inherited from rtctk::componentFramework::RuntimeRepoIf
virtual ~RuntimeRepoIf ()=default
 
- Public Member Functions inherited from rtctk::componentFramework::RepositoryIf
virtual ~RepositoryIf ()
 
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...
 
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)
 
template<>
void CreateDataPoint (const DataPointPath &path, const char *default_value)
 
template<>
void SetDataPoint (const DataPointPath &path, const char *value)
 
- Public Member Functions inherited from rtctk::componentFramework::RepositorySubscriberIf
virtual ~RepositorySubscriberIf ()
 
template<typename T , typename F >
void Subscribe (const DataPointPath &path, T &buffer, F handler) const
 A convenience template function that will register a callback to receive new datapoint values in a synchronous manner. More...
 
void Unsubscribe (const DataPointPath &path) const
 A simple convenience function that will deregister all callbacks for receiving new datapoint values. More...
 
- Public Member Functions inherited from rtctk::componentFramework::OldbAdapter
 OldbAdapter ()=delete
 Do not allow construction with no arguments. More...
 
 OldbAdapter (const OldbAdapter &)=delete
 This class cannot be copy constructed. More...
 
OldbAdapteroperator= (const OldbAdapter &)=delete
 This class cannot be copy assigned. More...
 
 OldbAdapter (OldbAdapter &&)=default
 Objects of this class can be moved. More...
 
OldbAdapteroperator= (OldbAdapter &&)=default
 Objects of this class can be moved with the move assignment operator. More...
 
 OldbAdapter (const elt::mal::Uri &baseuri)
 Constructs an adapter for the OLDB service with the default OLDB API interface. More...
 
 OldbAdapter (const elt::mal::Uri &baseuri, const std::shared_ptr< elt::oldb::CiiOldb > &oldb)
 Constructs an adapter for the OLDB service with a specific OLDB API interface. More...
 
virtual ~OldbAdapter ()
 Destroys the adapter for the OLDB service releasing allocated resources. More...
 
void CreateDataPoint (const DataPointPath &path, const std::type_info &type) override
 Creates a new datapoint in the OLDB. More...
 
void DeleteDataPoint (const DataPointPath &path) override
 Deletes a datapoint in the OLDB. More...
 
const std::type_info & GetDataPointType (const DataPointPath &path) const override
 Retrieves the corresponding C++ type for the datapoint from the OLDB. More...
 
std::size_t GetDataPointSize (const DataPointPath &path) const override
 Returns the size of a datapoint in the OLDB. More...
 
bool DataPointExists (const DataPointPath &path) const override
 Checks for the existence of a datapoint in the repository. More...
 
std::pair< PathList, PathListGetChildren (const DataPointPath &path) const override
 Queries the datapoints and child paths for a given path. More...
 
Response SendReadRequest (const ReadRequest &request) const override
 Sends a request to read data from the repository. More...
 
Response SendWriteRequest (const WriteRequest &request) override
 Sends a request to write data to the repository. More...
 
Response SendSubscribeRequest (const SubscribeRequest &request) const override
 This is called to asynchronously send a subscription request for datapoints. More...
 
Response SendUnsubscribeRequest (const UnsubscribeRequest &request) const override
 This is called to asynchronously send a request to unsubscribe from various notifications. More...
 
template<typename T , typename U , typename V >
void CastAndRegisterSubscription (const SubscribeRequest::Parameters &params, const std::shared_ptr< CiiOldbTypedDataBase > &datapoint, std::function< void(T *, const std::shared_ptr< CiiOldbDpValue< U >> &)> write_function) const
 
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...
 
template<>
void CreateDataPoint (const DataPointPath &path, const char *default_value)
 
- Public Member Functions inherited from rtctk::componentFramework::OldbIf
virtual ~OldbIf ()=default
 

Static Public Member Functions

static void InitMetadata ()
 Initialises the type metadata in the CII configuration service for the Runtime Configuration Repository. More...
 
- Static Public Member Functions inherited from rtctk::componentFramework::RuntimeRepoIf
static std::unique_ptr< RuntimeRepoIfCreateAdapter (const elt::mal::Uri &uri)
 Factory method used to create the appropriate Runtime Configuration Repository adapter depending on the URI scheme. More...
 
- Static Public Member Functions inherited from rtctk::componentFramework::OldbAdapter
static void InitMetadata ()
 Initialises the type metadata in the CII configuration service for the OLDB. More...
 
- Static Public Member Functions inherited from rtctk::componentFramework::OldbIf
static std::unique_ptr< OldbIfCreateAdapter (const elt::mal::Uri &uri)
 Factory method used to create the appropriate OLDB adapter depending on the URI scheme. More...
 

Additional Inherited Members

- Public Types inherited from rtctk::componentFramework::RepositoryIf
using PathList = std::vector< DataPointPath >
 
- Protected Member Functions inherited from rtctk::componentFramework::OldbAdapter
void SetMetadataInstanceMap (const std::map< std::type_index, std::string > &map)
 Sets the type_index to OLDB metadata instance name map. More...
 
void SetTypeInfoMap (const std::map< std::string, const std::type_info & > &map)
 Sets the OLDB metadata instance name to type_info map. More...
 

Constructor & Destructor Documentation

◆ RuntimeRepoAdapter() [1/5]

rtctk::componentFramework::RuntimeRepoAdapter::RuntimeRepoAdapter ( )
delete

Do not allow construction with no arguments.

◆ RuntimeRepoAdapter() [2/5]

rtctk::componentFramework::RuntimeRepoAdapter::RuntimeRepoAdapter ( const RuntimeRepoAdapter )
delete

This class cannot be copy constructed.

◆ RuntimeRepoAdapter() [3/5]

rtctk::componentFramework::RuntimeRepoAdapter::RuntimeRepoAdapter ( RuntimeRepoAdapter &&  )
default

Objects of this class can be moved.

◆ RuntimeRepoAdapter() [4/5]

rtctk::componentFramework::RuntimeRepoAdapter::RuntimeRepoAdapter ( const elt::mal::Uri &  baseuri)
explicit

Constructs an adapter for the Runtime Configuration Repository service using the OLDB backend.

Parameters
[in]baseuriThe URI containing a base path where the datapoints are stored. The URI must use the cii.oldb scheme.

◆ RuntimeRepoAdapter() [5/5]

rtctk::componentFramework::RuntimeRepoAdapter::RuntimeRepoAdapter ( const elt::mal::Uri &  baseuri,
const std::shared_ptr< elt::oldb::CiiOldb > &  oldb 
)
explicit

Constructs an adapter for the Runtime Configuration Repository service with a specific OLDB API interface.

Parameters
[in]baseuriThe URI containing a base path where the datapoints are stored. The URI must use the cii.oldb scheme.
[in]oldbThe OLDB API client object to use under the hood.

◆ ~RuntimeRepoAdapter()

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

Member Function Documentation

◆ InitMetadata()

void rtctk::componentFramework::RuntimeRepoAdapter::InitMetadata ( )
static

Initialises the type metadata in the CII configuration service for the Runtime Configuration Repository.

Metadata related to various data types needs to be initialised in the CII configuration service before the RuntimeRepoAdapter can be used with the standard types supported by the RTC Toolkit. This function will initialise the needed metadata if it is missing. If the metadata for the types already exists then this function will reset it to the default initial values.

Exceptions
InitialisationExceptionFor any error that occurs in the CII system.

◆ operator=() [1/2]

RuntimeRepoAdapter& rtctk::componentFramework::RuntimeRepoAdapter::operator= ( const RuntimeRepoAdapter )
delete

This class cannot be copy assigned.

◆ operator=() [2/2]

RuntimeRepoAdapter& rtctk::componentFramework::RuntimeRepoAdapter::operator= ( RuntimeRepoAdapter &&  )
default

Objects of this class can be moved with the move assignment operator.


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