diff options
Diffstat (limited to 'src/plugins/PublishingInterfaces.vala')
-rw-r--r-- | src/plugins/PublishingInterfaces.vala | 44 |
1 files changed, 40 insertions, 4 deletions
diff --git a/src/plugins/PublishingInterfaces.vala b/src/plugins/PublishingInterfaces.vala index 6518142..05b161f 100644 --- a/src/plugins/PublishingInterfaces.vala +++ b/src/plugins/PublishingInterfaces.vala @@ -9,7 +9,7 @@ * * The Shotwell Pluggable Publishing API allows you to write plugins that upload * photos and videos to web services. The Shotwell distribution includes publishing - * support for four core services: Facebook, Flickr, Picasa Web Albums, and YouTube. + * support for three core services: Flickr, Google Photos, and YouTube. * To enable Shotwell to connect to additional services, developers like you write * publishing plugins, dynamically-loadable shared objects that are linked into the * Shotwell process at runtime. Publishing plugins are just one of several kinds of @@ -87,7 +87,7 @@ public errordomain PublishingError { /** * Indicates that a secure connection to the remote host cannot be * established. This might have various reasons such as expired - * certificats, invalid certificates, self-signed certificates... + * certificates, invalid certificates, self-signed certificates... */ SSL_FAILED } @@ -268,6 +268,8 @@ public interface PluginHost : GLib.Object, Spit.HostInterface { CANCEL = 1 } + public abstract string get_current_profile_id(); + /** * Notifies the user that an unrecoverable publishing error has occurred and halts * the publishing process. @@ -367,7 +369,7 @@ public interface PluginHost : GLib.Object, Spit.HostInterface { * The text displayed depends on the type of media the current publishing service * supports. To provide visual consistency across publishing services and to allow * Shotwell to handle internationalization, always use this convenience method; don’t - * contruct and install success panes manually. + * construct and install success panes manually. * * If an error has posted, the {@link PluginHost} will not honor * this request. @@ -413,7 +415,7 @@ public interface PluginHost : GLib.Object, Spit.HostInterface { * the callback 'on_login_clicked'. Every Publisher should provide a welcome pane to * introduce the service and explain service-specific features or restrictions. To provide * visual consistency across publishing services and to allow Shotwell to handle - * internationalization, always use this convenience method; don’t contruct and install + * internationalization, always use this convenience method; don’t construct and install * welcome panes manually. * * If an error has posted, the {@link PluginHost} will not honor this request. @@ -565,6 +567,11 @@ public interface Publishable : GLib.Object { */ public abstract GLib.DateTime get_exposure_date_time(); + /** + * Returns the rating on the file. + */ + public abstract uint get_rating(); + // // For future expansion. // @@ -578,6 +585,17 @@ public interface Publishable : GLib.Object { protected virtual void reserved7() {} } +public interface Account : Object { + public abstract string display_name(); +} + +public class DefaultAccount : Spit.Publishing.Account, Object { + public string display_name() { + return ""; + } +} + + /** * Describes the features and capabilities of a remote publishing service. * @@ -590,10 +608,26 @@ public interface Service : Object, Spit.Pluggable { */ public abstract Spit.Publishing.Publisher create_publisher(Spit.Publishing.PluginHost host); + public virtual Spit.Publishing.Publisher create_publisher_with_account(Spit.Publishing.PluginHost host, + Spit.Publishing.Account? account) { + return this.create_publisher(host); + } + /** * Returns the kinds of media that this service can work with. */ public abstract Spit.Publishing.Publisher.MediaType get_supported_media(); + + /** + * Returns a list of accounts associated with the service + * Returns: null if there are no accounts, identifier + */ + public virtual Gee.List<Account>? get_accounts(string profile_id) { + var list = new Gee.ArrayList<Account>(); + list.add(new DefaultAccount()); + + return list; + } // // For future expansion. @@ -617,6 +651,8 @@ public interface Authenticator : Object { public abstract void logout(); public abstract void refresh(); + public abstract void set_accountname(string name); + public abstract GLib.HashTable<string, Variant> get_authentication_parameter(); } |