A single plugin may provide multiple movie sources.
public abstract class Plugin : Object {
public abstract void hello (Gtk.Window window);
+ public abstract unowned List<MovieSource> get_sources ();
+}
+
+public abstract class MovieSource : Object {
public delegate void ReceiveMovieFunction (Movie movie);
public abstract void get_movies (string filter, ReceiveMovieFunction callback, int limit);
+
public abstract void add_movie (Movie movie);
+
+ public abstract unowned string get_name ();
+
+ public abstract unowned string get_description ();
}
+