banshee r3160 - in trunk/banshee: . build build/m4/banshee src/Backends/Banshee.Gnome src/Backends/Banshee.Gnome/Banshee.Gnome src/Core/Banshee.Core src/Core/Banshee.Core/Banshee.Configuration src/Core/Banshee.Core/Banshee.IO src/Core/Banshee.Services src/Core/Banshee.Services/Banshee.ServiceStack src/Core/Banshee.ThickClient src/Core/Hyena src/Core/Hyena.Gui



Author: abock
Date: Thu Feb  7 06:24:38 2008
New Revision: 3160
URL: http://svn.gnome.org/viewvc/banshee?rev=3160&view=rev

Log:
2008-02-07  Aaron Bockover  <abock gnome org>

    This commit adds GConf support back, inside the new GNOME platform
    extension; yay cross-platform

    * build/build.environment.mk:
    * build/m4/banshee/gtk-sharp.m4: Added build foo for gconf and the
    gnome platform extension

    * src/Backends/Banshee.Gnome/Banshee.Gnome.addin.xml: Implement the
    configuration client extension

    * src/Backends/Banshee.Gnome/Banshee.Gnome/GConfConfigurationClient.cs:
    A little cleanup

    * src/Backends/Banshee.Gnome/Banshee.Gnome/GnomeVfs.cs: Removed since
    it's never really worked well and we'll be adding GIO support soon anyway

    * src/Core/Banshee.Core/Banshee.Configuration/ConfigurationClient.cs:
    Whitespace and header fixes, use Mono.Addins to load an configuration
    client extension, falling back to the built-in XML client

    * src/Core/Banshee.Core/Banshee.Configuration/IConfigurationClient.cs:
    * src/Core/Banshee.Core/Banshee.Configuration/SchemaEntry.cs:
    * src/Core/Banshee.Core/Banshee.Configuration/XmlConfigurationClient.cs:
    Whitespace and header fixes, just cosmetics

    * src/Core/Banshee.Core/Banshee.Core.addin.xml: Core now has two extension
    points (ConfigurationClient and IOProvider)

    * src/Core/Banshee.Core/Banshee.IO/Provider.cs: Use Mono.Addins to load
    the preferred IO provider extension, falling back to the internal
    System.IO provider

    * src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
    Initialize the configuration layer before booting services



Added:
   trunk/banshee/src/Core/Banshee.Core/Banshee.Core.addin.xml
Removed:
   trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome/GnomeVfs.cs
Modified:
   trunk/banshee/ChangeLog
   trunk/banshee/build/build.environment.mk
   trunk/banshee/build/m4/banshee/gtk-sharp.m4
   trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome.addin.xml
   trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome.mdp
   trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome/GConfConfigurationClient.cs
   trunk/banshee/src/Backends/Banshee.Gnome/Makefile.am
   trunk/banshee/src/Core/Banshee.Core/Banshee.Configuration/ConfigurationClient.cs
   trunk/banshee/src/Core/Banshee.Core/Banshee.Configuration/IConfigurationClient.cs
   trunk/banshee/src/Core/Banshee.Core/Banshee.Configuration/SchemaEntry.cs
   trunk/banshee/src/Core/Banshee.Core/Banshee.Configuration/XmlConfigurationClient.cs
   trunk/banshee/src/Core/Banshee.Core/Banshee.Core.mdp
   trunk/banshee/src/Core/Banshee.Core/Banshee.IO/Provider.cs
   trunk/banshee/src/Core/Banshee.Core/Makefile.am
   trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs
   trunk/banshee/src/Core/Banshee.Services/Banshee.Services.mdp
   trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp
   trunk/banshee/src/Core/Banshee.ThickClient/Makefile.am
   trunk/banshee/src/Core/Hyena.Gui/Hyena.Gui.mdp
   trunk/banshee/src/Core/Hyena/Hyena.mdp

Modified: trunk/banshee/build/build.environment.mk
==============================================================================
--- trunk/banshee/build/build.environment.mk	(original)
+++ trunk/banshee/build/build.environment.mk	Thu Feb  7 06:24:38 2008
@@ -72,12 +72,11 @@
 LINK_HYENA_GUI_DEPS = $(REF_HYENA_GUI) $(LINK_HYENA_GUI)
 
 REF_BANSHEE_CORE = $(LINK_HYENA_DEPS) $(LINK_MONO_POSIX) $(LINK_GLIB) \
-	$(LINK_DBUS) $(LINK_TAGLIB)
+	$(LINK_DBUS) $(LINK_TAGLIB) $(LINK_MONO_ADDINS_DEPS)
 LINK_BANSHEE_CORE = -r:$(DIR_BIN)/Banshee.Core.dll
 LINK_BANSHEE_CORE_DEPS = $(REF_BANSHEE_CORE) $(LINK_BANSHEE_CORE)
 
-REF_BANSHEE_SERVICES = $(LINK_SQLITE) $(LINK_BANSHEE_CORE_DEPS) \
-	$(LINK_MONO_ADDINS_DEPS)
+REF_BANSHEE_SERVICES = $(LINK_SQLITE) $(LINK_BANSHEE_CORE_DEPS)
 LINK_BANSHEE_SERVICES = -r:$(DIR_BIN)/Banshee.Services.dll
 LINK_BANSHEE_SERVICES_DEPS = $(REF_BANSHEE_SERVICES) $(LINK_BANSHEE_SERVICES)
 
@@ -95,6 +94,7 @@
 
 
 # Backends
+REF_BACKEND_GNOME = $(LINK_BANSHEE_CORE_DEPS) $(LINK_GCONF)
 REF_BACKEND_GSTREAMER = $(LINK_BANSHEE_SERVICES_DEPS) $(LINK_GLIB)
 
 

Modified: trunk/banshee/build/m4/banshee/gtk-sharp.m4
==============================================================================
--- trunk/banshee/build/m4/banshee/gtk-sharp.m4	(original)
+++ trunk/banshee/build/m4/banshee/gtk-sharp.m4	Thu Feb  7 06:24:38 2008
@@ -1,6 +1,7 @@
 AC_DEFUN([BANSHEE_CHECK_GTK_SHARP],
 [
-	GTKSHARP_REQUIRED=2.7
+	GTKSHARP_REQUIRED=2.8
+
 	PKG_CHECK_MODULES(GTKSHARP,
 		gtk-sharp-2.0 >= $GTKSHARP_REQUIRED \
 		glade-sharp-2.0 >= $GTKSHARP_REQUIRED)
@@ -9,5 +10,9 @@
 	PKG_CHECK_MODULES(GLIBSHARP,
 		glib-sharp-2.0 >= $GTKSHARP_REQUIRED)
 	AC_SUBST(GLIBSHARP_LIBS)
+
+	PKG_CHECK_MODULES(GCONFSHARP,
+		gconf-sharp-2.0 >= $GTKSHARP_REQUIRED)
+	AC_SUBST(GCONFSHARP_LIBS)
 ])
 

Modified: trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome.addin.xml
==============================================================================
--- trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome.addin.xml	(original)
+++ trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome.addin.xml	Thu Feb  7 06:24:38 2008
@@ -6,21 +6,17 @@
     copyright="Â 2008 Novell Inc. Licensed under the MIT X11 license."
     name="GNOME Providers"
     category="Platform"
-    description="Backend providers for the GNOME platform. Includes GConf and GNOME-VFS support."
+    description="Backend providers for the GNOME platform. Includes GConf and GIO support."
     author="Aaron Bockover"
     url="http://banshee-project.org/";
     defaultEnabled="true">
 
   <Dependencies>
-    <Addin id="Banshee.Services" version="1.0"/>
+    <Addin id="Banshee.Core" version="1.0"/>
   </Dependencies>
 
-  <Extension path="/Banshee/Platform/IOProvider">
-    <IOProvider class=""/>
-  </Extension>
-
-  <Extension path="/Banshee/Platform/ConfigurationProvider">
-    <ConfigurationProvider class=""/>
+  <Extension path="/Banshee/Platform/ConfigurationClient">
+    <ConfigurationClient class="Banshee.Gnome.GConfConfigurationClient"/>
   </Extension>
 
 </Addin>

Modified: trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome.mdp
==============================================================================
--- trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome.mdp	(original)
+++ trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome.mdp	Thu Feb  7 06:24:38 2008
@@ -9,8 +9,6 @@
   </Configurations>
   <Contents>
     <File name="Banshee.Gnome.addin.xml" subtype="Code" buildaction="EmbedAsResource" />
-    <File name="Banshee.Gnome" subtype="Directory" buildaction="Compile" />
-    <File name="Banshee.Gnome/GnomeVfs.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Gnome/GConfConfigurationClient.cs" subtype="Code" buildaction="Compile" />
   </Contents>
   <References>

Modified: trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome/GConfConfigurationClient.cs
==============================================================================
--- trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome/GConfConfigurationClient.cs	(original)
+++ trunk/banshee/src/Backends/Banshee.Gnome/Banshee.Gnome/GConfConfigurationClient.cs	Thu Feb  7 06:24:38 2008
@@ -1,54 +1,55 @@
-/***************************************************************************
- *  GConfConfigurationClient.cs
- *
- *  Copyright (C) 2006 Novell, Inc.
- *  Written by Aaron Bockover <aaron abock org>
- ****************************************************************************/
+//
+// GConfConfigurationClient.cs
+//
+// Author:
+//   Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2006-2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
 
-/*  THIS FILE IS LICENSED UNDER THE MIT LICENSE AS OUTLINED IMMEDIATELY BELOW: 
- *
- *  Permission is hereby granted, free of charge, to any person obtaining a
- *  copy of this software and associated documentation files (the "Software"),  
- *  to deal in the Software without restriction, including without limitation  
- *  the rights to use, copy, modify, merge, publish, distribute, sublicense,  
- *  and/or sell copies of the Software, and to permit persons to whom the  
- *  Software is furnished to do so, subject to the following conditions:
- *
- *  The above copyright notice and this permission notice shall be included in 
- *  all copies or substantial portions of the Software.
- *
- *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
- *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
- *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
- *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
- *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
- *  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
- *  DEALINGS IN THE SOFTWARE.
- */
- 
 using System;
 using System.Collections;
 using System.Collections.Generic;
 using GConf;
 
 using Banshee.Base;
+using Banshee.Configuration;
 
-namespace Banshee.Configuration
+namespace Banshee.Gnome
 {
     public class GConfConfigurationClient : IConfigurationClient
     {
         private static string base_key = "/apps/banshee/";
         
         private GConf.Client client;
-        private Dictionary<string, string> key_table = new Dictionary<string, string>();
+        private Dictionary<string, string> key_table = new Dictionary<string, string> ();
         
         private static bool disable_gconf_checked = false;
         private static bool disable_gconf = false;
         
         private static bool DisableGConf {
             get { 
-                if(!disable_gconf_checked) {
-                    disable_gconf = ApplicationContext.EnvironmentIsSet("BANSHEE_DISABLE_GCONF");
+                if (!disable_gconf_checked) {
+                    disable_gconf = ApplicationContext.EnvironmentIsSet ("BANSHEE_DISABLE_GCONF");
                     disable_gconf_checked = true;
                 }
                 
@@ -56,81 +57,77 @@
             }
         }
         
-        public static string BaseKey {
-            get { return base_key; }
-        }
-        
-        private string CreateKeyPart(string part)
+        private string CreateKeyPart (string part)
         {
-            lock(((ICollection)key_table).SyncRoot) {
-                if(!key_table.ContainsKey(part)) {
-                    key_table.Add(part, StringUtil.CamelCaseToUnderCase(part));
+            lock (((ICollection)key_table).SyncRoot) {
+                if (!key_table.ContainsKey (part)) {
+                    key_table.Add (part, StringUtil.CamelCaseToUnderCase (part));
                 }
                 
                 return key_table[part];
             }
         }
         
-        public string CreateKey(string namespce, string key)
+        private string CreateKey (string @namespace, string key)
         {
-            return namespce == null 
-                ? base_key + CreateKeyPart(key)
-                : base_key + CreateKeyPart(namespce.Replace(".", "/")) + "/" + CreateKeyPart(key);
+            return @namespace == null 
+                ? base_key + CreateKeyPart (key)
+                : base_key + CreateKeyPart (@namespace.Replace (".", "/")) + "/" + CreateKeyPart (key);
         }
         
-        public T Get<T>(SchemaEntry<T> entry)
+        public T Get<T> (SchemaEntry<T> entry)
         {
-            return Get<T>(entry.Namespace, entry.Key, entry.DefaultValue);
+            return Get<T> (entry.Namespace, entry.Key, entry.DefaultValue);
         }
         
-        public T Get<T>(SchemaEntry<T> entry, T fallback)
+        public T Get<T> (SchemaEntry<T> entry, T fallback)
         {
-            return Get<T>(entry.Namespace, entry.Key, fallback);
+            return Get<T> (entry.Namespace, entry.Key, fallback);
         }
         
-        public T Get<T>(string key, T fallback)
+        public T Get<T> (string key, T fallback)
         {
-            return Get<T>(null, key, fallback);
+            return Get<T> (null, key, fallback);
         }
         
-        public T Get<T>(string namespce, string key, T fallback)
+        public T Get<T> (string @namespace, string key, T fallback)
         {
-            if(DisableGConf) {
+            if (DisableGConf) {
                 return fallback;
             }
             
-            if(client == null) {
-                client = new GConf.Client();
+            if (client == null) {
+                client = new GConf.Client ();
             }
             
             try {
-                return (T)client.Get(CreateKey(namespce, key));
+                return (T)client.Get (CreateKey (@namespace, key));
             } catch {
                 return fallback;
             }
         }
         
-        public void Set<T>(SchemaEntry<T> entry, T value)
+        public void Set<T> (SchemaEntry<T> entry, T value)
         {
-            Set<T>(entry.Namespace, entry.Key, value);
+            Set<T> (entry.Namespace, entry.Key, value);
         }
         
-        public void Set<T>(string key, T value)
+        public void Set<T> (string key, T value)
         {
-            Set<T>(null, key, value);
+            Set<T> (null, key, value);
         }
         
-        public void Set<T>(string namespce, string key, T value)
+        public void Set<T> (string @namespace, string key, T value)
         {
-            if(DisableGConf) {
+            if (DisableGConf) {
                 return;
             }
             
-            if(client == null) {
-                client = new GConf.Client();
+            if (client == null) {
+                client = new GConf.Client ();
             }
             
-            client.Set(CreateKey(namespce, key), value);
+            client.Set (CreateKey (@namespace, key), value);
         }
     }
 }

Modified: trunk/banshee/src/Backends/Banshee.Gnome/Makefile.am
==============================================================================
--- trunk/banshee/src/Backends/Banshee.Gnome/Makefile.am	(original)
+++ trunk/banshee/src/Backends/Banshee.Gnome/Makefile.am	Thu Feb  7 06:24:38 2008
@@ -1,12 +1,10 @@
 ASSEMBLY = Banshee.Gnome
 TARGET = library
-LINK = $(REF_FIXME)
+LINK = $(REF_BACKEND_GNOME)
 
-SOURCES =  \
-	Banshee.Gnome/GConfConfigurationClient.cs \
-	Banshee.Gnome/GnomeVfs.cs
+SOURCES = Banshee.Gnome/GConfConfigurationClient.cs
 
 RESOURCES = Banshee.Gnome.addin.xml
 
-#include $(top_srcdir)/build/build.mk
+include $(top_srcdir)/build/build.mk
 

Modified: trunk/banshee/src/Core/Banshee.Core/Banshee.Configuration/ConfigurationClient.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Core/Banshee.Configuration/ConfigurationClient.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Core/Banshee.Configuration/ConfigurationClient.cs	Thu Feb  7 06:24:38 2008
@@ -1,80 +1,102 @@
-/***************************************************************************
- *  ConfigurationClient.cs
- *
- *  Copyright (C) 2006 Novell, Inc.
- *  Written by Aaron Bockover <aaron abock org>
- ****************************************************************************/
-
-/*  THIS FILE IS LICENSED UNDER THE MIT LICENSE AS OUTLINED IMMEDIATELY BELOW: 
- *
- *  Permission is hereby granted, free of charge, to any person obtaining a
- *  copy of this software and associated documentation files (the "Software"),  
- *  to deal in the Software without restriction, including without limitation  
- *  the rights to use, copy, modify, merge, publish, distribute, sublicense,  
- *  and/or sell copies of the Software, and to permit persons to whom the  
- *  Software is furnished to do so, subject to the following conditions:
- *
- *  The above copyright notice and this permission notice shall be included in 
- *  all copies or substantial portions of the Software.
- *
- *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
- *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
- *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
- *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
- *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
- *  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
- *  DEALINGS IN THE SOFTWARE.
- */
+//
+// Configurationclient.cs
+//
+// Author:
+//   Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2006-2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
 
 using System;
+using Mono.Addins;
+
+using Banshee.Base;
+
 namespace Banshee.Configuration
 {
     public static class ConfigurationClient
     {
         private static IConfigurationClient client;
 
-        private static IConfigurationClient Client {
-            get {
-                if(client == null) {
-                    client = new XmlConfigurationClient();
+        public static void Initialize ()
+        {
+            lock (typeof (ConfigurationClient)) {
+                if (client != null) {
+                    return;
+                }
+                
+                foreach (TypeExtensionNode node in AddinManager.GetExtensionNodes (
+                    "/Banshee/Platform/ConfigurationClient")) {
+                    try {
+                        client = (IConfigurationClient)node.CreateInstance (typeof (IConfigurationClient));
+                        if (client != null) {
+                            break;
+                        }
+                    } catch (Exception e) {
+                        Log.Warning ("Configuration client extension failed to load", e.Message);
+                    }
+                }
+                
+                if (client == null) {
+                    client = new XmlConfigurationClient ();
                 }
-                return client;
+                
+                Log.DebugFormat ("Configuration client extension loaded ({0})", client.GetType ().FullName);
             }
         }
         
-        public static T Get<T>(SchemaEntry<T> entry)
+        public static T Get<T> (SchemaEntry<T> entry)
         {
-            return Client.Get<T>(entry);
+            return client.Get<T> (entry);
         }
         
-        public static T Get<T>(SchemaEntry<T> entry, T fallback)
+        public static T Get<T> (SchemaEntry<T> entry, T fallback)
         {
-            return Client.Get<T>(entry, fallback);
+            return client.Get<T> (entry, fallback);
         }
         
-        public static T Get<T>(string key, T fallback)
+        public static T Get<T> (string key, T fallback)
         {
-            return Client.Get<T>(key, fallback);
+            return client.Get<T> (key, fallback);
         }
         
-        public static T Get<T>(string namespce, string key, T fallback)
+        public static T Get<T> (string @namespace, string key, T fallback)
         {
-            return Client.Get<T>(namespce, key, fallback);
+            return client.Get<T> (@namespace, key, fallback);
         }
         
-        public static void Set<T>(SchemaEntry<T> entry, T value)
+        public static void Set<T> (SchemaEntry<T> entry, T value)
         {
-            Client.Set<T>(entry, value);
+            client.Set<T> (entry, value);
         }
         
-        public static void Set<T>(string key, T value)
+        public static void Set<T> (string key, T value)
         {
-            Client.Set<T>(key, value);
+            client.Set<T> (key, value);
         }
         
-        public static void Set<T>(string namespce, string key, T value)
+        public static void Set<T> (string @namespace, string key, T value)
         {
-            Client.Set<T>(namespce, key, value);
+            client.Set<T> (@namespace, key, value);
         }
     }
 }
\ No newline at end of file

Modified: trunk/banshee/src/Core/Banshee.Core/Banshee.Configuration/IConfigurationClient.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Core/Banshee.Configuration/IConfigurationClient.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Core/Banshee.Configuration/IConfigurationClient.cs	Thu Feb  7 06:24:38 2008
@@ -1,42 +1,42 @@
-/***************************************************************************
- *  IConfigurationClient.cs
- *
- *  Copyright (C) 2006 Novell, Inc.
- *  Written by Aaron Bockover <aaron abock org>
- ****************************************************************************/
-
-/*  THIS FILE IS LICENSED UNDER THE MIT LICENSE AS OUTLINED IMMEDIATELY BELOW: 
- *
- *  Permission is hereby granted, free of charge, to any person obtaining a
- *  copy of this software and associated documentation files (the "Software"),  
- *  to deal in the Software without restriction, including without limitation  
- *  the rights to use, copy, modify, merge, publish, distribute, sublicense,  
- *  and/or sell copies of the Software, and to permit persons to whom the  
- *  Software is furnished to do so, subject to the following conditions:
- *
- *  The above copyright notice and this permission notice shall be included in 
- *  all copies or substantial portions of the Software.
- *
- *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
- *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
- *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
- *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
- *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
- *  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
- *  DEALINGS IN THE SOFTWARE.
- */
+//
+// IConfigurationClient.cs
+//
+// Author:
+//   Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2006-2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
 
 namespace Banshee.Configuration
 {
     public interface IConfigurationClient
     {
-        T Get<T>(SchemaEntry<T> entry);
-        T Get<T>(SchemaEntry<T> entry, T fallback);
-        T Get<T>(string key, T fallback);
-        T Get<T>(string namespce, string key, T fallback);
+        T Get<T> (SchemaEntry<T> entry);
+        T Get<T> (SchemaEntry<T> entry, T fallback);
+        T Get<T> (string key, T fallback);
+        T Get<T> (string @namespace, string key, T fallback);
         
-        void Set<T>(SchemaEntry<T> entry, T value);
-        void Set<T>(string key, T value);
-        void Set<T>(string namespce, string key, T value);
+        void Set<T> (SchemaEntry<T> entry, T value);
+        void Set<T> (string key, T value);
+        void Set<T> (string @namespace, string key, T value);
     }
 }

Modified: trunk/banshee/src/Core/Banshee.Core/Banshee.Configuration/SchemaEntry.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Core/Banshee.Configuration/SchemaEntry.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Core/Banshee.Configuration/SchemaEntry.cs	Thu Feb  7 06:24:38 2008
@@ -1,60 +1,60 @@
-/***************************************************************************
- *  SchemaEntry.cs
- *
- *  Copyright (C) 2005-2006 Novell, Inc.
- *  Written by Aaron Bockover <aaron abock org>
- ****************************************************************************/
+//
+// SchemaEntry.cs
+//
+// Author:
+//   Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2005-2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
 
-/*  THIS FILE IS LICENSED UNDER THE MIT LICENSE AS OUTLINED IMMEDIATELY BELOW: 
- *
- *  Permission is hereby granted, free of charge, to any person obtaining a
- *  copy of this software and associated documentation files (the "Software"),  
- *  to deal in the Software without restriction, including without limitation  
- *  the rights to use, copy, modify, merge, publish, distribute, sublicense,  
- *  and/or sell copies of the Software, and to permit persons to whom the  
- *  Software is furnished to do so, subject to the following conditions:
- *
- *  The above copyright notice and this permission notice shall be included in 
- *  all copies or substantial portions of the Software.
- *
- *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
- *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
- *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
- *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
- *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
- *  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
- *  DEALINGS IN THE SOFTWARE.
- */
- 
 namespace Banshee.Configuration
 {
     public struct SchemaEntry<T>
     {
         public static SchemaEntry<T> Zero;
     
-        public SchemaEntry(string namespce, string key, T defaultValue, 
+        public SchemaEntry (string @namespace, string key, T defaultValue, 
             string shortDescription, string longDescription)
         {
-            Namespace = namespce;
+            Namespace = @namespace;
             Key = key;
             DefaultValue = defaultValue;
             ShortDescription = shortDescription;
             LongDescription = longDescription;
         }
 
-        public T Get()
+        public T Get ()
         {
-            return ConfigurationClient.Get<T>(this);
+            return ConfigurationClient.Get<T> (this);
         }
 
-        public T Get(T fallback)
+        public T Get (T fallback)
         {
-            return ConfigurationClient.Get<T>(this, fallback);
+            return ConfigurationClient.Get<T> (this, fallback);
         }
 
-        public void Set(T value)
+        public void Set (T value)
         {
-            ConfigurationClient.Set<T>(this, value);
+            ConfigurationClient.Set<T> (this, value);
         }
 
         public readonly string Namespace;

Modified: trunk/banshee/src/Core/Banshee.Core/Banshee.Configuration/XmlConfigurationClient.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Core/Banshee.Configuration/XmlConfigurationClient.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Core/Banshee.Configuration/XmlConfigurationClient.cs	Thu Feb  7 06:24:38 2008
@@ -1,29 +1,30 @@
-/***************************************************************************
- *  XmlConfigurationClient.cs
- *
- *  Copyright (C) 2007 Scott Peterson <lunchtimemama gmail com>
- ****************************************************************************/
-
-/*  THIS FILE IS LICENSED UNDER THE MIT LICENSE AS OUTLINED IMMEDIATELY BELOW: 
- *
- *  Permission is hereby granted, free of charge, to any person obtaining a
- *  copy of this software and associated documentation files (the "Software"),  
- *  to deal in the Software without restriction, including without limitation  
- *  the rights to use, copy, modify, merge, publish, distribute, sublicense,  
- *  and/or sell copies of the Software, and to permit persons to whom the  
- *  Software is furnished to do so, subject to the following conditions:
- *
- *  The above copyright notice and this permission notice shall be included in 
- *  all copies or substantial portions of the Software.
- *
- *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
- *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
- *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
- *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
- *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
- *  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
- *  DEALINGS IN THE SOFTWARE.
- */
+//
+// XmlConfigurationClient.cs
+//
+// Author:
+//   Scott Peterson <lunchtimemama gmail com>
+//
+// Copyright (C) 2007-2008 Scott Peterson
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
 
 using System;
 using System.IO;

Added: trunk/banshee/src/Core/Banshee.Core/Banshee.Core.addin.xml
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Core/Banshee.Core/Banshee.Core.addin.xml	Thu Feb  7 06:24:38 2008
@@ -0,0 +1,11 @@
+<Addin id="Banshee.Core" version="1.0" isroot="true">
+
+  <ExtensionPoint path="/Banshee/Platform/IOProvider">
+    <ExtensionNode name="IOProvider"/>
+  </ExtensionPoint>
+
+  <ExtensionPoint path="/Banshee/Platform/ConfigurationClient">
+    <ExtensionNode name="ConfigurationClient"/>
+  </ExtensionPoint>
+
+</Addin>

Modified: trunk/banshee/src/Core/Banshee.Core/Banshee.Core.mdp
==============================================================================
--- trunk/banshee/src/Core/Banshee.Core/Banshee.Core.mdp	(original)
+++ trunk/banshee/src/Core/Banshee.Core/Banshee.Core.mdp	Thu Feb  7 06:24:38 2008
@@ -13,8 +13,6 @@
     <File name="Banshee.Kernel/Job.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Kernel/JobPriority.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Kernel/Scheduler.cs" subtype="Code" buildaction="Compile" />
-    <File name="Banshee.Configuration/ConfigurationClient.cs" subtype="Code" buildaction="Compile" />
-    <File name="Banshee.Configuration/IConfigurationClient.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Configuration/SchemaEntry.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Base/FileNamePattern.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Base/Paths.cs" subtype="Code" buildaction="Compile" />
@@ -58,7 +56,6 @@
     <File name="Banshee.IO/IFile.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.IO/IDirectory.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.IO/Directory.cs" subtype="Code" buildaction="Compile" />
-    <File name="Banshee.IO.SystemIO" subtype="Directory" buildaction="Compile" />
     <File name="Banshee.IO.SystemIO/Directory.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.IO.SystemIO/File.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.IO.SystemIO/Provider.cs" subtype="Code" buildaction="Compile" />
@@ -69,11 +66,15 @@
     <File name="Banshee.IO/DemuxVfs.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.IO/StreamAssist.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Base/NamingUtil.cs" subtype="Code" buildaction="Compile" />
+    <File name="Banshee.Configuration/ConfigurationClient.cs" subtype="Code" buildaction="Compile" />
+    <File name="Banshee.Configuration/IConfigurationClient.cs" subtype="Code" buildaction="Compile" />
+    <File name="Banshee.Core.addin.xml" subtype="Code" buildaction="EmbedAsResource" />
   </Contents>
   <References>
     <ProjectReference type="Project" localcopy="False" refto="Hyena" />
     <ProjectReference type="Gac" localcopy="True" refto="TagLib, Version=0.0.0.0, Culture=neutral" />
     <ProjectReference type="Gac" localcopy="True" refto="Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
+    <ProjectReference type="Gac" localcopy="True" refto="Mono.Addins, Version=0.3.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
   </References>
   <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="True" RelativeMakefileName="./Makefile.am">
     <BuildFilesVar Sync="True" Name="SOURCES" />

Modified: trunk/banshee/src/Core/Banshee.Core/Banshee.IO/Provider.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Core/Banshee.IO/Provider.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Core/Banshee.IO/Provider.cs	Thu Feb  7 06:24:38 2008
@@ -28,6 +28,7 @@
 
 using System;
 using System.Reflection;
+using Mono.Addins;
 
 using Banshee.Base;
 using Banshee.Configuration;
@@ -47,7 +48,22 @@
                     return;
                 }
                 
-                provider = new Banshee.IO.SystemIO.Provider ();
+                foreach (TypeExtensionNode node in AddinManager.GetExtensionNodes ("/Banshee/Platform/IOProvider")) {
+                    try {
+                        if (node.HasId && node.Id == ProviderSchema.Get ()) {
+                            provider = (IProvider)node.CreateInstance (typeof (IProvider));
+                        }
+                    } catch (Exception e) {
+                        Log.Warning ("IO provider extension failed to load", e.Message);
+                    }
+                }
+                
+                if (provider == null) {
+                    provider = new Banshee.IO.SystemIO.Provider ();
+                }
+                
+                Log.DebugFormat ("IO provider extension loaded ({0})", provider.GetType ().FullName);
+                
                 directory = (IDirectory)Activator.CreateInstance (provider.DirectoryProvider);
                 file = (IFile)Activator.CreateInstance (provider.FileProvider);
             }
@@ -65,5 +81,15 @@
         {
             return (IDemuxVfs)Activator.CreateInstance (provider.DemuxVfsProvider, new object [] { file });
         }
+        
+        public static readonly SchemaEntry<string> ProviderSchema = new SchemaEntry<string> (
+            "core", "io_provider",
+            "Banshee.IO.Unix.Provider",
+            "Set the IO provider backend in Banshee",
+            "Can be either \"Banshee.IO.SystemIO.Provider\" (.NET System.IO), " + 
+                "\"Banshee.IO.Unix.Provider\" (Native Unix/POSIX), or " +
+                "\"Banshee.IO.GnomeVfs.Provider\" (GNOME VFS); " +
+                "takes effect on Banshee start (restart necessary)"
+        );
     }
 }

Modified: trunk/banshee/src/Core/Banshee.Core/Makefile.am
==============================================================================
--- trunk/banshee/src/Core/Banshee.Core/Makefile.am	(original)
+++ trunk/banshee/src/Core/Banshee.Core/Makefile.am	Thu Feb  7 06:24:38 2008
@@ -61,6 +61,7 @@
 	Banshee.Streaming/StreamTagger.cs
 
 RESOURCES =  \
+	Banshee.Core.addin.xml \
 	Resources/contributors.xml \
 	Resources/COPYING \
 	Resources/translators.xml

Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs	(original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs	Thu Feb  7 06:24:38 2008
@@ -73,6 +73,8 @@
             AddinManager.Initialize (ApplicationContext.CommandLine.Contains ("uninstalled") 
                 ? "." : UserAddinCachePath);
             
+            Banshee.Configuration.ConfigurationClient.Initialize ();
+        
             if (ApplicationContext.Debugging) {
                 AddinManager.Registry.Rebuild (null /*new ConsoleProgressStatus (true)*/);
             }

Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Services.mdp
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Services.mdp	(original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Services.mdp	Thu Feb  7 06:24:38 2008
@@ -119,9 +119,14 @@
     <File name="Banshee.ServiceStack/IExtensionService.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Configuration/DatabaseConfigurationClient.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Sources/SourceMergeType.cs" subtype="Code" buildaction="Compile" />
-    <File name="Banshee.Base" subtype="Directory" buildaction="Compile" />
     <File name="Banshee.Base/RateLimiter.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Base/ThreadAssist.cs" subtype="Code" buildaction="Compile" />
+    <File name="Banshee.Query/BansheeQuery.cs" subtype="Code" buildaction="Compile" />
+    <File name="Banshee.Query/NaturalIntegerQueryValue.cs" subtype="Code" buildaction="Compile" />
+    <File name="Banshee.Query/PlaylistQueryValue.cs" subtype="Code" buildaction="Compile" />
+    <File name="Banshee.Query/RatingQueryValue.cs" subtype="Code" buildaction="Compile" />
+    <File name="Banshee.Query/SmartPlaylistQueryValue.cs" subtype="Code" buildaction="Compile" />
+    <File name="Banshee.Query/YearQueryValue.cs" subtype="Code" buildaction="Compile" />
   </Contents>
   <References>
     <ProjectReference type="Gac" localcopy="True" refto="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp	Thu Feb  7 06:24:38 2008
@@ -81,6 +81,10 @@
     <File name="Banshee.Sources.Gui/SourceView_DragAndDrop.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Gui.Dialogs/PreferencesDialog.cs" subtype="Code" buildaction="Compile" />
     <File name="Banshee.Collection.Gui/ColumnCellTrackNumber.cs" subtype="Code" buildaction="Compile" />
+    <File name="Banshee.Query.Gui/BansheeQueryBox.cs" subtype="Code" buildaction="Compile" />
+    <File name="Banshee.Query.Gui/RatingQueryValueEntry.cs" subtype="Code" buildaction="Compile" />
+    <File name="Banshee.Query.Gui/PlaylistQueryValueEntry.cs" subtype="Code" buildaction="Compile" />
+    <File name="Banshee.SmartPlaylist.Gui/Editor.cs" subtype="Code" buildaction="Compile" />
   </Contents>
   <References>
     <ProjectReference type="Project" localcopy="False" refto="Hyena.Gui" />

Modified: trunk/banshee/src/Core/Banshee.ThickClient/Makefile.am
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Makefile.am	(original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Makefile.am	Thu Feb  7 06:24:38 2008
@@ -62,8 +62,8 @@
 	Banshee.Library.Gui/FolderImportSource.cs \
 	Banshee.Library.Gui/ImportDialog.cs \
 	Banshee.Query.Gui/BansheeQueryBox.cs \
-	Banshee.Query.Gui/RatingQueryValueEntry.cs \
 	Banshee.Query.Gui/PlaylistQueryValueEntry.cs \
+	Banshee.Query.Gui/RatingQueryValueEntry.cs \
 	Banshee.SmartPlaylist.Gui/Editor.cs \
 	Banshee.Sources.Gui/CellEditEntry.cs \
 	Banshee.Sources.Gui/SourceRowRenderer.cs \

Modified: trunk/banshee/src/Core/Hyena.Gui/Hyena.Gui.mdp
==============================================================================
--- trunk/banshee/src/Core/Hyena.Gui/Hyena.Gui.mdp	(original)
+++ trunk/banshee/src/Core/Hyena.Gui/Hyena.Gui.mdp	Thu Feb  7 06:24:38 2008
@@ -33,6 +33,12 @@
     <File name="Hyena.Gui.Theatrics/Actor.cs" subtype="Code" buildaction="Compile" />
     <File name="Hyena.Gui.Theatrics/Stage.cs" subtype="Code" buildaction="Compile" />
     <File name="Hyena.Gui.Theatrics/SingleActorStage.cs" subtype="Code" buildaction="Compile" />
+    <File name="Hyena.Query.Gui/DateQueryValueEntry.cs" subtype="Code" buildaction="Compile" />
+    <File name="Hyena.Query.Gui/IntegerQueryValueEntry.cs" subtype="Code" buildaction="Compile" />
+    <File name="Hyena.Query.Gui/QueryBox.cs" subtype="Code" buildaction="Compile" />
+    <File name="Hyena.Query.Gui/QueryTermBox.cs" subtype="Code" buildaction="Compile" />
+    <File name="Hyena.Query.Gui/QueryValueEntry.cs" subtype="Code" buildaction="Compile" />
+    <File name="Hyena.Query.Gui/StringQueryValueEntry.cs" subtype="Code" buildaction="Compile" />
   </Contents>
   <References>
     <ProjectReference type="Gac" localcopy="True" refto="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

Modified: trunk/banshee/src/Core/Hyena/Hyena.mdp
==============================================================================
--- trunk/banshee/src/Core/Hyena/Hyena.mdp	(original)
+++ trunk/banshee/src/Core/Hyena/Hyena.mdp	Thu Feb  7 06:24:38 2008
@@ -73,6 +73,7 @@
     <File name="Hyena.SExpEngine/UtilityFunctionSet.cs" subtype="Code" buildaction="Compile" />
     <File name="Hyena.Data/ArrayModelCache.cs" subtype="Code" buildaction="Compile" />
     <File name="Hyena.Data/DictionaryModelCache.cs" subtype="Code" buildaction="Compile" />
+    <File name="Hyena.Query/AliasedObjectSet.cs" subtype="Code" buildaction="Compile" />
   </Contents>
   <References>
     <ProjectReference type="Gac" localcopy="True" refto="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />



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