[f-spot/taglib-metadata] Pull out ILoadable interface.



commit 23b649f69cf1377f567ab924b09a31d9c2913801
Author: Ruben Vermeersch <ruben savanne be>
Date:   Sat Jul 3 11:44:22 2010 +0200

    Pull out ILoadable interface.
    
    This interface will serve as the contract between IBrowsableItem and
    image loaders.

 src/Core/IBrowsableItemVersion.cs |    5 +----
 src/Core/ILoadable.cs             |   13 +++++++++++++
 src/Core/Makefile.am              |    1 +
 3 files changed, 15 insertions(+), 4 deletions(-)
---
diff --git a/src/Core/IBrowsableItemVersion.cs b/src/Core/IBrowsableItemVersion.cs
index 345172a..eec8682 100644
--- a/src/Core/IBrowsableItemVersion.cs
+++ b/src/Core/IBrowsableItemVersion.cs
@@ -2,15 +2,12 @@ using Hyena;
 
 namespace FSpot
 {
-    public interface IBrowsableItemVersion {
+    public interface IBrowsableItemVersion : ILoadable {
         string Name { get; }
         bool IsProtected { get; }
         SafeUri BaseUri { get; }
         string Filename { get; }
 
-        // For convenience
-        SafeUri Uri { get; set; }
-
 		string ImportMD5 { get; }
     }
 }
diff --git a/src/Core/ILoadable.cs b/src/Core/ILoadable.cs
new file mode 100644
index 0000000..4a89908
--- /dev/null
+++ b/src/Core/ILoadable.cs
@@ -0,0 +1,13 @@
+using Hyena;
+
+namespace FSpot
+{
+	/// <summary>
+	///    This is the contract that needs to be implemented before the image
+	///    data of the object can be loaded.
+	/// </summary>
+	public interface ILoadable
+	{
+		SafeUri Uri { get; set; }
+	}
+}
diff --git a/src/Core/Makefile.am b/src/Core/Makefile.am
index 1409421..49b7583 100644
--- a/src/Core/Makefile.am
+++ b/src/Core/Makefile.am
@@ -19,6 +19,7 @@ SOURCES = \
 	IBrowsableItemVersion.cs \
 	IBrowsableItemVersionable.cs \
 	IBrowsableCollection.cs \
+	ILoadable.cs \
 	PhotoChanges.cs \
 	PhotosChanges.cs \
 	Roll.cs \



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]