Esempio n. 1
0
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;
        }
    }
}