RTC Toolkit 5.0.0
Loading...
Searching...
No Matches
fakeRepositorySubscriber.hpp
Go to the documentation of this file.
1
13#ifndef RTCTK_COMPONENTFRAMEWORK_TEST_FAKEREPOSITORYSUBSCRIBER_HPP
14#define RTCTK_COMPONENTFRAMEWORK_TEST_FAKEREPOSITORYSUBSCRIBER_HPP
15
18
20
28 virtual public FakeRepository {
29public:
31 virtual ~FakeRepositorySubscriber() = default;
32
33protected:
34 template <typename T>
36
37 template <typename T>
39
40 template <typename T>
42
43 template <typename T>
45
46 template <typename T>
48
59 void InvokeRequestHandler(std::any& request) override;
60
64
77
88
89 std::list<ValueSubscription> m_value_subscriptions;
90 std::list<CreateDeleteSubscription> m_create_delete_subscriptions;
91
92 template <typename T>
94
96};
97
98} // namespace rtctk::componentFramework::test
99
100#endif // 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:31
A simple fake implementation of RepositorySubscriberIf to allow testing the interactions and callback...
Definition fakeRepositorySubscriber.hpp:28
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
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:41
Definition repositorySubscriberIf.ipp:27
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
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