print ("Stored as: %s\n", cache_path);
downloader.fetched (handle, cache_path);
+ downloader.timeout_quit ();
} catch (Error e) {
stdout.printf ("Failed to store poster: %s\n", e.message);
}
public SessionAsync session;
private int fetch_handle = 1;
private List<GooglePosterDownload> downloads = null;
+ private uint source_id;
public GooglePosterDownloader () {
loop = new MainLoop (null);
session.max_conns_per_host = 7;
}
+ public void timeout_quit () {
+ // With every change we reset the timer to 3min
+ if (source_id != 0) {
+ Source.remove (source_id);
+ }
+ source_id = Timeout.add_seconds (180, quit);
+ }
+
+ private bool quit () {
+ loop.quit ();
+
+ // One-shot only
+ return false;
+ }
+
public void run () {
loop.run ();
}
var server = new GooglePosterDownloader ();
conn.register_object ("/org/maemo/movieposter/GoogleImages", server);
+ server.timeout_quit ();
server.run ();
}
} catch (Error e) {