@@ -191,6 +191,18 @@ struct LogStorageResources
191
191
PriorityLevel::Invalid; // Log priority level associated with the resources provided in this structure.
192
192
};
193
193
194
+ /* *
195
+ * @brief
196
+ * A EventScheduler to schedule deliveries of events.
197
+ */
198
+
199
+ class EventScheduler
200
+ {
201
+ public:
202
+ virtual ~EventScheduler () = default ;
203
+ CHIP_ERROR virtual ScheduleEventDelivery (ConcreteEventPath & aPath, uint32_t aBytesWritten) = 0;
204
+ };
205
+
194
206
/* *
195
207
* @brief
196
208
* A class for managing the in memory event logs. See documentation at the
@@ -225,6 +237,9 @@ class EventManagement : public DataModel::EventsGenerator
225
237
* @param[in] aMonotonicStartupTime Time we should consider as "monotonic
226
238
* time 0" for cases when we use
227
239
* system-time event timestamps.
240
+ *
241
+ * @param[in] apEventScheduler Scheduler to deliver the event, default is the reporting
242
+ * engine in InteractionModelEngine.
228
243
*
229
244
* @param[in] apEventScheduler Scheduler to deliver the event, default is the reporting
230
245
* engine in InteractionModelEngine.
@@ -233,7 +248,8 @@ class EventManagement : public DataModel::EventsGenerator
233
248
void Init (Messaging::ExchangeManager * apExchangeManager, uint32_t aNumBuffers, CircularEventBuffer * apCircularEventBuffer,
234
249
const LogStorageResources * const apLogStorageResources,
235
250
MonotonicallyIncreasingCounter<EventNumber> * apEventNumberCounter,
236
- System::Clock::Milliseconds64 aMonotonicStartupTime, EventScheduler * apEventScheduler = nullptr );
251
+ System::Clock::Milliseconds64 aMonotonicStartupTime,
252
+ EventScheduler* apEventScheduler = nullptr );
237
253
238
254
static EventManagement & GetInstance ();
239
255
@@ -568,7 +584,7 @@ class EventManagement : public DataModel::EventsGenerator
568
584
569
585
System::Clock::Milliseconds64 mMonotonicStartupTime ;
570
586
571
- EventScheduler * mpEventScheduler = nullptr ;
587
+ EventScheduler* mpEventScheduler = nullptr ;
572
588
};
573
589
574
590
} // namespace app
0 commit comments