[f-spot/cleanup-backend: 12/24] Add the concept of sources



commit 066a290f4e87fbaf7d8682fb46b8054fa24141e2
Author: Mike Gemünde <mike gemuende de>
Date:   Thu Jul 15 09:29:08 2010 +0200

    Add the concept of sources
    
    We are going to introduce the concept of sources, where a source
    is responsible for providing photos. This first commit introduces
    the ISource and IPhotoSource interface (to be extended). We start
    switching our backend to this interfaces, because that allows
    hopefully to clean up some code. (This is heavily inspired by
    banshee)

 src/Core/IPhotoSource.cs |   28 ++++++++++++++++++++++++++++
 src/Core/ISource.cs      |   20 ++++++++++++++++++++
 src/Core/Makefile.am     |    2 ++
 3 files changed, 50 insertions(+), 0 deletions(-)
---
diff --git a/src/Core/IPhotoSource.cs b/src/Core/IPhotoSource.cs
new file mode 100644
index 0000000..ef6180d
--- /dev/null
+++ b/src/Core/IPhotoSource.cs
@@ -0,0 +1,28 @@
+/*
+ * IPhotoSource.cs
+ *
+ * Author(s):
+ *  Mike Gemuende <mike gemuende de>
+ *
+ * This is free software. See COPYING for details.
+ */
+
+using System;
+
+namespace FSpot.Sources
+{
+
+
+    public interface IPhotoSource : ISource
+    {
+        IBrowsableCollection Photos { get; }
+
+        void AddPhotos (IBrowsableCollection photos);
+        void RemovePhotos (IBrowsableCollection photos);
+        void DeletePhotos (IBrowsableCollection photos);
+
+        bool CanAddPhotos { get; }
+        bool CanRemovePhotos { get; }
+        bool CanDeletePhotos { get; }
+    }
+}
diff --git a/src/Core/ISource.cs b/src/Core/ISource.cs
new file mode 100644
index 0000000..5620b86
--- /dev/null
+++ b/src/Core/ISource.cs
@@ -0,0 +1,20 @@
+/*
+ * ISource.cs
+ *
+ * Author(s):
+ *  Mike Gemuende <mike gemuende de>
+ *
+ * This is free software. See COPYING for details.
+ */
+
+using System;
+
+namespace FSpot.Sources
+{
+
+
+    public interface ISource
+    {
+        string Name { get; }
+    }
+}
diff --git a/src/Core/Makefile.am b/src/Core/Makefile.am
index 414f67a..8443bd5 100644
--- a/src/Core/Makefile.am
+++ b/src/Core/Makefile.am
@@ -20,6 +20,8 @@ SOURCES = \
 	IBrowsableItemVersionable.cs \
 	IBrowsableCollection.cs \
 	ILoadable.cs \
+	IPhotoSource.cs \
+	ISource.cs \
 	PhotoChanges.cs \
 	PhotosChanges.cs \
 	PhotoSelection.cs \



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