Line data Source code
1 : // Copyright 2024 Accenture.
2 :
3 : #pragma once
4 :
5 : namespace os
6 : {
7 : /**
8 : * Class providing interface for synchronization between the main thread and the worker thread
9 : *
10 : *
11 : */
12 : class IFutureSupport
13 : {
14 : public:
15 : IFutureSupport(IFutureSupport const&) = delete;
16 : IFutureSupport& operator=(IFutureSupport const&) = delete;
17 1 : IFutureSupport() = default;
18 :
19 : virtual void wait() = 0;
20 : virtual void notify() = 0;
21 : virtual void assertTaskContext() = 0;
22 : virtual bool verifyTaskContext() = 0;
23 : };
24 :
25 : } /* namespace os */
|