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 */