void DaleDFB::notificationListener(void* ctx, void* arg) { Compositor::NotificationAckData data = *((Compositor::NotificationAckData*) arg); if (data.client != getpid()) return; for (Notifications::iterator it = __nots.begin(); it != __nots.end(); ++it) { Notify* n = ((Notify*) *it); if (strcmp(n->uuid(), data.uuid) == 0) { if (data.method == Compositor::Click) n->sigClick(); else if (data.method == Compositor::Close) n->sigClose(); else if (data.method == Compositor::Error) n->sigError(); else if (data.method == Compositor::Show) n->sigShow(); return; } } }