423
xig_server_codec_feed_data (XIG_SERVER_CODEC (client), buffer, n_read);
423
xig_codec_feed_data (XIG_CODEC (client), buffer, n_read);
429
xig_remote_client_write (XigServerCodec *codec, const guint8 *data, gsize data_length)
429
xig_remote_client_write (XigCodec *codec, const guint8 *data, gsize data_length)
431
431
XigRemoteClient *client = XIG_REMOTE_CLIENT (codec);
432
432
send (g_io_channel_unix_get_fd (client->priv->channel), data, data_length, 0);
436
xig_remote_client_connect (XigServerCodec *codec, XigConnect *message)
436
xig_remote_client_connect (XigCodec *codec, XigConnect *message)
438
438
XigRemoteClient *client = XIG_REMOTE_CLIENT (codec);
439
439
XigServer *server = client->priv->server;
1124
1124
reply.sequence_number = message->sequence_number;
1125
1125
reply.atom = xig_server_intern_atom (client->priv->server, message->name, message->only_if_exists);
1127
xig_server_codec_send_intern_atom_reply (codec, &reply);
1127
xig_codec_feed_intern_atom_reply (XIG_CODEC (codec), &reply);
1131
xig_remote_client_get_atom_name (XigServerCodec *codec, XigGetAtomName *message)
1131
xig_remote_client_get_atom_name (XigCodec *codec, XigGetAtomName *message)
1133
1133
XigRemoteClient *client = XIG_REMOTE_CLIENT (codec);
1134
1134
XigGetAtomNameReply reply;
1173
/* Check format is valid */
1174
switch (message->data_format)
1181
send_error (client, Value, XIG_REQUEST_ChangeProperty, 0, message->sequence_number, message->data_format);
1173
1185
switch (message->mode)
1175
1187
case XIG_CHANGE_PROPERTY_MODE_REPLACE:
1176
xig_window_replace_property (window, name, type, message->format, message->data, message->length * (message->format / 8));
1188
xig_window_replace_property (window, name, type, message->data_format, message->data, message->data_length * (message->data_format / 8));
1178
1190
case XIG_CHANGE_PROPERTY_MODE_APPEND:
1179
1191
// FIXME: Check property exists and type and format matches
1180
xig_window_append_property (window, name, message->data, message->length * (message->format / 8));
1192
xig_window_append_property (window, name, message->data, message->data_length);
1182
1194
case XIG_CHANGE_PROPERTY_MODE_PREPEND:
1183
1195
// FIXME: Check property exists and type and format matches
1184
xig_window_prepend_property (window, name, message->data, message->length * (message->format / 8));
1196
xig_window_prepend_property (window, name, message->data, message->data_length);
1187
1199
send_error (client, Value, XIG_REQUEST_ChangeProperty, 0, message->sequence_number, message->mode);
1256
1268
/* If the type is wrong then return the correct type and size */
1257
1269
if (type_name && strcmp (property->type, type_name) != 0)
1259
reply.format = property->format;
1260
1271
reply.type = xig_server_get_atom_id (client->priv->server, property->type);
1272
reply.value_format = property->format;
1261
1273
reply.bytes_after = property->data_length;
1267
reply.format = property->format;
1268
1279
reply.type = xig_server_get_atom_id (client->priv->server, property->type);
1280
reply.value_format = property->format;
1270
1282
/* Get the subset of the data requested */
1271
1283
offset = MIN (property->data_length, 4 * message->long_offset);
1370
1382
reply.sequence_number = message->sequence_number;
1371
1383
reply.owner = owner ? xig_window_get_id (owner) : XIG_WINDOW_ID_NONE;
1373
xig_server_codec_send_get_selection_owner_reply (codec, &reply);
1385
xig_codec_feed_get_selection_owner_reply (XIG_CODEC (codec), &reply);
1377
xig_remote_client_convert_selection (XigServerCodec *codec, XigConvertSelection *message)
1389
xig_remote_client_convert_selection (XigCodec *codec, XigConvertSelection *message)
1382
xig_remote_client_send_event (XigServerCodec *codec, XigSendEvent *message)
1394
xig_remote_client_send_event (XigCodec *codec, XigSendEvent *message)
1388
xig_remote_client_grab_pointer (XigServerCodec *codec, XigGrabPointer *message)
1400
xig_remote_client_grab_pointer (XigCodec *codec, XigGrabPointer *message)
1390
1402
XigGrabPointerReply reply;
1392
1404
reply.sequence_number = message->sequence_number;
1393
1405
reply.status = 0; // FIXME
1395
xig_server_codec_send_grab_pointer_reply (codec, &reply);
1399
xig_remote_client_ungrab_pointer (XigServerCodec *codec, XigUngrabPointer *message)
1404
xig_remote_client_grab_button (XigServerCodec *codec, XigGrabButton *message)
1409
xig_remote_client_ungrab_button (XigServerCodec *codec, XigUngrabButton *message)
1414
xig_remote_client_change_active_pointer_grab (XigServerCodec *codec, XigChangeActivePointerGrab *message)
1419
xig_remote_client_grab_keyboard (XigServerCodec *codec, XigGrabKeyboard *message)
1407
xig_codec_feed_grab_pointer_reply (XIG_CODEC (codec), &reply);
1411
xig_remote_client_ungrab_pointer (XigCodec *codec, XigUngrabPointer *message)
1416
xig_remote_client_grab_button (XigCodec *codec, XigGrabButton *message)
1421
xig_remote_client_ungrab_button (XigCodec *codec, XigUngrabButton *message)
1426
xig_remote_client_change_active_pointer_grab (XigCodec *codec, XigChangeActivePointerGrab *message)
1431
xig_remote_client_grab_keyboard (XigCodec *codec, XigGrabKeyboard *message)
1421
1433
XigGrabKeyboardReply reply;
1423
1435
reply.sequence_number = message->sequence_number;
1424
1436
reply.status = 0; // FIXME
1426
xig_server_codec_send_grab_keyboard_reply (codec, &reply);
1438
xig_codec_feed_grab_keyboard_reply (XIG_CODEC (codec), &reply);
1430
xig_remote_client_ungrab_keyboard (XigServerCodec *codec, XigUngrabKeyboard *message)
1442
xig_remote_client_ungrab_keyboard (XigCodec *codec, XigUngrabKeyboard *message)
1435
xig_remote_client_grab_key (XigServerCodec *codec, XigGrabKey *message)
1440
xig_remote_client_ungrab_key (XigServerCodec *codec, XigUngrabKey *message)
1445
xig_remote_client_allow_events (XigServerCodec *codec, XigAllowEvents *message)
1450
xig_remote_client_grab_server (XigServerCodec *codec, XigGrabServer *message)
1455
xig_remote_client_ungrab_server (XigServerCodec *codec, XigUngrabServer *message)
1460
xig_remote_client_query_pointer (XigServerCodec *codec, XigQueryPointer *message)
1447
xig_remote_client_grab_key (XigCodec *codec, XigGrabKey *message)
1452
xig_remote_client_ungrab_key (XigCodec *codec, XigUngrabKey *message)
1457
xig_remote_client_allow_events (XigCodec *codec, XigAllowEvents *message)
1462
xig_remote_client_grab_server (XigCodec *codec, XigGrabServer *message)
1467
xig_remote_client_ungrab_server (XigCodec *codec, XigUngrabServer *message)
1472
xig_remote_client_query_pointer (XigCodec *codec, XigQueryPointer *message)
1462
1474
XigRemoteClient *client = XIG_REMOTE_CLIENT (codec);
1463
1475
XigWindow *window;
1501
1513
reply.events_length = 0; // FIXME
1502
1514
reply.events = NULL; // FIXME
1504
xig_server_codec_send_get_motion_events_reply (codec, &reply);
1516
xig_codec_feed_get_motion_events_reply (XIG_CODEC (codec), &reply);
1506
1518
g_free (reply.events);
1510
xig_remote_client_translate_coordinates (XigServerCodec *codec, XigTranslateCoordinates *message)
1522
xig_remote_client_translate_coordinates (XigCodec *codec, XigTranslateCoordinates *message)
1512
1524
XigRemoteClient *client = XIG_REMOTE_CLIENT (codec);
1513
1525
XigWindow *src_window, *dst_window;
1532
1544
reply.dst_x = 0; // FIXME
1533
1545
reply.dst_y = 0; // FIXME
1535
xig_server_codec_send_translate_coordinates_reply (codec, &reply);
1547
xig_codec_feed_translate_coordinates_reply (XIG_CODEC (codec), &reply);
1539
xig_remote_client_warp_pointer (XigServerCodec *codec, XigWarpPointer *message)
1551
xig_remote_client_warp_pointer (XigCodec *codec, XigWarpPointer *message)
1544
xig_remote_client_set_input_focus (XigServerCodec *codec, XigSetInputFocus *message)
1556
xig_remote_client_set_input_focus (XigCodec *codec, XigSetInputFocus *message)
1546
1558
XigRemoteClient *client = XIG_REMOTE_CLIENT (codec);
1547
1559
XigWindow *window;
1567
1579
focus = xig_server_get_input_focus (client->priv->server, &reply.revert_to);
1568
1580
reply.focus = focus ? xig_window_get_id (focus) : XIG_WINDOW_ID_NONE;
1570
xig_server_codec_send_get_input_focus_reply (codec, &reply);
1582
xig_codec_feed_get_input_focus_reply (XIG_CODEC (codec), &reply);
1574
xig_remote_client_query_keymap (XigServerCodec *codec, XigQueryKeymap *message)
1586
xig_remote_client_query_keymap (XigCodec *codec, XigQueryKeymap *message)
1576
1588
XigQueryKeymapReply reply;
1580
1592
for (i = 0; i < 32; i++)
1581
1593
reply.keys[i] = 0x00; // FIXME
1583
xig_server_codec_send_query_keymap_reply (codec, &reply);
1587
xig_remote_client_open_font (XigServerCodec *codec, XigOpenFont *message)
1592
xig_remote_client_close_font (XigServerCodec *codec, XigCloseFont *message)
1597
xig_remote_client_query_font (XigServerCodec *codec, XigQueryFont *message)
1595
xig_codec_feed_query_keymap_reply (XIG_CODEC (codec), &reply);
1599
xig_remote_client_open_font (XigCodec *codec, XigOpenFont *message)
1604
xig_remote_client_close_font (XigCodec *codec, XigCloseFont *message)
1609
xig_remote_client_query_font (XigCodec *codec, XigQueryFont *message)
1599
1611
XigQueryFontReply reply;
1625
1637
reply.char_infos_length = 0; // FIXME
1626
1638
reply.char_infos = NULL; // FIXME
1628
xig_server_codec_send_query_font_reply (codec, &reply);
1640
xig_codec_feed_query_font_reply (XIG_CODEC (codec), &reply);
1630
1642
g_free (reply.properties);
1631
1643
g_free (reply.char_infos);
1635
xig_remote_client_query_text_extents (XigServerCodec *codec, XigQueryTextExtents *message)
1647
xig_remote_client_query_text_extents (XigCodec *codec, XigQueryTextExtents *message)
1637
1649
XigQueryTextExtentsReply reply;
1643
1655
reply.overall_ascent = 0; // FIXME
1644
1656
reply.overall_descent = 0; // FIXME
1645
1657
reply.overall_width = 0; // FIXME
1646
reply.overall_height = 0; // FIXME
1647
1658
reply.overall_left = 0; // FIXME
1648
1659
reply.overall_right = 0; // FIXME
1650
xig_server_codec_send_query_text_extents_reply (codec, &reply);
1661
xig_codec_feed_query_text_extents_reply (XIG_CODEC (codec), &reply);
1654
xig_remote_client_list_fonts (XigServerCodec *codec, XigListFonts *message)
1665
xig_remote_client_list_fonts (XigCodec *codec, XigListFonts *message)
1656
1667
XigListFontsReply reply;
1658
1669
reply.sequence_number = message->sequence_number;
1659
1670
reply.names = g_strsplit ("", " ", -1); // FIXME
1660
reply.names_length = g_strv_length (reply.names);
1662
xig_server_codec_send_list_fonts_reply (codec, &reply);
1672
xig_codec_feed_list_fonts_reply (XIG_CODEC (codec), &reply);
1664
1674
g_strfreev (reply.names);
1668
xig_remote_client_list_fonts_with_info (XigServerCodec *codec, XigListFontsWithInfo *message)
1678
xig_remote_client_list_fonts_with_info (XigCodec *codec, XigListFontsWithInfo *message)
1670
1680
// FIXME emit reply
1674
xig_remote_client_set_font_path (XigServerCodec *codec, XigSetFontPath *message)
1684
xig_remote_client_set_font_path (XigCodec *codec, XigSetFontPath *message)
1679
xig_remote_client_get_font_path (XigServerCodec *codec, XigGetFontPath *message)
1689
xig_remote_client_get_font_path (XigCodec *codec, XigGetFontPath *message)
1681
1691
XigGetFontPathReply reply;
1683
1693
reply.sequence_number = message->sequence_number;
1684
1694
reply.path = g_strsplit ("", " ", -1); // FIXME
1685
reply.path_length = g_strv_length (reply.path);
1687
xig_server_codec_send_get_font_path_reply (codec, &reply);
1696
xig_codec_feed_get_font_path_reply (XIG_CODEC (codec), &reply);
1689
1698
g_strfreev (reply.path);
1693
xig_remote_client_create_pixmap (XigServerCodec *codec, XigCreatePixmap *message)
1702
xig_remote_client_create_pixmap (XigCodec *codec, XigCreatePixmap *message)
1695
1704
XigRemoteClient *client = XIG_REMOTE_CLIENT (codec);
1696
1705
XigPixmap *pixmap;
1733
xig_remote_client_create_gc (XigServerCodec *codec, XigCreateGC *message)
1738
xig_remote_client_change_gc (XigServerCodec *codec, XigChangeGC *message)
1743
xig_remote_client_copy_gc (XigServerCodec *codec, XigCopyGC *message)
1748
xig_remote_client_set_dashes (XigServerCodec *codec, XigSetDashes *message)
1753
xig_remote_client_set_clip_rectangles (XigServerCodec *codec, XigSetClipRectangles *message)
1758
xig_remote_client_free_gc (XigServerCodec *codec, XigFreeGC *message)
1763
xig_remote_client_clear_area (XigServerCodec *codec, XigClearArea *message)
1768
xig_remote_client_copy_area (XigServerCodec *codec, XigCopyArea *message)
1773
xig_remote_client_copy_plane (XigServerCodec *codec, XigCopyPlane *message)
1778
xig_remote_client_poly_point (XigServerCodec *codec, XigPolyPoint *message)
1783
xig_remote_client_poly_line (XigServerCodec *codec, XigPolyLine *message)
1788
xig_remote_client_poly_segment (XigServerCodec *codec, XigPolySegment *message)
1793
xig_remote_client_poly_rectangle (XigServerCodec *codec, XigPolyRectangle *message)
1798
xig_remote_client_poly_arc (XigServerCodec *codec, XigPolyArc *message)
1803
xig_remote_client_fill_poly (XigServerCodec *codec, XigFillPoly *message)
1808
xig_remote_client_poly_fill_rectangle (XigServerCodec *codec, XigPolyFillRectangle *message)
1813
xig_remote_client_poly_fill_arc (XigServerCodec *codec, XigPolyFillArc *message)
1818
xig_remote_client_put_image (XigServerCodec *codec, XigPutImage *message)
1823
xig_remote_client_get_image (XigServerCodec *codec, XigGetImage *message)
1742
xig_remote_client_create_gc (XigCodec *codec, XigCreateGC *message)
1747
xig_remote_client_change_gc (XigCodec *codec, XigChangeGC *message)
1752
xig_remote_client_copy_gc (XigCodec *codec, XigCopyGC *message)
1757
xig_remote_client_set_dashes (XigCodec *codec, XigSetDashes *message)
1762
xig_remote_client_set_clip_rectangles (XigCodec *codec, XigSetClipRectangles *message)
1767
xig_remote_client_free_gc (XigCodec *codec, XigFreeGC *message)
1772
xig_remote_client_clear_area (XigCodec *codec, XigClearArea *message)
1777
xig_remote_client_copy_area (XigCodec *codec, XigCopyArea *message)
1782
xig_remote_client_copy_plane (XigCodec *codec, XigCopyPlane *message)
1787
xig_remote_client_poly_point (XigCodec *codec, XigPolyPoint *message)
1792
xig_remote_client_poly_line (XigCodec *codec, XigPolyLine *message)
1797
xig_remote_client_poly_segment (XigCodec *codec, XigPolySegment *message)
1802
xig_remote_client_poly_rectangle (XigCodec *codec, XigPolyRectangle *message)
1807
xig_remote_client_poly_arc (XigCodec *codec, XigPolyArc *message)
1812
xig_remote_client_fill_poly (XigCodec *codec, XigFillPoly *message)
1817
xig_remote_client_poly_fill_rectangle (XigCodec *codec, XigPolyFillRectangle *message)
1822
xig_remote_client_poly_fill_arc (XigCodec *codec, XigPolyFillArc *message)
1827
xig_remote_client_put_image (XigCodec *codec, XigPutImage *message)
1832
xig_remote_client_get_image (XigCodec *codec, XigGetImage *message)
1825
1834
XigGetImageReply reply;
1830
1839
reply.data = NULL; // FIXME
1831
1840
reply.data_length = 0; // FIXME
1833
xig_server_codec_send_get_image_reply (codec, &reply);
1837
xig_remote_client_poly_text8 (XigServerCodec *codec, XigPolyText8 *message)
1842
xig_remote_client_poly_text16 (XigServerCodec *codec, XigPolyText16 *message)
1847
xig_remote_client_image_text8 (XigServerCodec *codec, XigImageText8 *message)
1852
xig_remote_client_image_text16 (XigServerCodec *codec, XigImageText16 *message)
1842
xig_codec_feed_get_image_reply (XIG_CODEC (codec), &reply);
1846
xig_remote_client_poly_text8 (XigCodec *codec, XigPolyText8 *message)
1851
xig_remote_client_poly_text16 (XigCodec *codec, XigPolyText16 *message)
1856
xig_remote_client_image_text8 (XigCodec *codec, XigImageText8 *message)
1861
xig_remote_client_image_text16 (XigCodec *codec, XigImageText16 *message)
1857
xig_remote_client_create_colormap (XigServerCodec *codec, XigCreateColormap *message)
1862
xig_remote_client_free_colormap (XigServerCodec *codec, XigFreeColormap *message)
1867
xig_remote_client_copy_colormap_and_free (XigServerCodec *codec, XigCopyColormapAndFree *message)
1872
xig_remote_client_install_colormap (XigServerCodec *codec, XigInstallColormap *message)
1877
xig_remote_client_uninstall_colormap (XigServerCodec *codec, XigUninstallColormap *message)
1882
xig_remote_client_list_installed_colormaps (XigServerCodec *codec, XigListInstalledColormaps *message)
1866
xig_remote_client_create_colormap (XigCodec *codec, XigCreateColormap *message)
1871
xig_remote_client_free_colormap (XigCodec *codec, XigFreeColormap *message)
1876
xig_remote_client_copy_colormap_and_free (XigCodec *codec, XigCopyColormapAndFree *message)
1881
xig_remote_client_install_colormap (XigCodec *codec, XigInstallColormap *message)
1886
xig_remote_client_uninstall_colormap (XigCodec *codec, XigUninstallColormap *message)
1891
xig_remote_client_list_installed_colormaps (XigCodec *codec, XigListInstalledColormaps *message)
1884
1893
XigListInstalledColormapsReply reply;
1952
1961
reply.green_mask = 0x00000000; // FIXME
1953
1962
reply.blue_mask = 0x00000000; // FIXME
1955
xig_server_codec_send_alloc_color_planes_reply (codec, &reply);
1964
xig_codec_feed_alloc_color_planes_reply (XIG_CODEC (codec), &reply);
1957
1966
g_free (reply.pixels);
1961
xig_remote_client_free_colors (XigServerCodec *codec, XigFreeColors *message)
1966
xig_remote_client_store_colors (XigServerCodec *codec, XigStoreColors *message)
1971
xig_remote_client_store_named_color (XigServerCodec *codec, XigStoreNamedColor *message)
1976
xig_remote_client_query_colors (XigServerCodec *codec, XigQueryColors *message)
1970
xig_remote_client_free_colors (XigCodec *codec, XigFreeColors *message)
1975
xig_remote_client_store_colors (XigCodec *codec, XigStoreColors *message)
1980
xig_remote_client_store_named_color (XigCodec *codec, XigStoreNamedColor *message)
1985
xig_remote_client_query_colors (XigCodec *codec, XigQueryColors *message)
1978
1987
XigQueryColorsReply reply;
1999
2008
reply.visual_green = 0; // FIXME
2000
2009
reply.visual_blue = 0; // FIXME
2002
xig_server_codec_send_lookup_color_reply (codec, &reply);
2006
xig_remote_client_create_cursor (XigServerCodec *codec, XigCreateCursor *message)
2011
xig_remote_client_create_glyph_cursor (XigServerCodec *codec, XigCreateGlyphCursor *message)
2016
xig_remote_client_free_cursor (XigServerCodec *codec, XigFreeCursor *message)
2021
xig_remote_client_recolor_cursor (XigServerCodec *codec, XigRecolorCursor *message)
2026
xig_remote_client_query_best_size (XigServerCodec *codec, XigQueryBestSize *message)
2011
xig_codec_feed_lookup_color_reply (XIG_CODEC (codec), &reply);
2015
xig_remote_client_create_cursor (XigCodec *codec, XigCreateCursor *message)
2020
xig_remote_client_create_glyph_cursor (XigCodec *codec, XigCreateGlyphCursor *message)
2025
xig_remote_client_free_cursor (XigCodec *codec, XigFreeCursor *message)
2030
xig_remote_client_recolor_cursor (XigCodec *codec, XigRecolorCursor *message)
2035
xig_remote_client_query_best_size (XigCodec *codec, XigQueryBestSize *message)
2028
2037
XigQueryBestSizeReply reply;
2076
2085
reply.present = reply.major_opcode != 0;
2078
xig_server_codec_send_query_extension_reply (codec, &reply);
2087
xig_codec_feed_query_extension_reply (XIG_CODEC (codec), &reply);
2082
xig_remote_client_list_extensions (XigServerCodec *codec, XigListExtensions *message)
2091
xig_remote_client_list_extensions (XigCodec *codec, XigListExtensions *message)
2084
2093
XigListExtensionsReply reply;
2086
2095
reply.sequence_number = message->sequence_number;
2087
2096
reply.names = g_strsplit ("", " ", -1);
2088
reply.names_length = g_strv_length (reply.names);
2090
xig_server_codec_send_list_extensions_reply (codec, &reply);
2098
xig_codec_feed_list_extensions_reply (XIG_CODEC (codec), &reply);
2092
2100
g_strfreev (reply.names);
2096
xig_remote_client_change_keyboard_mapping (XigServerCodec *codec, XigChangeKeyboardMapping *message)
2104
xig_remote_client_change_keyboard_mapping (XigCodec *codec, XigChangeKeyboardMapping *message)
2101
xig_remote_client_get_keyboard_mapping (XigServerCodec *codec, XigGetKeyboardMapping *message)
2109
xig_remote_client_get_keyboard_mapping (XigCodec *codec, XigGetKeyboardMapping *message)
2103
2111
XigGetKeyboardMappingReply reply;
2113
2121
for (j = 0; j < reply.keysyms_per_keycode; j++)
2114
2122
reply.keysyms[i * reply.keysyms_per_keycode + j] = 0;
2116
xig_server_codec_send_get_keyboard_mapping_reply (codec, &reply);
2124
xig_codec_feed_get_keyboard_mapping_reply (XIG_CODEC (codec), &reply);
2118
2126
g_free (reply.keysyms);
2122
xig_remote_client_change_keyboard_control (XigServerCodec *codec, XigChangeKeyboardControl *message)
2130
xig_remote_client_change_keyboard_control (XigCodec *codec, XigChangeKeyboardControl *message)
2127
xig_remote_client_get_keyboard_control (XigServerCodec *codec, XigGetKeyboardControl *message)
2135
xig_remote_client_get_keyboard_control (XigCodec *codec, XigGetKeyboardControl *message)
2129
2137
XigGetKeyboardControlReply reply;
2139
2147
for (i = 0; i < 32; i++)
2140
2148
reply.auto_repeats[i] = 0;
2142
xig_server_codec_send_get_keyboard_control_reply (codec, &reply);
2147
xig_remote_client_bell (XigServerCodec *codec, XigBell *message)
2152
xig_remote_client_change_pointer_control (XigServerCodec *codec, XigChangePointerControl *message)
2157
xig_remote_client_get_pointer_control (XigServerCodec *codec, XigGetPointerControl *message)
2150
xig_codec_feed_get_keyboard_control_reply (XIG_CODEC (codec), &reply);
2155
xig_remote_client_bell (XigCodec *codec, XigBell *message)
2160
xig_remote_client_change_pointer_control (XigCodec *codec, XigChangePointerControl *message)
2165
xig_remote_client_get_pointer_control (XigCodec *codec, XigGetPointerControl *message)
2159
2167
XigGetPointerControlReply reply;
2161
2169
reply.sequence_number = message->sequence_number;
2163
xig_server_codec_send_get_pointer_control_reply (codec, &reply);
2171
xig_codec_feed_get_pointer_control_reply (XIG_CODEC (codec), &reply);
2167
xig_remote_client_set_screen_saver (XigServerCodec *codec, XigSetScreenSaver *message)
2175
xig_remote_client_set_screen_saver (XigCodec *codec, XigSetScreenSaver *message)
2172
xig_remote_client_get_screen_saver (XigServerCodec *codec, XigGetScreenSaver *message)
2180
xig_remote_client_get_screen_saver (XigCodec *codec, XigGetScreenSaver *message)
2174
2182
XigGetScreenSaverReply reply;
2179
2187
reply.prefer_blanking = FALSE; // FIXME
2180
2188
reply.allow_exposures = FALSE; // FIXME
2182
xig_server_codec_send_get_screen_saver_reply (codec, &reply);
2190
xig_codec_feed_get_screen_saver_reply (XIG_CODEC (codec), &reply);
2186
xig_remote_client_change_hosts (XigServerCodec *codec, XigChangeHosts *message)
2194
xig_remote_client_change_hosts (XigCodec *codec, XigChangeHosts *message)
2191
xig_remote_client_list_hosts (XigServerCodec *codec, XigListHosts *message)
2199
xig_remote_client_list_hosts (XigCodec *codec, XigListHosts *message)
2193
2201
XigListHostsReply reply;
2197
2205
reply.hosts_length = 0;
2198
2206
reply.hosts = NULL;
2200
xig_server_codec_send_list_hosts_reply (codec, &reply);
2208
xig_codec_feed_list_hosts_reply (XIG_CODEC (codec), &reply);
2202
2210
g_free (reply.hosts);
2206
xig_remote_client_set_access_control (XigServerCodec *codec, XigSetAccessControl *message)
2214
xig_remote_client_set_access_control (XigCodec *codec, XigSetAccessControl *message)
2211
xig_remote_client_set_close_down_mode (XigServerCodec *codec, XigSetCloseDownMode *message)
2219
xig_remote_client_set_close_down_mode (XigCodec *codec, XigSetCloseDownMode *message)
2213
2221
XigRemoteClient *client = XIG_REMOTE_CLIENT (codec);
2214
2222
client->priv->close_down_mode = message->mode;
2218
xig_remote_client_kill_client (XigServerCodec *codec, XigKillClient *message)
2223
xig_remote_client_rotate_properties (XigServerCodec *codec, XigRotateProperties *message)
2228
xig_remote_client_force_screen_saver (XigServerCodec *codec, XigForceScreenSaver *message)
2226
xig_remote_client_kill_client (XigCodec *codec, XigKillClient *message)
2231
xig_remote_client_rotate_properties (XigCodec *codec, XigRotateProperties *message)
2236
xig_remote_client_force_screen_saver (XigCodec *codec, XigForceScreenSaver *message)
2233
xig_remote_client_set_pointer_mapping (XigServerCodec *codec, XigSetPointerMapping *message)
2241
xig_remote_client_set_pointer_mapping (XigCodec *codec, XigSetPointerMapping *message)
2235
2243
XigSetPointerMappingReply reply;
2237
2245
reply.sequence_number = message->sequence_number;
2238
2246
reply.status = 0; // FIXME
2240
xig_server_codec_send_set_pointer_mapping_reply (codec, &reply);
2248
xig_codec_feed_set_pointer_mapping_reply (XIG_CODEC (codec), &reply);
2244
xig_remote_client_get_pointer_mapping (XigServerCodec *codec, XigGetPointerMapping *message)
2252
xig_remote_client_get_pointer_mapping (XigCodec *codec, XigGetPointerMapping *message)
2246
2254
XigGetPointerMappingReply reply;
2248
2256
reply.sequence_number = message->sequence_number;
2250
xig_server_codec_send_get_pointer_mapping_reply (codec, &reply);
2258
xig_codec_feed_get_pointer_mapping_reply (XIG_CODEC (codec), &reply);
2254
xig_remote_client_set_modifier_mapping (XigServerCodec *codec, XigSetModifierMapping *message)
2262
xig_remote_client_set_modifier_mapping (XigCodec *codec, XigSetModifierMapping *message)
2256
2264
XigSetModifierMappingReply reply;
2258
2266
reply.sequence_number = message->sequence_number;
2259
2267
reply.status = 0; // FIXME
2261
xig_server_codec_send_set_modifier_mapping_reply (codec, &reply);
2269
xig_codec_feed_set_modifier_mapping_reply (XIG_CODEC (codec), &reply);
2265
xig_remote_client_get_modifier_mapping (XigServerCodec *codec, XigGetModifierMapping *message)
2273
xig_remote_client_get_modifier_mapping (XigCodec *codec, XigGetModifierMapping *message)
2267
2275
XigGetModifierMappingReply reply;
2275
2283
for (j = 0; j < reply.keycodes_per_modifier; j++)
2276
2284
reply.keycodes[i * reply.keycodes_per_modifier + j] = 0;
2278
xig_server_codec_send_get_modifier_mapping_reply (codec, &reply);
2286
xig_codec_feed_get_modifier_mapping_reply (XIG_CODEC (codec), &reply);
2280
2288
g_free (reply.keycodes);
2284
xig_remote_client_no_operation (XigServerCodec *codec, XigNoOperation *message)
2292
xig_remote_client_no_operation (XigCodec *codec, XigNoOperation *message)
2289
xig_remote_client_big_req_enable (XigServerCodec *codec, XigBigReqEnable *message)
2297
xig_remote_client_BIGREQ_enable (XigCodec *codec, XigBIGREQEnable *message)
2291
XigBigReqEnableReply reply;
2299
XigBIGREQEnableReply reply;
2293
xig_server_codec_set_big_req_enabled (codec, TRUE);
2301
xig_server_codec_set_BIGREQ_enabled (XIG_SERVER_CODEC (codec), TRUE);
2295
2303
reply.sequence_number = message->sequence_number;
2296
2304
reply.maximum_request_length = MAXIMUM_REQUEST_LENGTH;
2298
xig_server_codec_send_big_req_enable_reply (codec, &reply);
2306
xig_codec_feed_BIGREQ_enable_reply (XIG_CODEC (codec), &reply);
2302
xig_remote_client_sync_initialize (XigServerCodec *codec, XigSYNCInitialize *message)
2310
xig_remote_client_SYNC_initialize (XigCodec *codec, XigSYNCInitialize *message)
2304
2312
XigSYNCInitializeReply reply;
2319
2327
reply.major_version = message->major_version;
2320
2328
reply.minor_version = message->minor_version;
2322
xig_server_codec_send_randr_query_version_reply (codec, &reply);
2330
xig_codec_feed_RANDR_query_version_reply (XIG_CODEC (codec), &reply);
2326
xig_remote_client_xinerama_is_active (XigServerCodec *codec, XigXINERAMAIsActive *message)
2334
xig_remote_client_XINERAMA_is_active (XigCodec *codec, XigXINERAMAIsActive *message)
2328
2336
XigXINERAMAIsActiveReply reply;
2330
2338
reply.sequence_number = message->sequence_number;
2331
2339
reply.is_active = FALSE;
2333
xig_server_codec_send_xinerama_is_active_reply (codec, &reply);
2341
xig_codec_feed_XINERAMA_is_active_reply (XIG_CODEC (codec), &reply);
2337
xig_remote_client_xinerama_query_screens (XigServerCodec *codec, XigXINERAMAQueryScreens *message)
2345
xig_remote_client_XINERAMA_query_screens (XigCodec *codec, XigXINERAMAQueryScreens *message)
2339
2347
XigRemoteClient *client = XIG_REMOTE_CLIENT (codec);
2340
2348
XigXINERAMAQueryScreensReply reply;
2365
2373
reply.server_major = message->wanted_major; // FIXME
2366
2374
reply.server_minor = message->wanted_minor; // FIXME
2368
xig_server_codec_send_xkb_use_extension_reply (codec, &reply);
2376
xig_codec_feed_XKB_use_extension_reply (XIG_CODEC (codec), &reply);
2372
xig_remote_client_xkb_select_events (XigServerCodec *codec, XigXKBSelectEvents *message)
2380
xig_remote_client_XKB_select_events (XigCodec *codec, XigXKBSelectEvents *message)
2377
xig_remote_client_xkb_get_state (XigServerCodec *codec, XigXKBGetState *message)
2385
xig_remote_client_XKB_get_state (XigCodec *codec, XigXKBGetState *message)
2379
2387
XigXKBGetStateReply reply;
2395
2403
reply.compat_lookup_mods = 0; // FIXME
2396
2404
reply.ptr_btn_state = 0; // FIXME
2398
xig_server_codec_send_xkb_get_state_reply (codec, &reply);
2406
xig_codec_feed_XKB_get_state_reply (XIG_CODEC (codec), &reply);
2402
xig_remote_client_xkb_set_controls (XigServerCodec *codec, XigXKBSetControls *message)
2410
xig_remote_client_XKB_set_controls (XigCodec *codec, XigXKBSetControls *message)
2407
xig_remote_client_xkb_get_map (XigServerCodec *codec, XigXKBGetMap *message)
2415
xig_remote_client_XKB_get_map (XigCodec *codec, XigXKBGetMap *message)
2409
2417
XigXKBGetMapReply reply;
2411
2419
reply.sequence_number = message->sequence_number;
2412
2420
reply.device_id = 0; // FIXME
2414
xig_server_codec_send_xkb_get_map_reply (codec, &reply);
2422
xig_codec_feed_XKB_get_map_reply (XIG_CODEC (codec), &reply);
2418
xig_remote_client_xkb_get_names (XigServerCodec *codec, XigXKBGetNames *message)
2426
xig_remote_client_XKB_get_names (XigCodec *codec, XigXKBGetNames *message)
2420
2428
XigXKBGetNamesReply reply;
2422
2430
reply.sequence_number = message->sequence_number;
2423
2431
reply.device_id = 0;
2425
xig_server_codec_send_xkb_get_names_reply (codec, &reply);
2433
xig_codec_feed_XKB_get_names_reply (XIG_CODEC (codec), &reply);
2429
xig_remote_client_xkb_per_client_flags (XigServerCodec *codec, XigXKBPerClientFlags *message)
2437
xig_remote_client_XKB_per_client_flags (XigCodec *codec, XigXKBPerClientFlags *message)
2431
2439
XigXKBPerClientFlagsReply reply;
2449
2457
reply.major_version = 1;
2450
2458
reply.minor_version = 0;
2452
xig_server_codec_send_render_query_version_reply (codec, &reply);
2460
xig_codec_feed_RENDER_query_version_reply (XIG_CODEC (codec), &reply);
2456
xig_remote_client_render_query_pict_formats (XigServerCodec *codec, XigRENDERQueryPictFormats *message)
2464
xig_remote_client_RENDER_query_pict_formats (XigCodec *codec, XigRENDERQueryPictFormats *message)
2458
2466
XigRENDERQueryPictFormatsReply reply;
2460
2468
reply.sequence_number = message->sequence_number;
2463
xig_server_codec_send_render_query_pict_formats_reply (codec, &reply);
2471
xig_codec_feed_RENDER_query_pict_formats_reply (XIG_CODEC (codec), &reply);
2466
2474
XigRemoteClient *
2636
2646
codec_class->set_modifier_mapping = xig_remote_client_set_modifier_mapping;
2637
2647
codec_class->get_modifier_mapping = xig_remote_client_get_modifier_mapping;
2638
2648
codec_class->no_operation = xig_remote_client_no_operation;
2639
codec_class->big_req_enable = xig_remote_client_big_req_enable;
2640
codec_class->sync_initialize = xig_remote_client_sync_initialize;
2641
codec_class->randr_query_version = xig_remote_client_randr_query_version;
2642
codec_class->xinerama_is_active = xig_remote_client_xinerama_is_active;
2643
codec_class->xinerama_query_screens = xig_remote_client_xinerama_query_screens;
2644
codec_class->xkb_use_extension = xig_remote_client_xkb_use_extension;
2645
codec_class->xkb_select_events = xig_remote_client_xkb_select_events;
2646
codec_class->xkb_get_state = xig_remote_client_xkb_get_state;
2647
codec_class->xkb_set_controls = xig_remote_client_xkb_set_controls;
2648
codec_class->xkb_get_map = xig_remote_client_xkb_get_map;
2649
codec_class->xkb_get_names = xig_remote_client_xkb_get_names;
2650
codec_class->xkb_per_client_flags = xig_remote_client_xkb_per_client_flags;
2651
codec_class->render_query_version = xig_remote_client_render_query_version;
2652
codec_class->render_query_pict_formats = xig_remote_client_render_query_pict_formats;
2649
codec_class->BIGREQ_enable = xig_remote_client_BIGREQ_enable;
2650
codec_class->SYNC_initialize = xig_remote_client_SYNC_initialize;
2651
codec_class->RANDR_query_version = xig_remote_client_RANDR_query_version;
2652
codec_class->XINERAMA_is_active = xig_remote_client_XINERAMA_is_active;
2653
codec_class->XINERAMA_query_screens = xig_remote_client_XINERAMA_query_screens;
2654
codec_class->XKB_use_extension = xig_remote_client_XKB_use_extension;
2655
codec_class->XKB_select_events = xig_remote_client_XKB_select_events;
2656
codec_class->XKB_get_state = xig_remote_client_XKB_get_state;
2657
codec_class->XKB_set_controls = xig_remote_client_XKB_set_controls;
2658
codec_class->XKB_get_map = xig_remote_client_XKB_get_map;
2659
codec_class->XKB_get_names = xig_remote_client_XKB_get_names;
2660
codec_class->XKB_per_client_flags = xig_remote_client_XKB_per_client_flags;
2661
codec_class->RENDER_query_version = xig_remote_client_RENDER_query_version;
2662
codec_class->RENDER_query_pict_formats = xig_remote_client_RENDER_query_pict_formats;
2654
2664
signals[DISCONNECTED] =
2655
2665
g_signal_new ("disconnected",