13#ifndef RTCTK_COMPONENTFRAMEWORK_TEST_FAKEREPOSITORY_HPP
14#define RTCTK_COMPONENTFRAMEWORK_TEST_FAKEREPOSITORY_HPP
62 template <
typename Request>
69 std::optional<std::reference_wrapper<MetaData>>& metadata,
74 const gsl::span<const T>& data,
92 std::map<DataPointPath, Data>
m_data;
This class provides a wrapper for a data point path.
Definition dataPointPath.hpp:74
Definition repositoryIf.hpp:920
Abstract interface providing basic read and write facilities to a repository.
Definition repositoryIf.hpp:104
std::vector< std::any > RequestList
Definition repositoryIf.hpp:106
Definition requestDispatcher.hpp:37
Definition requestDispatcher.hpp:31
Implementation of an in-memory fake repository for testing.
Definition fakeRepository.hpp:26
void DeleteImpl(detail::DeleteRequest &req)
Definition fakeRepository.cpp:163
void WriteMetaDataImpl(detail::WriteMetaDataRequest &req)
Definition fakeRepository.cpp:153
virtual void InvokeRequestHandler(std::any &request)
Definition fakeRepository.cpp:440
void CreateLinkImpl(detail::CreateSymlinkRequest &req)
Definition fakeRepository.cpp:264
Data & CreateNewDataNode(const DataPointPath &path)
Definition fakeRepository.cpp:418
BatchResponse ProcessRequests(const RequestList &requests) override
Definition fakeRepository.cpp:445
virtual ~FakeRepository()
Definition fakeRepository.cpp:51
void ReadData(Data &data_node, const DataPointPath &path, gsl::span< T > &data, std::optional< std::reference_wrapper< MetaData > > &metadata, size_t offset)
Definition fakeRepository.cpp:300
void UpdateLinkImpl(detail::UpdateSymlinkRequest &req)
Definition fakeRepository.cpp:277
std::mutex m_mutex
Mutex for synchronising access to m_data.
Definition fakeRepository.hpp:90
void PartialWriteImpl(detail::PartialWriteRequest< T > &req)
Definition fakeRepository.cpp:132
void ReadMetaData(const DataPointPath &path, MetaData &metadata, bool check_sequence_id=false)
Definition fakeRepository.cpp:365
void ExistsImpl(detail::ExistsRequest &req)
Definition fakeRepository.cpp:175
void WriteData(const DataPointPath &path, const gsl::span< const T > &data, const MetaData &metadata, size_t offset)
Definition fakeRepository.cpp:321
static const RequestDispatcher< FakeRepository > S_REQUEST_DISPATCHER
Definition fakeRepository.hpp:97
void PartialReadImpl(detail::PartialReadRequest< T > &req)
Definition fakeRepository.cpp:113
DataPointPath ResolvePath(const DataPointPath &path)
Definition fakeRepository.cpp:407
void CreateImpl(detail::CreateRequest< T > &req)
Definition fakeRepository.cpp:55
void WriteImpl(detail::WriteRequest< T > &req)
Definition fakeRepository.cpp:102
std::map< DataPointPath, Data > m_data
Definition fakeRepository.hpp:92
void InvokeCallback(const Request &req) const
Definition fakeRepository.cpp:292
void ReadImpl(detail::ReadRequest< T > &req)
Definition fakeRepository.cpp:86
void WriteMetaData(Data &data_node, const MetaData &metadata)
Definition fakeRepository.cpp:397
Data & GetDataNode(const DataPointPath &path)
Definition fakeRepository.cpp:426
std::pair< PathList, PathList > GetChildrenImpl(const DataPointPath &path)
Definition fakeRepository.cpp:187
void CheckDataNodeExists(const DataPointPath &path)
Definition fakeRepository.cpp:434
void ReadMetaDataImpl(detail::ReadMetaDataRequest &req)
Definition fakeRepository.cpp:145
std::pair< PathList, PathList > GetChildrenRecursive(const DataPointPath &path)
Definition fakeRepository.cpp:215
FakeRepository()
Definition fakeRepository.cpp:48
static RequestDispatcher< FakeRepository >::TableEntries BindTypeHandlers()
Definition fakeClock.cpp:15
elt::mal::future< std::string > InjectReqRepEvent(StateMachineEngine &engine)
Definition malEventInjector.hpp:23
Header file for RepositoryIf and related base classes.
Header file for the RequestDispatcher utility class.
Definition repositoryIf.ipp:36
Definition repositoryIf.ipp:118
Definition repositoryIf.ipp:44
Definition repositoryIf.ipp:49
Definition repositoryIf.ipp:55
Definition repositoryIf.ipp:86
Definition repositoryIf.ipp:97
Definition repositoryIf.ipp:63
Definition repositoryIf.ipp:124
Definition repositoryIf.ipp:77
Definition fakeRepository.hpp:32
MetaData metadata
Definition fakeRepository.hpp:34
std::any value
Definition fakeRepository.hpp:33