PathPlannerLib
Loading...
Searching...
No Matches
Event.h
1#pragma once
2
3#include <units/time.h>
4#include <memory>
5
6namespace pathplanner {
7
8class EventScheduler;
9
10class Event {
11public:
17 constexpr Event(units::second_t timestamp) : m_timestamp(timestamp) {
18 }
19
20 virtual ~Event() {
21 }
22
28 constexpr units::second_t getTimestamp() const {
29 return m_timestamp;
30 }
31
37 constexpr void setTimestamp(units::second_t timestamp) {
38 m_timestamp = timestamp;
39 }
40
46 virtual void handleEvent(EventScheduler *eventScheduler) = 0;
47
54 virtual void cancelEvent(EventScheduler *eventScheduler) = 0;
55
62 virtual std::shared_ptr<Event> copyWithTimestamp(
63 units::second_t timestamp) = 0;
64
65private:
66 units::second_t m_timestamp;
67};
68}
Definition: EventScheduler.h:15
Definition: Event.h:10
virtual std::shared_ptr< Event > copyWithTimestamp(units::second_t timestamp)=0
constexpr Event(units::second_t timestamp)
Definition: Event.h:17
constexpr units::second_t getTimestamp() const
Definition: Event.h:28
constexpr void setTimestamp(units::second_t timestamp)
Definition: Event.h:37
virtual void cancelEvent(EventScheduler *eventScheduler)=0
virtual void handleEvent(EventScheduler *eventScheduler)=0