13#ifndef RTCTK_COMPONENTFRAMEWORK_TEST_FAKEREPOSITORYSUBSCRIBER_HPP
14#define RTCTK_COMPONENTFRAMEWORK_TEST_FAKEREPOSITORYSUBSCRIBER_HPP
This class provides a wrapper for a data point path.
Definition dataPointPath.hpp:74
std::function< void(const DataPointPath &)> CallbackType
Signature of the callback functions that can be registered with the repository requests.
Definition repositoryIf.hpp:114
Abstract interface providing I/O and additional subscription facilities for a repository.
Definition repositorySubscriberIf.hpp:27
std::function< void(std::exception_ptr)> ErrorCallbackType
Definition repositorySubscriberIf.hpp:49
std::function< void(const DataPointPath &, const MetaData &)> NotifyCallbackType
Definition repositorySubscriberIf.hpp:48
size_t SubscriptionId
Definition repositorySubscriberIf.hpp:51
Definition requestDispatcher.hpp:37
Definition requestDispatcher.hpp:31
A simple fake implementation of RepositorySubscriberIf to allow testing the interactions and callback...
Definition fakeRepositorySubscriber.hpp:28
FakeRepositorySubscriber()=default
void InvokeRequestHandler(std::any &request) override
Definition fakeRepositorySubscriber.cpp:143
void ExistsImpl(detail::ExistsRequest &req)
Definition fakeRepositorySubscriber.cpp:61
static RequestDispatcher< FakeRepositorySubscriber >::TableEntries BindTypeHandlers()
void GetChildrenImpl(detail::GetChildrenRequest &req)
Definition fakeRepositorySubscriber.cpp:65
void InvokeDeleteCallbacks(const DataPointPath &)
Definition fakeRepositorySubscriber.cpp:212
void PartialWriteImpl(detail::PartialWriteRequest< T > &req)
Definition fakeRepositorySubscriber.cpp:43
void UnsubscribeImpl(detail::UnsubscribeRequest &req)
Definition fakeRepositorySubscriber.cpp:100
virtual ~FakeRepositorySubscriber()=default
void CreateImpl(detail::CreateRequest< T > &req)
Definition fakeRepositorySubscriber.cpp:21
void WriteMetaDataImpl(detail::WriteMetaDataRequest &req)
Definition fakeRepositorySubscriber.cpp:52
void InvokeCreateCallbacks(const DataPointPath &)
Definition fakeRepositorySubscriber.cpp:190
void ReadMetaDataImpl(detail::ReadMetaDataRequest &req)
Definition fakeRepositorySubscriber.cpp:48
static const RequestDispatcher< FakeRepositorySubscriber > S_REQUEST_DISPATCHER
Definition fakeRepositorySubscriber.hpp:95
void WriteImpl(detail::WriteRequest< T > &req)
Definition fakeRepositorySubscriber.cpp:32
void InvokeWriteCallbacks(const DataPointPath &)
Definition fakeRepositorySubscriber.cpp:147
void CreateLinkImpl(detail::CreateSymlinkRequest &req)
Definition fakeRepositorySubscriber.cpp:69
std::list< ValueSubscription > m_value_subscriptions
Definition fakeRepositorySubscriber.hpp:89
void CreateDeleteSubscribeImpl(detail::CreateDeleteSubscribeRequest &req)
Definition fakeRepositorySubscriber.cpp:136
void PartialReadImpl(detail::PartialReadRequest< T > &req)
Definition fakeRepositorySubscriber.cpp:38
void DeleteImpl(detail::DeleteRequest &req)
Definition fakeRepositorySubscriber.cpp:56
void UpdateLinkImpl(detail::UpdateSymlinkRequest &req)
Definition fakeRepositorySubscriber.cpp:74
void SubscribeImpl(detail::ValueSubscribeRequest &req)
Definition fakeRepositorySubscriber.cpp:93
void ReadImpl(detail::ReadRequest< T > &req)
Definition fakeRepositorySubscriber.cpp:27
std::list< CreateDeleteSubscription > m_create_delete_subscriptions
Definition fakeRepositorySubscriber.hpp:90
Implementation of an in-memory fake repository for testing.
Definition fakeRepository.hpp:26
Header file for an in-memory fake RepositoryIf.
Definition fakeClock.cpp:15
elt::mal::future< std::string > InjectReqRepEvent(StateMachineEngine &engine)
Definition malEventInjector.hpp:23
Header file for RepositorySubscriberIf and related base classes.
Definition repositorySubscriberIf.ipp:34
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 repositorySubscriberIf.ipp:41
Definition repositoryIf.ipp:124
Definition repositorySubscriberIf.ipp:27
Definition repositoryIf.ipp:77
Definition fakeRepositorySubscriber.hpp:78
CallbackType cb_created
Definition fakeRepositorySubscriber.hpp:81
std::atomic< size_t > cb_error_busy
Definition fakeRepositorySubscriber.hpp:86
std::atomic< size_t > cb_created_busy
Definition fakeRepositorySubscriber.hpp:84
std::atomic< size_t > cb_deleted_busy
Definition fakeRepositorySubscriber.hpp:85
ErrorCallbackType cb_error
Definition fakeRepositorySubscriber.hpp:83
SubscriptionId id
Definition fakeRepositorySubscriber.hpp:80
CallbackType cb_deleted
Definition fakeRepositorySubscriber.hpp:82
CreateDeleteSubscription(SubscriptionId, CallbackType, CallbackType, ErrorCallbackType)
Definition fakeRepositorySubscriber.cpp:85
Definition fakeRepositorySubscriber.hpp:65
std::atomic< size_t > cb_error_busy
Definition fakeRepositorySubscriber.hpp:75
SubscriptionId id
Definition fakeRepositorySubscriber.hpp:70
DataPointPath path
Definition fakeRepositorySubscriber.hpp:71
ErrorCallbackType cb_error
Definition fakeRepositorySubscriber.hpp:73
ValueSubscription(SubscriptionId, const DataPointPath &, NotifyCallbackType, ErrorCallbackType)
Definition fakeRepositorySubscriber.cpp:78
NotifyCallbackType cb_value
Definition fakeRepositorySubscriber.hpp:72
std::atomic< size_t > cb_value_busy
Definition fakeRepositorySubscriber.hpp:74