Beispiel #1
0
    void assertHasAdcEvent() {

        EventType   *adcEventType = AdcEventType_get();
        Event       *event        = EventSource_poll(_eventSource);

        CHECK( event != NULL);
        POINTERS_EQUAL(adcEventType, Event_getEventType(event));
    }
Beispiel #2
0
    void assertHasAdcEventWithSample(int      channelId,
                                     uint16_t value) {

        EventType   *adcEventType = AdcEventType_get();
        Event       *event        = EventSource_poll(_eventSource);

        CHECK( event != NULL);
        POINTERS_EQUAL(adcEventType, Event_getEventType(event));

        AdcEvent  *adcEvent = AdcEvent_fromEvent(event);
        AdcSample *sample   = AdcEvent_getSample(adcEvent);

        CHECK_EQUAL(channelId, AdcSample_getChannelId(sample));
        CHECK_EQUAL(value, AdcSample_getValue(sample))
    }
Beispiel #3
0
static void EventManager_fireEvent(EventManager *self,
                                   Event        *event) {

    EventType *eventType = Event_getEventType(event);

    for ( EventListener *listener = self->eventListenerListHead;
          listener != NULL;
          listener = listener->next ) {

        EventType *listenerType = listener->eventType;
        bool       isInterested = (eventType==listenerType);

        if ( isInterested ) {
            EventListener_notify(listener, event);
        }
    }
}
static void TestEventListener_notify(EventListener *baseSelf,
                                     Event         *event) {

    TestEventListener *self              = (TestEventListener *)baseSelf;
    EventType         *expectedEventType = self->eventType;

    if ( NULL != expectedEventType ) {
        assert( expectedEventType == Event_getEventType(event) );
    }

    if ( self->eventCount < self->maxEventCount ) {
        ++(self->eventCount);

        if ( self->eventCount == self->maxEventCount ) {
            EventManager_stop(self->eventManager);
        }
    }
}