X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fplugin-interface.vala;h=473b8c6ac7cf9ed09d12a3e5133dada3382a9ab4;hb=356577fd2d7862cb2828be5b1a0c102a05c2255b;hp=9fb48addbb2635125621b37bfabb54c73cd70e36;hpb=ce979807bebce12903a1f902193bc4d5e54c8152;p=cinaest diff --git a/src/plugin-interface.vala b/src/plugin-interface.vala index 9fb48ad..473b8c6 100644 --- a/src/plugin-interface.vala +++ b/src/plugin-interface.vala @@ -17,20 +17,47 @@ */ public abstract class Plugin : Object { - public abstract void hello (Gtk.Window window); + public abstract void hello (Gtk.Window window, Osso.Context context); public abstract unowned List get_sources (); + public abstract List get_actions (Movie movie, Gtk.Window window); + + public abstract void settings_dialog (Gtk.Window window); + + public abstract unowned string get_name (); } public abstract class MovieSource : Object { public delegate void ReceiveMovieFunction (Movie movie); - public abstract void get_movies (MovieFilter filter, ReceiveMovieFunction callback, int limit); + public abstract async void get_movies (MovieFilter filter, ReceiveMovieFunction callback, int limit, GLib.Cancellable? cancellable); public abstract void add_movie (Movie movie); + public abstract void delete_movie (Movie movie); public abstract unowned string get_name (); public abstract unowned string get_description (); + + public abstract bool get_editable (); } +public class MovieAction : Object { + public delegate void MovieActionFunc (Movie movie, Gtk.Window window); + + public string name; + private MovieActionFunc action; + private Movie movie; + private Gtk.Window window; + + public MovieAction (string _name, MovieActionFunc _action, Movie _movie, Gtk.Window _window) { + name = _name; + action = _action; + movie = _movie; + window = _window; + } + + public void execute () { + action (movie, window); + } +}