SourceFunc get_movies_callback;
public override async int get_movies (MovieFilter filter, MovieSource.ReceiveMovieFunction _callback, int limit, Cancellable? cancellable) {
- var conn = DBus.Bus.get (DBus.BusType.SESSION);
- string search_path;
-
- dynamic DBus.Object server = conn.get_object ("org.maemo.cinaest.GoogleShowtimes",
- "/org/maemo/cinaest/googleshowtimes",
- "org.maemo.cinaest.MovieService");
- server.NewSearch (out search_path);
-
- search = conn.get_object ("org.maemo.cinaest.GoogleShowtimes",
- search_path,
- "org.maemo.cinaest.MovieSearch");
-
- callback = _callback;
- search.MoviesFound += on_movies_found;
- search.start (filter.title);
+ try {
+ string search_path;
+ dynamic DBus.Object server;
+ var conn = DBus.Bus.get (DBus.BusType.SESSION);
+
+ server = conn.get_object ("org.maemo.cinaest.GoogleShowtimes",
+ "/org/maemo/cinaest/googleshowtimes",
+ "org.maemo.cinaest.MovieService");
+ server.NewSearch (out search_path);
+
+ search = conn.get_object ("org.maemo.cinaest.GoogleShowtimes",
+ search_path,
+ "org.maemo.cinaest.MovieSearch");
+
+ callback = _callback;
+ search.MoviesFound.connect (on_movies_found);
+ search.start (filter.title);
+ } catch (Error e1) {
+ Banner.show_information (null, null, e1.message);
+ return 0;
+ }
get_movies_callback = get_movies.callback;
if (cancellable != null)