This is a fork of the `events` subdirectory of https://github.com/ARMmbed/mbed-os

Dependents:   HelloWorld_CCA01M1 HelloWorld_CCA02M1 CI-data-logger-server HelloWorld_CCA02M1 ... more

This is a fork of the events subdirectory of https://github.com/ARMmbed/mbed-os.

Note, you must import this library with import name: events!!!

Revision:
7:80510299c57c
Parent:
6:29dc481c8037
Child:
8:773de146a61c
--- a/Event.h	Thu Oct 06 15:57:08 2016 -0500
+++ b/Event.h	Wed Oct 12 17:48:54 2016 -0500
@@ -212,8 +212,8 @@
         new (p) C(*(F*)(e + 1));
         equeue_event_delay(p, e->delay);
         equeue_event_period(p, e->period);
-        equeue_event_dtor(p, &Event::function_dtor<C>);
-        return equeue_post(e->equeue, &Event::function_call<C>, p);
+        equeue_event_dtor(p, &EventQueue::function_dtor<C>);
+        return equeue_post(e->equeue, &EventQueue::function_call<C>, p);
     }
 
     template <typename F>
@@ -221,17 +221,6 @@
         ((F*)(e + 1))->~F();
     }
 
-    // Function attributes
-    template <typename F>
-    static void function_call(void *p) {
-        (*(F*)p)();
-    }
-
-    template <typename F>
-    static void function_dtor(void *p) {
-        ((F*)p)->~F();
-    }
-
 public:
     /** Create an event
      *  @see Event::Event
@@ -616,8 +605,8 @@
         new (p) C(*(F*)(e + 1), a0);
         equeue_event_delay(p, e->delay);
         equeue_event_period(p, e->period);
-        equeue_event_dtor(p, &Event::function_dtor<C>);
-        return equeue_post(e->equeue, &Event::function_call<C>, p);
+        equeue_event_dtor(p, &EventQueue::function_dtor<C>);
+        return equeue_post(e->equeue, &EventQueue::function_call<C>, p);
     }
 
     template <typename F>
@@ -625,17 +614,6 @@
         ((F*)(e + 1))->~F();
     }
 
-    // Function attributes
-    template <typename F>
-    static void function_call(void *p) {
-        (*(F*)p)();
-    }
-
-    template <typename F>
-    static void function_dtor(void *p) {
-        ((F*)p)->~F();
-    }
-
 public:
     /** Create an event
      *  @see Event::Event
@@ -1020,8 +998,8 @@
         new (p) C(*(F*)(e + 1), a0, a1);
         equeue_event_delay(p, e->delay);
         equeue_event_period(p, e->period);
-        equeue_event_dtor(p, &Event::function_dtor<C>);
-        return equeue_post(e->equeue, &Event::function_call<C>, p);
+        equeue_event_dtor(p, &EventQueue::function_dtor<C>);
+        return equeue_post(e->equeue, &EventQueue::function_call<C>, p);
     }
 
     template <typename F>
@@ -1029,17 +1007,6 @@
         ((F*)(e + 1))->~F();
     }
 
-    // Function attributes
-    template <typename F>
-    static void function_call(void *p) {
-        (*(F*)p)();
-    }
-
-    template <typename F>
-    static void function_dtor(void *p) {
-        ((F*)p)->~F();
-    }
-
 public:
     /** Create an event
      *  @see Event::Event
@@ -1424,8 +1391,8 @@
         new (p) C(*(F*)(e + 1), a0, a1, a2);
         equeue_event_delay(p, e->delay);
         equeue_event_period(p, e->period);
-        equeue_event_dtor(p, &Event::function_dtor<C>);
-        return equeue_post(e->equeue, &Event::function_call<C>, p);
+        equeue_event_dtor(p, &EventQueue::function_dtor<C>);
+        return equeue_post(e->equeue, &EventQueue::function_call<C>, p);
     }
 
     template <typename F>
@@ -1433,17 +1400,6 @@
         ((F*)(e + 1))->~F();
     }
 
-    // Function attributes
-    template <typename F>
-    static void function_call(void *p) {
-        (*(F*)p)();
-    }
-
-    template <typename F>
-    static void function_dtor(void *p) {
-        ((F*)p)->~F();
-    }
-
 public:
     /** Create an event
      *  @see Event::Event
@@ -1828,8 +1784,8 @@
         new (p) C(*(F*)(e + 1), a0, a1, a2, a3);
         equeue_event_delay(p, e->delay);
         equeue_event_period(p, e->period);
-        equeue_event_dtor(p, &Event::function_dtor<C>);
-        return equeue_post(e->equeue, &Event::function_call<C>, p);
+        equeue_event_dtor(p, &EventQueue::function_dtor<C>);
+        return equeue_post(e->equeue, &EventQueue::function_call<C>, p);
     }
 
     template <typename F>
@@ -1837,17 +1793,6 @@
         ((F*)(e + 1))->~F();
     }
 
-    // Function attributes
-    template <typename F>
-    static void function_call(void *p) {
-        (*(F*)p)();
-    }
-
-    template <typename F>
-    static void function_dtor(void *p) {
-        ((F*)p)->~F();
-    }
-
 public:
     /** Create an event
      *  @see Event::Event
@@ -2232,8 +2177,8 @@
         new (p) C(*(F*)(e + 1), a0, a1, a2, a3, a4);
         equeue_event_delay(p, e->delay);
         equeue_event_period(p, e->period);
-        equeue_event_dtor(p, &Event::function_dtor<C>);
-        return equeue_post(e->equeue, &Event::function_call<C>, p);
+        equeue_event_dtor(p, &EventQueue::function_dtor<C>);
+        return equeue_post(e->equeue, &EventQueue::function_call<C>, p);
     }
 
     template <typename F>
@@ -2241,17 +2186,6 @@
         ((F*)(e + 1))->~F();
     }
 
-    // Function attributes
-    template <typename F>
-    static void function_call(void *p) {
-        (*(F*)p)();
-    }
-
-    template <typename F>
-    static void function_dtor(void *p) {
-        ((F*)p)->~F();
-    }
-
 public:
     /** Create an event
      *  @see Event::Event