}
class IMDBSource : MovieSource {
+ SList<Movie> result;
+ int results_waiting;
+
public override bool active { get; set construct; }
public IMDBSource () {
"cinaest", "imdb.db", null));
_get_callback = callback;
+ result = new SList<Movie> ();
+ results_waiting = 0;
int n = yield sqlite.query (filter, receive_movie, limit, cancellable);
+ if (results_waiting > 0)
+ _get_callback (result);
+ result = new SList<Movie> ();
return n;
}
} else {
movie.secondary = movie.genres.to_string ();
}
- _get_callback (movie);
+ result.append (movie);
+ if (++results_waiting >= 10) {
+ _get_callback (result);
+ result = new SList<Movie> ();
+ results_waiting = 0;
+ }
}
public override void add_movie (Movie movie) {