X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fplugin-interface.vala;h=473b8c6ac7cf9ed09d12a3e5133dada3382a9ab4;hb=356577fd2d7862cb2828be5b1a0c102a05c2255b;hp=df453b035d897727b9ad50bc762f980123576871;hpb=9ead139fb1c196dc8082be6968f21a6749de883f;p=cinaest diff --git a/src/plugin-interface.vala b/src/plugin-interface.vala index df453b0..473b8c6 100644 --- a/src/plugin-interface.vala +++ b/src/plugin-interface.vala @@ -17,9 +17,10 @@ */ 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); @@ -29,12 +30,34 @@ public abstract class Plugin : Object { 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); + } +}