Ejemplo n.º 1
0
static void reply_XIQueryVersion(ClientPtr client, int len, char* data, void *userdata)
{
    xXIQueryVersionReply *rep = (xXIQueryVersionReply*)data;
    struct test_data *versions = (struct test_data*)userdata;
    unsigned int sver, cver, ver;

    if (client->swapped)
    {
        char n;
        swapl(&rep->length, n);
        swaps(&rep->sequenceNumber, n);
        swaps(&rep->major_version, n);
        swaps(&rep->minor_version, n);
    }

    reply_check_defaults(rep, len, XIQueryVersion);

    g_assert(rep->length == 0);

    sver = versions->major_server * 1000 + versions->minor_server;
    cver = versions->major_client * 1000 + versions->minor_client;
    ver = rep->major_version * 1000 + rep->minor_version;

    g_assert(ver >= 2000);
    g_assert((sver > cver) ? ver == cver : ver == sver);
}
Ejemplo n.º 2
0
static void reply_XIQueryPointer(ClientPtr client, int len, char *data,
                                 void *userdata)
{
    xXIQueryPointerReply *rep = (xXIQueryPointerReply*)data;
    SpritePtr sprite;

    if (!rep->repType)
        return;

    if (client->swapped)
    {
        char n;
        swapl(&rep->length, n);
        swaps(&rep->sequenceNumber, n);
        swapl(&rep->root, n);
        swapl(&rep->child, n);
        swapl(&rep->root_x, n);
        swapl(&rep->root_y, n);
        swapl(&rep->win_x, n);
        swapl(&rep->win_y, n);
        swaps(&rep->buttons_len, n);
    }

    reply_check_defaults(rep, len, XIQueryPointer);

    g_assert(rep->root == root.drawable.id);
    g_assert(rep->same_screen == xTrue);

    sprite = test_data.dev->spriteInfo->sprite;
    g_assert((rep->root_x >> 16) == sprite->hot.x);
    g_assert((rep->root_y >> 16) == sprite->hot.y);

    if (test_data.win == &root)
    {
        g_assert(rep->root_x == rep->win_x);
        g_assert(rep->root_y == rep->win_y);
        g_assert(rep->child == window.drawable.id);
    } else
    {
        int x, y;

        x = sprite->hot.x - window.drawable.x;
        y = sprite->hot.y - window.drawable.y;

        g_assert((rep->win_x >> 16) == x);
        g_assert((rep->win_y >> 16) == y);
        g_assert(rep->child == None);
    }


    g_assert(rep->same_screen == xTrue);

    reply_handler = reply_XIQueryPointer_data;
}
Ejemplo n.º 3
0
static void
reply_XIGetClientPointer(ClientPtr client, int len, char *data, void *userdata)
{
    xXIGetClientPointerReply *rep = (xXIGetClientPointerReply *) data;

    if (client->swapped) {
        swapl(&rep->length);
        swaps(&rep->sequenceNumber);
        swaps(&rep->deviceid);
    }

    reply_check_defaults(rep, len, XIGetClientPointer);

    assert(rep->set == test_data.cp_is_set);
    if (rep->set)
        assert(rep->deviceid == test_data.dev->id);
}
Ejemplo n.º 4
0
static void
reply_XIGetSelectedEvents(ClientPtr client, int len, char *data, void *userdata)
{
    xXIGetSelectedEventsReply *rep = (xXIGetSelectedEventsReply *) data;

    if (client->swapped) {
        swapl(&rep->length);
        swaps(&rep->sequenceNumber);
        swaps(&rep->num_masks);
    }

    reply_check_defaults(rep, len, XIGetSelectedEvents);

    assert(rep->num_masks == test_data.num_masks_expected);

    reply_handler = reply_XIGetSelectedEvents_data;
}
static void
reply_XIPassiveGrabDevice(ClientPtr client, int len, char *data, void *closure)
{
    xXIPassiveGrabDeviceReply *rep = (xXIPassiveGrabDeviceReply *) data;

    if (client->swapped) {
        swaps(&rep->sequenceNumber);
        swapl(&rep->length);
        swaps(&rep->num_modifiers);

        testdata.num_modifiers = rep->num_modifiers;
    }

    reply_check_defaults(rep, len, XIPassiveGrabDevice);

    /* ProcXIPassiveGrabDevice sends the data in two batches, let the second
     * handler handle the modifier data */
    if (rep->num_modifiers > 0)
        reply_handler = reply_XIPassiveGrabDevice_data;
}
Ejemplo n.º 6
0
/* reply handling for the first bytes that constitute the reply */
static void reply_XIQueryDevice(ClientPtr client, int len, char* data, void *userdata)
{
    xXIQueryDeviceReply *rep = (xXIQueryDeviceReply*)data;
    struct test_data *querydata = (struct test_data*)userdata;

    if (client->swapped)
    {
        swapl(&rep->length);
        swaps(&rep->sequenceNumber);
        swaps(&rep->num_devices);
    }

    reply_check_defaults(rep, len, XIQueryDevice);

    if (querydata->which_device == XIAllDevices)
        assert(rep->num_devices == devices.num_devices);
    else if (querydata->which_device == XIAllMasterDevices)
        assert(rep->num_devices == devices.num_master_devices);
    else
        assert(rep->num_devices == 1);

    querydata->num_devices_in_reply = rep->num_devices;
    reply_handler = reply_XIQueryDevice_data;
}