#include #include "generator.h" void generate(Generator *gen, gpointer data) { int values[] = {100, 200, 300, 400, 500, 0}; int i; for(i=0; values[i]; i++) { int *value = g_new(int, 1); *value = values[i]; generator_yield(gen, value); g_usleep(G_USEC_PER_SEC/2); } } int main() { Generator *gen = generator_new(generate, NULL); int *value = NULL; while(generator_next(gen, (gpointer)&value)) { g_print("Value = %d\n", *value); g_free(value); } generator_free(gen); return 0; }