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