Skip to content

Commit 1ae9ce9

Browse files
kegilbertadbridge
authored andcommitted
Finish basic examples for all eventqueue methods
1 parent 693f0bd commit 1ae9ce9

File tree

1 file changed

+89
-48
lines changed

1 file changed

+89
-48
lines changed

events/EventQueue.h

Lines changed: 89 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -205,12 +205,10 @@ class EventQueue : private mbed::NonCopyable<EventQueue> {
205205
* int main() {
206206
* // creates a queue with the default size
207207
* EventQueue queue;
208-
*
208+
*
209209
* // events are simple callbacks
210210
* queue.call(printf, "called immediately\n");
211-
* queue.call_in(2000, printf, "called in 2 seconds\n");
212-
* queue.call_every(1000, printf, "called every 1 seconds\n");
213-
*
211+
*
214212
* // events are executed by the dispatch method
215213
* queue.dispatch();
216214
* }
@@ -237,15 +235,27 @@ class EventQueue : private mbed::NonCopyable<EventQueue> {
237235
* executing.
238236
*
239237
* @code
238+
* class EventHandler {
239+
* int _id;
240+
* public:
241+
* EventHandler(int id) : _id(id) { }
242+
*
243+
* void handler(int c) {
244+
* printf("ID: %d Param: %d\r\n", _id, c);
245+
* }
246+
* };
247+
*
240248
* int main() {
241249
* // creates a queue with the default size
242250
* EventQueue queue;
243-
*
244-
* // events are simple callbacks
245-
* queue.call(printf, "called immediately\n");
246-
* queue.call_in(2000, printf, "called in 2 seconds\n");
247-
* queue.call_every(1000, printf, "called every 1 seconds\n");
248-
*
251+
*
252+
* // Create EventHandler object with state
253+
* EventHandler handler_cb(1);
254+
*
255+
* // events are simple callbacks, call object method
256+
* // with provided parameter
257+
* queue.call(&handler_cb, &EventHandler::handler, 2);
258+
*
249259
* // events are executed by the dispatch method
250260
* queue.dispatch();
251261
* }
@@ -272,12 +282,10 @@ class EventQueue : private mbed::NonCopyable<EventQueue> {
272282
* int main() {
273283
* // creates a queue with the default size
274284
* EventQueue queue;
275-
*
285+
*
276286
* // events are simple callbacks
277-
* queue.call(printf, "called immediately\n");
278287
* queue.call_in(2000, printf, "called in 2 seconds\n");
279-
* queue.call_every(1000, printf, "called every 1 seconds\n");
280-
*
288+
*
281289
* // events are executed by the dispatch method
282290
* queue.dispatch();
283291
* }
@@ -303,15 +311,27 @@ class EventQueue : private mbed::NonCopyable<EventQueue> {
303311
* enough memory to allocate the event.
304312
*
305313
* @code
314+
* class EventHandler {
315+
* int _id;
316+
* public:
317+
* EventHandler(int id) : _id(id) { }
318+
*
319+
* void handler(int c) {
320+
* printf("ID: %d Param: %d\r\n", _id, c);
321+
* }
322+
* };
323+
*
306324
* int main() {
307325
* // creates a queue with the default size
308326
* EventQueue queue;
309-
*
310-
* // events are simple callbacks
311-
* queue.call(printf, "called immediately\n");
312-
* queue.call_in(2000, printf, "called in 2 seconds\n");
313-
* queue.call_every(1000, printf, "called every 1 seconds\n");
314-
*
327+
*
328+
* // Create EventHandler object with state
329+
* EventHandler handler_cb(3);
330+
*
331+
* // events are simple callbacks, call object method in 2 seconds
332+
* // with provided parameter
333+
* queue.call_in(2000, &handler_cb, &EventHandler::handler, 4);
334+
*
315335
* // events are executed by the dispatch method
316336
* queue.dispatch();
317337
* }
@@ -339,15 +359,23 @@ class EventQueue : private mbed::NonCopyable<EventQueue> {
339359
* enough memory to allocate the event.
340360
*
341361
* @code
362+
* class EventHandler {
363+
* int _id;
364+
* public:
365+
* EventHandler(int id) : _id(id) { }
366+
*
367+
* void handler(int c) {
368+
* printf("ID: %d Param: %d\r\n", _id, c);
369+
* }
370+
* };
371+
*
342372
* int main() {
343373
* // creates a queue with the default size
344374
* EventQueue queue;
345-
*
346-
* // events are simple callbacks
347-
* queue.call(printf, "called immediately\n");
348-
* queue.call_in(2000, printf, "called in 2 seconds\n");
349-
* queue.call_every(1000, printf, "called every 1 seconds\n");
350-
*
375+
*
376+
* // events are simple callbacks, call every 2 seconds
377+
* queue.call_every(2000, printf, "Calling every 2 seconds\n");
378+
*
351379
* // events are executed by the dispatch method
352380
* queue.dispatch();
353381
* }
@@ -373,15 +401,27 @@ class EventQueue : private mbed::NonCopyable<EventQueue> {
373401
* @param args Arguments to pass to the callback
374402
*
375403
* @code
404+
* class EventHandler {
405+
* int _id;
406+
* public:
407+
* EventHandler(int id) : _id(id) { }
408+
*
409+
* void handler(int c) {
410+
* printf("ID: %d Param: %d\r\n", _id, c);
411+
* }
412+
* };
413+
*
376414
* int main() {
377415
* // creates a queue with the default size
378416
* EventQueue queue;
379-
*
380-
* // events are simple callbacks
381-
* queue.call(printf, "called immediately\n");
382-
* queue.call_in(2000, printf, "called in 2 seconds\n");
383-
* queue.call_every(1000, printf, "called every 1 seconds\n");
384-
*
417+
*
418+
* // Create EventHandler object with state
419+
* EventHandler handler_cb(5);
420+
*
421+
* // events are simple callbacks, call object method every 2 seconds
422+
* // with provided parameter
423+
* queue.call_every(2000, &handler_cb, &EventHandler::handler, 6);
424+
*
385425
* // events are executed by the dispatch method
386426
* queue.dispatch();
387427
* }
@@ -410,19 +450,19 @@ class EventQueue : private mbed::NonCopyable<EventQueue> {
410450
* printf("Param: %d\r\n", c);
411451
* }
412452
*
413-
* EventQueue q;
414-
*
415453
* int main()
416454
* {
455+
* EventQueue queue;
456+
*
417457
* // Create event with parameter
418-
* Event<void()> e = q.event(handler, 1);
458+
* Event<void()> e = queue.event(handler, 1);
419459
* e();
420460
*
421461
* // Create event and post parameter later
422-
* Event<void(int)> e2 = q.event(handler);
462+
* Event<void(int)> e2 = queue.event(handler);
423463
* e2.post(2);
424464
*
425-
* q.dispatch();
465+
* queue.dispatch();
426466
* }
427467
* @endcode
428468
*/
@@ -448,27 +488,27 @@ class EventQueue : private mbed::NonCopyable<EventQueue> {
448488
* @code
449489
* #include "mbed.h"
450490
*
451-
* class Test {
491+
* class EventHandler {
452492
* int _id;
453493
*
454494
* public:
455-
* Test(int id) : _id(id) { }
495+
* EventHandler(int id) : _id(id) { }
456496
*
457497
* void handler(int c) {
458498
* printf("ID: %d Param: %d\r\n", _id, c);
459499
* }
460500
* };
461501
*
462-
* EventQueue q;
463-
*
464502
* int main()
465503
* {
466-
* Test handler_cb(5);
504+
* EventQueue queue;
505+
*
506+
* EventHandler handler_cb(5);
467507
*
468508
* // Create event on the eventqueue with a method callback
469-
* Event<void(int)> e = q.event(&handler_cb, &Test::handler);
509+
* Event<void(int)> e = queue.event(&handler_cb, &EventHandler::handler);
470510
* e.post(1);
471-
* q.dispatch();
511+
* queue.dispatch();
472512
* }
473513
* @endcode
474514
*/
@@ -512,15 +552,16 @@ class EventQueue : private mbed::NonCopyable<EventQueue> {
512552
* @code
513553
* #include "mbed.h"
514554
*
515-
* EventQueue q;
516-
*
517555
* int main()
518556
* {
557+
* EventQueue queue;
558+
*
519559
* Callback<void(int)> cb(handler);
560+
*
520561
* // Create event on the eventqueue with a separate callback object
521-
* Event<void(int)> e = q.event(cb);
562+
* Event<void(int)> e = queue.event(cb);
522563
* e.post(1);
523-
* q.dispatch();
564+
* queue.dispatch();
524565
* }
525566
* @endcode
526567
*/

0 commit comments

Comments
 (0)