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 — 当档案描述器做好写的准备时呼叫你的函式。
我确信你已经看出来了,第三个参数是当满足上述条件时你想要呼叫的函式,第四个参数是传递给该函式的参数。
传回值是一个标签,该标签可用于让 GDK 停止对档案描述器的监控,用函式:
void gdk_input_remove( gint tag ); |
回呼函式应该宣告为:
void input_callback( gpointer data, gint source, GdkInputCondition condition ); |
source 和 condition 就是前述的参数。
1 則留言
Comments are closed.