openMSX
RTSchedulable.hh
Go to the documentation of this file.
1 #ifndef RTSCHEDULABLE_HH
2 #define RTSCHEDULABLE_HH
3 
4 #include <cstdint>
5 
6 namespace openmsx {
7 
8 class RTScheduler;
9 
11 {
12 public:
13  RTSchedulable(const RTSchedulable&) = delete;
14  RTSchedulable& operator=(const RTSchedulable&) = delete;
15 
16  virtual void executeRT() = 0;
17 
18  void scheduleRT(uint64_t delta);
19  bool cancelRT();
20  bool isPendingRT() const;
21 
22 protected:
23  explicit RTSchedulable(RTScheduler& scheduler);
25 
26 private:
27  RTScheduler& scheduler;
28 };
29 
30 } // namespace openmsx
31 
32 #endif
virtual void executeRT()=0
bool isPendingRT() const
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5
void scheduleRT(uint64_t delta)
RTSchedulable & operator=(const RTSchedulable &)=delete
RTSchedulable(const RTSchedulable &)=delete