GTK+ 2.0 Tutorial |
||
---|---|---|
Timeouts, IO and Idle Functions |
Изящная особенность GDK (библиотека, которая лежит в основе GTK), является способность сделать так, чтобы проверить данные относительно дескриптора файла (как возвращено open(2) или socket(2)). Это особенно полезно для сетевых приложений. Функция:
gint gdk_input_add( gint source,
GdkInputCondition condition,
GdkInputFunction function,
gpointer data );
|
Первый аргумент - дескриптор файла который вы хотите посмотреть, а второй - то, что вы хотите чтобы искал GDK. Возможные значения:
GDK_INPUT_READ - вызывает вашу функцию когда есть данные готовые для чтения в дескрипторе файла.
>GDK_INPUT_WRITE - вызывает вашу функцию когда дескриптор файла готов к записи.
Третим аргументом как вы понимаете является ваша функция которую вы хотите вызывать, а четвертый - данные которые посылаются в эту функцию.
Возвращаемое значение это тег который может быть использован для остановки контроля дескриптора файла используя функцию:
void gdk_input_remove( gint tag );
|
Функция отзыва должна быть объявлена как:
void input_callback( gpointer data,
gint source,
GdkInputCondition condition );
|
Где source и condition тоже что и выше.
Timeouts, IO and Idle Functions |
Idle Functions |