[rygel-grilo] Rename from MS1/ms-server1 to MS2/ms-server2



commit ede1bc8f6887f6f2fcbe7f1b4d712e5517febb45
Author: Juan A. Suarez Romero <jasuarez igalia com>
Date:   Mon Jun 14 16:26:37 2010 +0200

    Rename from MS1/ms-server1 to MS2/ms-server2
    
    MediaServer1 specification has been bumped up.
    
    MediaServer1 now refers to old and deprecated version, while the new one is now
    MediaServer2 spec.
    
    It is worth to say that all time MediaServer2 specification was the one
    implemented, though we were referring it as MediaServer1.

 Makefile.am                                        |    2 +-
 configure.ac                                       |    2 +-
 lib/Makefile.am                                    |   30 +-
 lib/media-server1-client.h                         |  206 ----------
 lib/media-server1-common.h                         |   92 -----
 ...dia-server1-client.c => media-server2-client.c} |  426 ++++++++++----------
 lib/media-server2-client.h                         |  206 ++++++++++
 lib/media-server2-common.h                         |   92 +++++
 ...trospection.h => media-server2-introspection.h} |   28 +-
 ...server1-observer.c => media-server2-observer.c} |   70 ++--
 ...server1-observer.h => media-server2-observer.h} |   56 ++--
 ...a-server1-private.h => media-server2-private.h} |   24 +-
 ...server-table.c => media-server2-server-table.c} |  312 +++++++-------
 ...dia-server1-server.c => media-server2-server.c} |  234 ++++++------
 ...dia-server1-server.h => media-server2-server.h} |  134 +++---
 mediaserver1.pc.in => mediaserver2.pc.in           |    6 +-
 src/Makefile.am                                    |    4 +-
 src/rygel-grilo.c                                  |  170 ++++----
 src/test-client.c                                  |  144 ++++----
 19 files changed, 1119 insertions(+), 1119 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index bf0d687..62a9c86 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -8,7 +8,7 @@
 SUBDIRS = lib src data
 
 pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = mediaserver1.pc
+pkgconfig_DATA = mediaserver2.pc
 
 MAINTAINERCLEANFILES = \
         aclocal.m4 \
diff --git a/configure.ac b/configure.ac
index 7f5be2c..5809eea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -85,7 +85,7 @@ AC_SUBST([sysconfdir])
 
 AC_CONFIG_FILES([
   Makefile
-  mediaserver1.pc
+  mediaserver2.pc
   lib/Makefile
   src/Makefile
   data//Makefile
diff --git a/lib/Makefile.am b/lib/Makefile.am
index ec3531f..78a9311 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -7,29 +7,29 @@
 
 INCLUDES = @DEPS_CFLAGS@
 
-lib_LTLIBRARIES = libmediaserver1.la
+lib_LTLIBRARIES = libmediaserver2.la
 
-libmediaserver1_la_CFLAGS =	\
+libmediaserver2_la_CFLAGS =	\
 	$(DEPS_CFLAGS)		\
 	-I$(srcdir)
 
-libmediaserver1_la_LIBADD =	\
+libmediaserver2_la_LIBADD =	\
 	$(DEPS_LIBS)
 
-libmediaserver1_la_SOURCES =		\
-	media-server1-introspection.h	\
-	media-server1-server-table.c	\
-	media-server1-server.c		\
-	media-server1-client.c		\
-	media-server1-observer.c
+libmediaserver2_la_SOURCES =		\
+	media-server2-introspection.h	\
+	media-server2-server-table.c	\
+	media-server2-server.c		\
+	media-server2-client.c		\
+	media-server2-observer.c
 
-libmediaserver1inc_HEADERS =	\
-	media-server1-common.h	\
-	media-server1-server.h	\
-	media-server1-client.h	\
-	media-server1-observer.h
+libmediaserver2inc_HEADERS =	\
+	media-server2-common.h	\
+	media-server2-server.h	\
+	media-server2-client.h	\
+	media-server2-observer.h
 
-libmediaserver1incdir =	$(includedir)
+libmediaserver2incdir =	$(includedir)
 
 MAINTAINERCLEANFILES =	\
 	*.in
diff --git a/lib/media-server1-client.c b/lib/media-server2-client.c
similarity index 79%
rename from lib/media-server1-client.c
rename to lib/media-server2-client.c
index e82a0be..5faddf2 100644
--- a/lib/media-server1-client.c
+++ b/lib/media-server2-client.c
@@ -23,15 +23,15 @@
 #include <dbus/dbus-glib-bindings.h>
 #include <string.h>
 
-#include "media-server1-private.h"
-#include "media-server1-client.h"
+#include "media-server2-private.h"
+#include "media-server2-client.h"
 
 #define IMEDIAOBJECT1_INDEX    0
 #define IMEDIAITEM1_INDEX      1
 #define IMEDIACONTAINER1_INDEX 2
 
-#define MS1_CLIENT_GET_PRIVATE(o)                                       \
-  G_TYPE_INSTANCE_GET_PRIVATE((o), MS1_TYPE_CLIENT, MS1ClientPrivate)
+#define MS2_CLIENT_GET_PRIVATE(o)                                       \
+  G_TYPE_INSTANCE_GET_PRIVATE((o), MS2_TYPE_CLIENT, MS2ClientPrivate)
 
 /*
  * Structure to store data for asynchronous operations
@@ -69,13 +69,13 @@ enum {
 };
 
 /*
- * Private MS1Client structure
+ * Private MS2Client structure
  *   bus: connection to DBus session
  *   name: name of provider
  *   fullname: full dbus service name of provider
  *   root_path: object path to reach root category
  */
-struct _MS1ClientPrivate {
+struct _MS2ClientPrivate {
   DBusGConnection *bus;
   gchar *name;
   gchar *fullname;
@@ -88,7 +88,7 @@ static gchar *IFACES[] = { "org.gnome.UPnP.MediaObject1",
                            "org.gnome.UPnP.MediaItem1",
                            "org.gnome.UPnP.MediaContainer1" };
 
-G_DEFINE_TYPE (MS1Client, ms1_client, G_TYPE_OBJECT);
+G_DEFINE_TYPE (MS2Client, ms2_client, G_TYPE_OBJECT);
 
 /******************** PRIVATE API ********************/
 
@@ -142,17 +142,17 @@ split_properties_by_interface (gchar **properties)
   split[IMEDIAITEM1_INDEX] = g_new0 (gchar *, prop_length);
   split[IMEDIACONTAINER1_INDEX ] = g_new0 (gchar *, prop_length);
   for (property = properties; *property; property++) {
-    if (g_strcmp0 (*property, MS1_PROP_DISPLAY_NAME) == 0 ||
-        g_strcmp0 (*property, MS1_PROP_PARENT) == 0 ||
-        g_strcmp0 (*property, MS1_PROP_PATH) == 0 ||
-        g_strcmp0 (*property, MS1_PROP_TYPE) == 0) {
+    if (g_strcmp0 (*property, MS2_PROP_DISPLAY_NAME) == 0 ||
+        g_strcmp0 (*property, MS2_PROP_PARENT) == 0 ||
+        g_strcmp0 (*property, MS2_PROP_PATH) == 0 ||
+        g_strcmp0 (*property, MS2_PROP_TYPE) == 0) {
       split[IMEDIAOBJECT1_INDEX][mo_index++] = *property;
-    } else if (g_strcmp0 (*property, MS1_PROP_CHILD_COUNT) == 0 ||
-               g_strcmp0 (*property, MS1_PROP_ITEMS) == 0 ||
-               g_strcmp0 (*property, MS1_PROP_ITEM_COUNT) == 0 ||
-               g_strcmp0 (*property, MS1_PROP_CONTAINERS) == 0 ||
-               g_strcmp0 (*property, MS1_PROP_CONTAINER_COUNT) == 0 ||
-               g_strcmp0 (*property, MS1_PROP_SEARCHABLE) == 0) {
+    } else if (g_strcmp0 (*property, MS2_PROP_CHILD_COUNT) == 0 ||
+               g_strcmp0 (*property, MS2_PROP_ITEMS) == 0 ||
+               g_strcmp0 (*property, MS2_PROP_ITEM_COUNT) == 0 ||
+               g_strcmp0 (*property, MS2_PROP_CONTAINERS) == 0 ||
+               g_strcmp0 (*property, MS2_PROP_CONTAINER_COUNT) == 0 ||
+               g_strcmp0 (*property, MS2_PROP_SEARCHABLE) == 0) {
       split[IMEDIACONTAINER1_INDEX][mc_index++] = *property;
     } else {
       split[IMEDIAITEM1_INDEX][mi_index++] = *property;
@@ -315,42 +315,42 @@ get_all_reply (DBusGProxy *proxy,
 
 /* Dispose function */
 static void
-ms1_client_dispose (GObject *object)
+ms2_client_dispose (GObject *object)
 {
-  MS1Client *client = MS1_CLIENT (object);
+  MS2Client *client = MS2_CLIENT (object);
 
-  ms1_observer_remove_client (client, client->priv->name);
+  ms2_observer_remove_client (client, client->priv->name);
 
-  G_OBJECT_CLASS (ms1_client_parent_class)->dispose (object);
+  G_OBJECT_CLASS (ms2_client_parent_class)->dispose (object);
 }
 
 /* Finalize function */
 static void
-ms1_client_finalize (GObject *object)
+ms2_client_finalize (GObject *object)
 {
-  MS1Client *client = MS1_CLIENT (object);
+  MS2Client *client = MS2_CLIENT (object);
 
   g_free (client->priv->name);
   g_free (client->priv->fullname);
   g_free (client->priv->root_path);
 
-  G_OBJECT_CLASS (ms1_client_parent_class)->finalize (object);
+  G_OBJECT_CLASS (ms2_client_parent_class)->finalize (object);
 }
 
 /* Class init function */
 static void
-ms1_client_class_init (MS1ClientClass *klass)
+ms2_client_class_init (MS2ClientClass *klass)
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (MS1ClientPrivate));
+  g_type_class_add_private (klass, sizeof (MS2ClientPrivate));
 
-  gobject_class->dispose = ms1_client_dispose;
-  gobject_class->finalize = ms1_client_finalize;
+  gobject_class->dispose = ms2_client_dispose;
+  gobject_class->finalize = ms2_client_finalize;
 
   /**
-   * MS1Client::updated:
-   * @client: a #MS1Client
+   * MS2Client::updated:
+   * @client: a #MS2Client
    * @id: identifier of item that has changed
    *
    * Notifies when an item in provider has changed.
@@ -358,7 +358,7 @@ ms1_client_class_init (MS1ClientClass *klass)
   signals[UPDATED] = g_signal_new ("updated",
                                    G_TYPE_FROM_CLASS (klass),
                                    G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE,
-                                   G_STRUCT_OFFSET (MS1ClientClass, updated),
+                                   G_STRUCT_OFFSET (MS2ClientClass, updated),
                                    NULL,
                                    NULL,
                                    g_cclosure_marshal_VOID__STRING,
@@ -367,8 +367,8 @@ ms1_client_class_init (MS1ClientClass *klass)
                                    G_TYPE_STRING);
 
   /**
-   * MS1Client::destroy:
-   * @client: a #MS1Client
+   * MS2Client::destroy:
+   * @client: a #MS2Client
    *
    * Notifies when a client is going to be destroyed. Usually this happens when
    * provider goes away.
@@ -380,7 +380,7 @@ ms1_client_class_init (MS1ClientClass *klass)
   signals[DESTROY] = g_signal_new ("destroy",
                                    G_TYPE_FROM_CLASS (klass),
                                    G_SIGNAL_RUN_LAST | G_SIGNAL_RUN_CLEANUP,
-                                   G_STRUCT_OFFSET (MS1ClientClass, destroy),
+                                   G_STRUCT_OFFSET (MS2ClientClass, destroy),
                                    NULL,
                                    NULL,
                                    g_cclosure_marshal_VOID__VOID,
@@ -390,25 +390,25 @@ ms1_client_class_init (MS1ClientClass *klass)
 
 /* Object init function */
 static void
-ms1_client_init (MS1Client *client)
+ms2_client_init (MS2Client *client)
 {
-  client->priv = MS1_CLIENT_GET_PRIVATE (client);
+  client->priv = MS2_CLIENT_GET_PRIVATE (client);
 }
 
 /****************** INTERNAL PUBLIC API (NOT TO BE EXPORTED) ******************/
 
 /* Notify destruction of client; client should not use this client any more*/
 void
-ms1_client_notify_destroy (MS1Client *client)
+ms2_client_notify_destroy (MS2Client *client)
 {
-  g_return_if_fail (MS1_IS_CLIENT (client));
+  g_return_if_fail (MS2_IS_CLIENT (client));
 
   g_signal_emit (client, signals[DESTROY], 0);
 }
 
 /* Notify update of object_path */
 void
-ms1_client_notify_updated (MS1Client *client,
+ms2_client_notify_updated (MS2Client *client,
                            const gchar *object_path)
 {
   g_signal_emit (client, signals[UPDATED], 0, object_path);
@@ -417,14 +417,14 @@ ms1_client_notify_updated (MS1Client *client,
 /******************** PUBLIC API ********************/
 
 /**
- * ms1_client_get_providers:
+ * ms2_client_get_providers:
  *
- * Returns a list of content providers following MediaServer1 specification.
+ * Returns a list of content providers following MediaServer2 specification.
  *
  * Returns: a new @NULL-terminated array of strings
  **/
 gchar **
-ms1_client_get_providers ()
+ms2_client_get_providers ()
 {
   DBusGConnection *connection;
   DBusGProxy *gproxy;
@@ -434,7 +434,7 @@ ms1_client_get_providers ()
   gchar **list_providers;
   gchar **p;
   gint i;
-  gint prefix_size = strlen (MS1_DBUS_SERVICE_PREFIX);
+  gint prefix_size = strlen (MS2_DBUS_SERVICE_PREFIX);
 
   connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
   if (!connection) {
@@ -462,10 +462,10 @@ ms1_client_get_providers ()
     return FALSE;
   }
 
-  /* Filter the list to obtain those services that fulfils MediaServer1 spec */
+  /* Filter the list to obtain those services that fulfils MediaServer2 spec */
   providers = g_ptr_array_new ();
   for (p = dbus_names; *p; p++) {
-    if (g_str_has_prefix (*p, MS1_DBUS_SERVICE_PREFIX)) {
+    if (g_str_has_prefix (*p, MS2_DBUS_SERVICE_PREFIX)) {
       g_ptr_array_add (providers, *p);
     }
   }
@@ -486,21 +486,21 @@ ms1_client_get_providers ()
 }
 
 /**
- * ms1_client_new:
+ * ms2_client_new:
  * @provider: provider name.
  *
- * Create a new #MS1Client that will be used to obtain content from the provider
+ * Create a new #MS2Client that will be used to obtain content from the provider
  * specified.
  *
- * Providers can be obtained with ms1_client_get_providers().
+ * Providers can be obtained with ms2_client_get_providers().
  *
- * Returns: a new #MS1Client
+ * Returns: a new #MS2Client
  **/
-MS1Client *ms1_client_new (const gchar *provider)
+MS2Client *ms2_client_new (const gchar *provider)
 {
   DBusGConnection *connection;
   GError *error = NULL;
-  MS1Client *client;
+  MS2Client *client;
 
   connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
   if (!connection) {
@@ -509,51 +509,51 @@ MS1Client *ms1_client_new (const gchar *provider)
     return NULL;
   }
 
-  client = g_object_new (MS1_TYPE_CLIENT, NULL);
+  client = g_object_new (MS2_TYPE_CLIENT, NULL);
   client->priv->bus = connection;
   client->priv->name = g_strdup (provider);
-  client->priv->fullname = g_strconcat (MS1_DBUS_SERVICE_PREFIX, provider, NULL);
-  client->priv->root_path = g_strconcat (MS1_DBUS_PATH_PREFIX, provider, NULL);
+  client->priv->fullname = g_strconcat (MS2_DBUS_SERVICE_PREFIX, provider, NULL);
+  client->priv->root_path = g_strconcat (MS2_DBUS_PATH_PREFIX, provider, NULL);
 
-  ms1_observer_add_client (client, provider);
+  ms2_observer_add_client (client, provider);
 
   return client;
 }
 
 /**
- * ms1_client_get_provider_name:
- * @client: a #MS1Client
+ * ms2_client_get_provider_name:
+ * @client: a #MS2Client
  *
  * Returns name of provider which client is attending
  *
  * Returns: name of provider
  **/
 const gchar *
-ms1_client_get_provider_name (MS1Client *client)
+ms2_client_get_provider_name (MS2Client *client)
 {
-  g_return_val_if_fail (MS1_IS_CLIENT (client), NULL);
+  g_return_val_if_fail (MS2_IS_CLIENT (client), NULL);
 
   return client->priv->name;
 }
 
 /**
- * ms1_client_get_properties_async:
- * @client: a #MS1Client
+ * ms2_client_get_properties_async:
+ * @client: a #MS2Client
  * @object_path: media identifier to obtain properties from
  * @callback: a #GAsyncReadyCallback to call when request is satisfied
  * @user_data: the data to pass to callback function
  *
  * Starts an asynchronous request of properties.
  *
- * For more details, see ms1_client_get_properties(), which is the synchronous
+ * For more details, see ms2_client_get_properties(), which is the synchronous
  * version of this call.
  *
  * When the result has been obtained, @callback will be called with
- * @user_data. To finish the operation, call ms1_client_get_properties_finish()
+ * @user_data. To finish the operation, call ms2_client_get_properties_finish()
  * with the #GAsyncResult returned by the @callback.
  **/
 void
-ms1_client_get_properties_async (MS1Client *client,
+ms2_client_get_properties_async (MS2Client *client,
                                  const gchar *object_path,
                                  gchar **properties,
                                  GAsyncReadyCallback callback,
@@ -566,12 +566,12 @@ ms1_client_get_properties_async (MS1Client *client,
   gint i;
   gint num_props;
 
-  g_return_if_fail (MS1_IS_CLIENT (client));
+  g_return_if_fail (MS2_IS_CLIENT (client));
 
   res = g_simple_async_result_new (G_OBJECT (client),
                                    callback,
                                    user_data,
-                                   ms1_client_get_properties_async);
+                                   ms2_client_get_properties_async);
   adata = g_slice_new0 (AsyncData);
   g_simple_async_result_set_op_res_gpointer (res,
                                              adata,
@@ -622,8 +622,8 @@ ms1_client_get_properties_async (MS1Client *client,
 }
 
 /**
- * ms1_client_get_properties_finish:
- * @client: a #MS1Client
+ * ms2_client_get_properties_finish:
+ * @client: a #MS2Client
  * @res: a #GAsyncResult
  * @error: a #GError location to store the error ocurring, or @NULL to ignore
  *
@@ -632,14 +632,14 @@ ms1_client_get_properties_async (MS1Client *client,
  * Returns: a new #GHashTable
  **/
 GHashTable *
-ms1_client_get_properties_finish (MS1Client *client,
+ms2_client_get_properties_finish (MS2Client *client,
                                   GAsyncResult *res,
                                   GError **error)
 {
   AsyncData *adata;
 
   g_return_val_if_fail (g_simple_async_result_get_source_tag (G_SIMPLE_ASYNC_RESULT (res)) ==
-                        ms1_client_get_properties_async, NULL);
+                        ms2_client_get_properties_async, NULL);
 
   adata = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (res));
 
@@ -657,8 +657,8 @@ ms1_client_get_properties_finish (MS1Client *client,
 }
 
 /**
- * ms1_client_get_properties:
- * @client: a #MS1Client
+ * ms2_client_get_properties:
+ * @client: a #MS2Client
  * @object_path: media identifier to obtain properties from
  * @properties: @NULL-terminated array of properties to request
  * @error: a #GError location to store the error ocurring, or @NULL to ignore
@@ -669,7 +669,7 @@ ms1_client_get_properties_finish (MS1Client *client,
  * Returns: a new #GHashTable
  **/
 GHashTable *
-ms1_client_get_properties (MS1Client *client,
+ms2_client_get_properties (MS2Client *client,
                            const gchar *object_path,
                            gchar **properties,
                            GError **error)
@@ -686,7 +686,7 @@ ms1_client_get_properties (MS1Client *client,
   gpointer prop_result_key;
   gpointer prop_result_value;
 
-  g_return_val_if_fail (MS1_IS_CLIENT (client), NULL);
+  g_return_val_if_fail (MS2_IS_CLIENT (client), NULL);
   g_return_val_if_fail (properties, NULL);
 
   gproxy = dbus_g_proxy_new_for_name (client->priv->bus,
@@ -767,8 +767,8 @@ ms1_client_get_properties (MS1Client *client,
 }
 
 /**
- * ms1_client_list_children_async:
- * @client: a #MS1Client
+ * ms2_client_list_children_async:
+ * @client: a #MS2Client
  * @object_path: container identifier to get children from
  * @offset: number of children to skip
  * @max_count: maximum number of children to return, or 0 for no limit
@@ -778,15 +778,15 @@ ms1_client_get_properties (MS1Client *client,
  *
  * Starts an asynchronous list children.
  *
- * For more details, see ms1_client_list_children(), which is the synchronous
+ * For more details, see ms2_client_list_children(), which is the synchronous
  * version of this call.
  *
  * When the children have been obtained, @callback will be called with
- * @user_data. To finish the operation, call ms1_client_list_children_finish()
+ * @user_data. To finish the operation, call ms2_client_list_children_finish()
  * with the #GAsyncResult returned by the @callback.
  **/
 void
-ms1_client_list_children_async (MS1Client *client,
+ms2_client_list_children_async (MS2Client *client,
                                 const gchar *object_path,
                                 guint offset,
                                 guint max_count,
@@ -797,12 +797,12 @@ ms1_client_list_children_async (MS1Client *client,
   AsyncData *adata;
   GSimpleAsyncResult *res;
 
-  g_return_if_fail (MS1_IS_CLIENT (client));
+  g_return_if_fail (MS2_IS_CLIENT (client));
 
   res = g_simple_async_result_new (G_OBJECT (client),
                                    callback,
                                    user_data,
-                                   ms1_client_list_children_async);
+                                   ms2_client_list_children_async);
   adata = g_slice_new0 (AsyncData);
   g_simple_async_result_set_op_res_gpointer (res,
                                              adata,
@@ -822,8 +822,8 @@ ms1_client_list_children_async (MS1Client *client,
 }
 
 /**
- * ms1_client_list_children_finish:
- * @client: a #MS1Client
+ * ms2_client_list_children_finish:
+ * @client: a #MS2Client
  * @res: a #GAsyncResult
  * @error: a #GError location to store the error ocurring, or @NULL to ignore
  *
@@ -833,14 +833,14 @@ ms1_client_list_children_async (MS1Client *client,
  * (g_hash_table_unref()) and finally the list itself (g_list_free())
  **/
 GList *
-ms1_client_list_children_finish (MS1Client *client,
+ms2_client_list_children_finish (MS2Client *client,
                                  GAsyncResult *res,
                                  GError **error)
 {
   AsyncData *adata;
 
   g_return_val_if_fail (g_simple_async_result_get_source_tag (G_SIMPLE_ASYNC_RESULT (res)) ==
-                        ms1_client_list_children_async, NULL);
+                        ms2_client_list_children_async, NULL);
 
   adata = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (res));
 
@@ -852,8 +852,8 @@ ms1_client_list_children_finish (MS1Client *client,
 }
 
 /**
- * ms1_client_list_children:
- * @client: a #MS1Client
+ * ms2_client_list_children:
+ * @client: a #MS2Client
  * @object_path: container identifier to get children from
  * @offset: number of children to skip
  * @max_count: maximum number of children to return, or 0 for no limit
@@ -867,7 +867,7 @@ ms1_client_list_children_finish (MS1Client *client,
  * (g_hash_table_unref()) and finally the list itself (g_list_free())
  **/
 GList *
-ms1_client_list_children (MS1Client *client,
+ms2_client_list_children (MS2Client *client,
                           const gchar *object_path,
                           guint offset,
                           guint max_count,
@@ -878,7 +878,7 @@ ms1_client_list_children (MS1Client *client,
   GList *children = NULL;
   GPtrArray *result = NULL;
 
-  g_return_val_if_fail (MS1_IS_CLIENT (client), NULL);
+  g_return_val_if_fail (MS2_IS_CLIENT (client), NULL);
   g_return_val_if_fail (properties, NULL);
 
   gproxy = dbus_g_proxy_new_for_name (client->priv->bus,
@@ -907,8 +907,8 @@ ms1_client_list_children (MS1Client *client,
 }
 
 /**
- * ms1_client_search_objects_async:
- * @client: a #MS1Client
+ * ms2_client_search_objects_async:
+ * @client: a #MS2Client
  * @object_path: container identifier to start search from
  * @query: query to perform
  * @offset: number of children to skip
@@ -919,15 +919,15 @@ ms1_client_list_children (MS1Client *client,
  *
  * Starts an asynchronous search.
  *
- * For more details, see ms1_client_search_objects(), which is the synchronous
+ * For more details, see ms2_client_search_objects(), which is the synchronous
  * version of this call.
  *
  * When the result has been obtained, @callback will be called with
- * @user_data. To finish the operation, call ms1_client_search_objects_finish()
+ * @user_data. To finish the operation, call ms2_client_search_objects_finish()
  * with the #GAsyncResult returned by the @callback.
  **/
 void
-ms1_client_search_objects_async (MS1Client *client,
+ms2_client_search_objects_async (MS2Client *client,
                                  const gchar *object_path,
                                  const gchar *query,
                                  guint offset,
@@ -939,12 +939,12 @@ ms1_client_search_objects_async (MS1Client *client,
   AsyncData *adata;
   GSimpleAsyncResult *res;
 
-  g_return_if_fail (MS1_IS_CLIENT (client));
+  g_return_if_fail (MS2_IS_CLIENT (client));
 
   res = g_simple_async_result_new (G_OBJECT (client),
                                    callback,
                                    user_data,
-                                   ms1_client_search_objects_async);
+                                   ms2_client_search_objects_async);
   adata = g_slice_new0 (AsyncData);
   g_simple_async_result_set_op_res_gpointer (res,
                                              adata,
@@ -967,8 +967,8 @@ ms1_client_search_objects_async (MS1Client *client,
 
 
 /**
- * ms1_client_search_objects_finish:
- * @client: a #MS1Client
+ * ms2_client_search_objects_finish:
+ * @client: a #MS2Client
  * @res: a #GAsyncResult
  * @error: a #GError location to store the error ocurring, or @NULL to ignore
  *
@@ -978,14 +978,14 @@ ms1_client_search_objects_async (MS1Client *client,
  * (g_hash_table_unref()) and finally the list itself (g_list_free())
  **/
 GList *
-ms1_client_search_objects_finish (MS1Client *client,
+ms2_client_search_objects_finish (MS2Client *client,
                                   GAsyncResult *res,
                                   GError **error)
 {
   AsyncData *adata;
 
   g_return_val_if_fail (g_simple_async_result_get_source_tag (G_SIMPLE_ASYNC_RESULT (res)) ==
-                        ms1_client_search_objects_async, NULL);
+                        ms2_client_search_objects_async, NULL);
 
   adata = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (res));
 
@@ -997,8 +997,8 @@ ms1_client_search_objects_finish (MS1Client *client,
 }
 
 /**
- * ms1_client_search_objects:
- * @client: a #MS1Client
+ * ms2_client_search_objects:
+ * @client: a #MS2Client
  * @object_path: container identifier to start search fromç
  * @query: query to perform
  * @offset: number of children to skip
@@ -1013,7 +1013,7 @@ ms1_client_search_objects_finish (MS1Client *client,
  * (g_hash_table_unref()) and finally the list itself (g_list_free())
  **/
 GList *
-ms1_client_search_objects (MS1Client *client,
+ms2_client_search_objects (MS2Client *client,
                            const gchar *object_path,
                            const gchar *query,
                            guint offset,
@@ -1025,7 +1025,7 @@ ms1_client_search_objects (MS1Client *client,
   GList *children = NULL;
   GPtrArray *result = NULL;
 
-  g_return_val_if_fail (MS1_IS_CLIENT (client), NULL);
+  g_return_val_if_fail (MS2_IS_CLIENT (client), NULL);
   g_return_val_if_fail (properties, NULL);
 
   gproxy = dbus_g_proxy_new_for_name (client->priv->bus,
@@ -1055,9 +1055,9 @@ ms1_client_search_objects (MS1Client *client,
 }
 
 const gchar *
-ms1_client_get_root_path (MS1Client *client)
+ms2_client_get_root_path (MS2Client *client)
 {
-  g_return_val_if_fail (MS1_IS_CLIENT (client), NULL);
+  g_return_val_if_fail (MS2_IS_CLIENT (client), NULL);
 
   return client->priv->root_path;
 }
@@ -1065,7 +1065,7 @@ ms1_client_get_root_path (MS1Client *client)
 /******************** PROPERTIES TABLE API ********************/
 
 /**
- * ms1_client_get_path:
+ * ms2_client_get_path:
  * @properties: a #GHashTable
  *
  * Returns "Path" property value.
@@ -1073,13 +1073,13 @@ ms1_client_get_root_path (MS1Client *client)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms1_client_get_path (GHashTable *properties)
+ms2_client_get_path (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_PATH);
+  val = g_hash_table_lookup (properties, MS2_PROP_PATH);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -1088,7 +1088,7 @@ ms1_client_get_path (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_parent:
+ * ms2_client_get_parent:
  * @properties: a #GHashTable
  *
  * Returns "Parent" property value.
@@ -1096,13 +1096,13 @@ ms1_client_get_path (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms1_client_get_parent (GHashTable *properties)
+ms2_client_get_parent (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_PARENT);
+  val = g_hash_table_lookup (properties, MS2_PROP_PARENT);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -1111,7 +1111,7 @@ ms1_client_get_parent (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_display_name:
+ * ms2_client_get_display_name:
  * @properties: a #GHashTable
  *
  * Returns "DisplayName" property value.
@@ -1119,13 +1119,13 @@ ms1_client_get_parent (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms1_client_get_display_name (GHashTable *properties)
+ms2_client_get_display_name (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_DISPLAY_NAME);
+  val = g_hash_table_lookup (properties, MS2_PROP_DISPLAY_NAME);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -1134,51 +1134,51 @@ ms1_client_get_display_name (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_item_type:
+ * ms2_client_get_item_type:
  * @properties: a #GHashTable
  *
  * Returns "Type" property value.
  *
  * Returns: property value
  **/
-MS1ItemType
-ms1_client_get_item_type (GHashTable *properties)
+MS2ItemType
+ms2_client_get_item_type (GHashTable *properties)
 {
   GValue *val;
   const gchar *type;
 
-  g_return_val_if_fail (properties, MS1_ITEM_TYPE_UNKNOWN);
+  g_return_val_if_fail (properties, MS2_ITEM_TYPE_UNKNOWN);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_TYPE);
+  val = g_hash_table_lookup (properties, MS2_PROP_TYPE);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
-    return MS1_ITEM_TYPE_UNKNOWN;
+    return MS2_ITEM_TYPE_UNKNOWN;
   }
 
   type = g_value_get_string (val);
 
-  if (g_strcmp0 (type, MS1_TYPE_CONTAINER) == 0) {
-    return MS1_ITEM_TYPE_CONTAINER;
-  }   if (g_strcmp0 (type, MS1_TYPE_CONTAINER) == 0) {
-    return MS1_ITEM_TYPE_CONTAINER;
-  } else if (g_strcmp0 (type, MS1_TYPE_ITEM) == 0) {
-    return MS1_ITEM_TYPE_ITEM;
-  } else if (g_strcmp0 (type, MS1_TYPE_MOVIE) == 0) {
-    return MS1_ITEM_TYPE_MOVIE;
-  } else if (g_strcmp0 (type, MS1_TYPE_AUDIO) == 0) {
-    return MS1_ITEM_TYPE_AUDIO;
-  } else if (g_strcmp0 (type, MS1_TYPE_MUSIC) == 0) {
-    return MS1_ITEM_TYPE_MUSIC;
-  } else if (g_strcmp0 (type, MS1_TYPE_IMAGE) == 0) {
-    return MS1_ITEM_TYPE_IMAGE;
-  } else if (g_strcmp0 (type, MS1_TYPE_PHOTO) == 0) {
-    return MS1_ITEM_TYPE_PHOTO;
+  if (g_strcmp0 (type, MS2_TYPE_CONTAINER) == 0) {
+    return MS2_ITEM_TYPE_CONTAINER;
+  }   if (g_strcmp0 (type, MS2_TYPE_CONTAINER) == 0) {
+    return MS2_ITEM_TYPE_CONTAINER;
+  } else if (g_strcmp0 (type, MS2_TYPE_ITEM) == 0) {
+    return MS2_ITEM_TYPE_ITEM;
+  } else if (g_strcmp0 (type, MS2_TYPE_MOVIE) == 0) {
+    return MS2_ITEM_TYPE_MOVIE;
+  } else if (g_strcmp0 (type, MS2_TYPE_AUDIO) == 0) {
+    return MS2_ITEM_TYPE_AUDIO;
+  } else if (g_strcmp0 (type, MS2_TYPE_MUSIC) == 0) {
+    return MS2_ITEM_TYPE_MUSIC;
+  } else if (g_strcmp0 (type, MS2_TYPE_IMAGE) == 0) {
+    return MS2_ITEM_TYPE_IMAGE;
+  } else if (g_strcmp0 (type, MS2_TYPE_PHOTO) == 0) {
+    return MS2_ITEM_TYPE_PHOTO;
   } else {
-    return MS1_ITEM_TYPE_UNKNOWN;
+    return MS2_ITEM_TYPE_UNKNOWN;
   }
 }
 
 /**
- * ms1_client_get_item_type_string:
+ * ms2_client_get_item_type_string:
  * @properties: a #GHashTable
  *
  * Returns "Type" property value as a string.
@@ -1186,13 +1186,13 @@ ms1_client_get_item_type (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms1_client_get_item_type_string (GHashTable *properties)
+ms2_client_get_item_type_string (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_TYPE);
+  val = g_hash_table_lookup (properties, MS2_PROP_TYPE);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -1201,7 +1201,7 @@ ms1_client_get_item_type_string (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_mime_type:
+ * ms2_client_get_mime_type:
  * @properties: a #GHashTable
  *
  * Returns "MIMEType" property value.
@@ -1209,13 +1209,13 @@ ms1_client_get_item_type_string (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms1_client_get_mime_type (GHashTable *properties)
+ms2_client_get_mime_type (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_MIME_TYPE);
+  val = g_hash_table_lookup (properties, MS2_PROP_MIME_TYPE);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -1224,7 +1224,7 @@ ms1_client_get_mime_type (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_artist:
+ * ms2_client_get_artist:
  * @properties: a #GHashTable
  *
  * Returns "Artist" property value.
@@ -1232,13 +1232,13 @@ ms1_client_get_mime_type (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms1_client_get_artist (GHashTable *properties)
+ms2_client_get_artist (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_ARTIST);
+  val = g_hash_table_lookup (properties, MS2_PROP_ARTIST);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -1247,7 +1247,7 @@ ms1_client_get_artist (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_album:
+ * ms2_client_get_album:
  * @properties: a #GHashTable
  *
  * Returns "Album" property value.
@@ -1255,13 +1255,13 @@ ms1_client_get_artist (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms1_client_get_album (GHashTable *properties)
+ms2_client_get_album (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_ALBUM);
+  val = g_hash_table_lookup (properties, MS2_PROP_ALBUM);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -1270,7 +1270,7 @@ ms1_client_get_album (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_date:
+ * ms2_client_get_date:
  * @properties: a #GHashTable
  *
  * Returns "Date" property value.
@@ -1278,13 +1278,13 @@ ms1_client_get_album (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms1_client_get_date (GHashTable *properties)
+ms2_client_get_date (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_DATE);
+  val = g_hash_table_lookup (properties, MS2_PROP_DATE);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -1293,7 +1293,7 @@ ms1_client_get_date (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_dlna_profile:
+ * ms2_client_get_dlna_profile:
  * @properties: a #GHashTable
  *
  * Returns "DLNAProfile" property value.
@@ -1301,13 +1301,13 @@ ms1_client_get_date (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms1_client_get_dlna_profile (GHashTable *properties)
+ms2_client_get_dlna_profile (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_DLNA_PROFILE);
+  val = g_hash_table_lookup (properties, MS2_PROP_DLNA_PROFILE);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -1316,7 +1316,7 @@ ms1_client_get_dlna_profile (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_thumbnail:
+ * ms2_client_get_thumbnail:
  * @properties: a #GHashTable
  *
  * Returns "Thumbanail" property value.
@@ -1324,13 +1324,13 @@ ms1_client_get_dlna_profile (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms1_client_get_thumbnail (GHashTable *properties)
+ms2_client_get_thumbnail (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_THUMBNAIL);
+  val = g_hash_table_lookup (properties, MS2_PROP_THUMBNAIL);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -1339,7 +1339,7 @@ ms1_client_get_thumbnail (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_genre:
+ * ms2_client_get_genre:
  * @properties: a #GHashTable
  *
  * Returns "Genre" property value.
@@ -1347,13 +1347,13 @@ ms1_client_get_thumbnail (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms1_client_get_genre (GHashTable *properties)
+ms2_client_get_genre (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_GENRE);
+  val = g_hash_table_lookup (properties, MS2_PROP_GENRE);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -1362,7 +1362,7 @@ ms1_client_get_genre (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_size:
+ * ms2_client_get_size:
  * @properties: a #GHashTable
  *
  * Returns "Size" property value.
@@ -1370,13 +1370,13 @@ ms1_client_get_genre (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms1_client_get_size (GHashTable *properties)
+ms2_client_get_size (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_SIZE);
+  val = g_hash_table_lookup (properties, MS2_PROP_SIZE);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -1385,7 +1385,7 @@ ms1_client_get_size (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_duration:
+ * ms2_client_get_duration:
  * @properties: a #GHashTable
  *
  * Returns "Duration" property value.
@@ -1393,13 +1393,13 @@ ms1_client_get_size (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms1_client_get_duration (GHashTable *properties)
+ms2_client_get_duration (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_DURATION);
+  val = g_hash_table_lookup (properties, MS2_PROP_DURATION);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -1408,7 +1408,7 @@ ms1_client_get_duration (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_bitrate:
+ * ms2_client_get_bitrate:
  * @properties: a #GHashTable
  *
  * Returns "Bitrate" property value.
@@ -1416,13 +1416,13 @@ ms1_client_get_duration (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms1_client_get_bitrate (GHashTable *properties)
+ms2_client_get_bitrate (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_BITRATE);
+  val = g_hash_table_lookup (properties, MS2_PROP_BITRATE);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -1431,7 +1431,7 @@ ms1_client_get_bitrate (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_sample_rate:
+ * ms2_client_get_sample_rate:
  * @properties: a #GHashTable
  *
  * Returns "SampleRate" property value.
@@ -1439,13 +1439,13 @@ ms1_client_get_bitrate (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms1_client_get_sample_rate (GHashTable *properties)
+ms2_client_get_sample_rate (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_SAMPLE_RATE);
+  val = g_hash_table_lookup (properties, MS2_PROP_SAMPLE_RATE);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -1454,7 +1454,7 @@ ms1_client_get_sample_rate (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_bits_per_sample:
+ * ms2_client_get_bits_per_sample:
  * @properties: a #GHashTable
  *
  * Returns "BitsPerSample" property value.
@@ -1462,13 +1462,13 @@ ms1_client_get_sample_rate (GHashTable *properties)
  * Returns: property value of -1 if it is not available
  **/
 gint
-ms1_client_get_bits_per_sample (GHashTable *properties)
+ms2_client_get_bits_per_sample (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_BITS_PER_SAMPLE);
+  val = g_hash_table_lookup (properties, MS2_PROP_BITS_PER_SAMPLE);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -1477,7 +1477,7 @@ ms1_client_get_bits_per_sample (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_width:
+ * ms2_client_get_width:
  * @properties: a #GHashTable
  *
  * Returns "Width" property value.
@@ -1485,13 +1485,13 @@ ms1_client_get_bits_per_sample (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms1_client_get_width (GHashTable *properties)
+ms2_client_get_width (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_WIDTH);
+  val = g_hash_table_lookup (properties, MS2_PROP_WIDTH);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -1500,7 +1500,7 @@ ms1_client_get_width (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_height:
+ * ms2_client_get_height:
  * @properties: a #GHashTable
  *
  * Returns "Height" property value.
@@ -1508,13 +1508,13 @@ ms1_client_get_width (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms1_client_get_height (GHashTable *properties)
+ms2_client_get_height (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_HEIGHT);
+  val = g_hash_table_lookup (properties, MS2_PROP_HEIGHT);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -1523,7 +1523,7 @@ ms1_client_get_height (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_color_depth:
+ * ms2_client_get_color_depth:
  * @properties: a #GHashTable
  *
  * Returns "ColorDepth" property value.
@@ -1531,13 +1531,13 @@ ms1_client_get_height (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms1_client_get_color_depth (GHashTable *properties)
+ms2_client_get_color_depth (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_COLOR_DEPTH);
+  val = g_hash_table_lookup (properties, MS2_PROP_COLOR_DEPTH);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -1546,7 +1546,7 @@ ms1_client_get_color_depth (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_pixel_width:
+ * ms2_client_get_pixel_width:
  * @properties: a #GHashTable
  *
  * Returns "PixelWidth" property value.
@@ -1554,13 +1554,13 @@ ms1_client_get_color_depth (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms1_client_get_pixel_width (GHashTable *properties)
+ms2_client_get_pixel_width (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_PIXEL_WIDTH);
+  val = g_hash_table_lookup (properties, MS2_PROP_PIXEL_WIDTH);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -1569,7 +1569,7 @@ ms1_client_get_pixel_width (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_pixel_height:
+ * ms2_client_get_pixel_height:
  * @properties: a #GHashTable
  *
  * Returns "PixelHeight" property value.
@@ -1577,13 +1577,13 @@ ms1_client_get_pixel_width (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms1_client_get_pixel_height (GHashTable *properties)
+ms2_client_get_pixel_height (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_PIXEL_HEIGHT);
+  val = g_hash_table_lookup (properties, MS2_PROP_PIXEL_HEIGHT);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -1592,7 +1592,7 @@ ms1_client_get_pixel_height (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_urls:
+ * ms2_client_get_urls:
  * @properties: a #GHashTable
  *
  * Returns "URLs" property value.
@@ -1601,13 +1601,13 @@ ms1_client_get_pixel_height (GHashTable *properties)
  * available
  **/
 gchar **
-ms1_client_get_urls (GHashTable *properties)
+ms2_client_get_urls (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_URLS);
+  val = g_hash_table_lookup (properties, MS2_PROP_URLS);
   if (!val || !G_VALUE_HOLDS_BOXED (val)) {
     return NULL;
   }
@@ -1616,7 +1616,7 @@ ms1_client_get_urls (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_searchable:
+ * ms2_client_get_searchable:
  * @properties: a #GHashTable
  *
  * Returns "Searchable" property value.
@@ -1624,13 +1624,13 @@ ms1_client_get_urls (GHashTable *properties)
  * Returns: property value
  **/
 gboolean
-ms1_client_get_searchable (GHashTable *properties)
+ms2_client_get_searchable (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, FALSE);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_SEARCHABLE);
+  val = g_hash_table_lookup (properties, MS2_PROP_SEARCHABLE);
   if (!val || !G_VALUE_HOLDS_BOOLEAN (val)) {
     return FALSE;
   }
@@ -1639,7 +1639,7 @@ ms1_client_get_searchable (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_child_count:
+ * ms2_client_get_child_count:
  * @properties: a #GHhashTable
  *
  * Returns "ChildCount" property value.
@@ -1647,13 +1647,13 @@ ms1_client_get_searchable (GHashTable *properties)
  * Returns: property value
  **/
 guint
-ms1_client_get_child_count (GHashTable *properties)
+ms2_client_get_child_count (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, 0);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_CHILD_COUNT);
+  val = g_hash_table_lookup (properties, MS2_PROP_CHILD_COUNT);
   if (!val || !G_VALUE_HOLDS_UINT (val)) {
     return 0;
   }
@@ -1662,7 +1662,7 @@ ms1_client_get_child_count (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_items:
+ * ms2_client_get_items:
  * @properties: a #GHashTable
  *
  * Returns "Items" property value.
@@ -1671,13 +1671,13 @@ ms1_client_get_child_count (GHashTable *properties)
  * available
  **/
 gchar **
-ms1_client_get_items (GHashTable *properties)
+ms2_client_get_items (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_ITEMS);
+  val = g_hash_table_lookup (properties, MS2_PROP_ITEMS);
   if (!val || !G_VALUE_HOLDS_BOXED (val)) {
     return NULL;
   }
@@ -1686,7 +1686,7 @@ ms1_client_get_items (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_item_count:
+ * ms2_client_get_item_count:
  * @properties: a #GHashTable
  *
  * Returns "ItemCount" property value.
@@ -1694,13 +1694,13 @@ ms1_client_get_items (GHashTable *properties)
  * Returns: property value
  **/
 guint
-ms1_client_get_item_count (GHashTable *properties)
+ms2_client_get_item_count (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, 0);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_ITEM_COUNT);
+  val = g_hash_table_lookup (properties, MS2_PROP_ITEM_COUNT);
   if (!val || !G_VALUE_HOLDS_UINT (val)) {
     return 0;
   }
@@ -1709,7 +1709,7 @@ ms1_client_get_item_count (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_containers:
+ * ms2_client_get_containers:
  * @properties: a #GHashTable
  *
  * Returns "Containers" property value.
@@ -1718,13 +1718,13 @@ ms1_client_get_item_count (GHashTable *properties)
  * available
  **/
 gchar **
-ms1_client_get_containers (GHashTable *properties)
+ms2_client_get_containers (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_CONTAINERS);
+  val = g_hash_table_lookup (properties, MS2_PROP_CONTAINERS);
   if (!val || !G_VALUE_HOLDS_BOXED (val)) {
     return NULL;
   }
@@ -1733,7 +1733,7 @@ ms1_client_get_containers (GHashTable *properties)
 }
 
 /**
- * ms1_client_get_container_count:
+ * ms2_client_get_container_count:
  * @properties: a #GHhashTable
  *
  * Returns "ContainerCount" property value.
@@ -1741,13 +1741,13 @@ ms1_client_get_containers (GHashTable *properties)
  * Returns: property value
  **/
 guint
-ms1_client_get_container_count (GHashTable *properties)
+ms2_client_get_container_count (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, 0);
 
-  val = g_hash_table_lookup (properties, MS1_PROP_CONTAINER_COUNT);
+  val = g_hash_table_lookup (properties, MS2_PROP_CONTAINER_COUNT);
   if (!val || !G_VALUE_HOLDS_UINT (val)) {
     return 0;
   }
diff --git a/lib/media-server2-client.h b/lib/media-server2-client.h
new file mode 100644
index 0000000..fb2a4f9
--- /dev/null
+++ b/lib/media-server2-client.h
@@ -0,0 +1,206 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * Authors: Juan A. Suarez Romero <jasuarez igalia com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#ifndef _MEDIA_SERVER2_CLIENT_H_
+#define _MEDIA_SERVER2_CLIENT_H_
+
+#include <glib-object.h>
+#include <glib.h>
+#include <gio/gio.h>
+
+#include "media-server2-common.h"
+
+#define MS2_TYPE_CLIENT                         \
+  (ms2_client_get_type ())
+
+#define MS2_CLIENT(obj)                         \
+  (G_TYPE_CHECK_INSTANCE_CAST ((obj),           \
+                               MS2_TYPE_CLIENT, \
+                               MS2Client))
+
+#define MS2_IS_CLIENT(obj)                              \
+  (G_TYPE_CHECK_INSTANCE_TYPE ((obj),                   \
+                               MS2_TYPE_CLIENT))
+
+#define MS2_CLIENT_CLASS(klass)                 \
+  (G_TYPE_CHECK_CLASS_CAST((klass),             \
+                           MS2_TYPE_CLIENT,     \
+                           MS2ClientClass))
+
+#define MS2_IS_CLIENT_CLASS(klass)              \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),             \
+                           MS2_TYPE_CLIENT))
+
+#define MS2_CLIENT_GET_CLASS(obj)               \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj),            \
+                              MS2_TYPE_CLIENT,  \
+                              MS2ClientClass))
+
+typedef struct _MS2Client        MS2Client;
+typedef struct _MS2ClientPrivate MS2ClientPrivate;
+
+struct _MS2Client {
+
+  GObject parent;
+
+  /*< private >*/
+  MS2ClientPrivate *priv;
+};
+
+typedef struct _MS2ClientClass MS2ClientClass;
+
+struct _MS2ClientClass {
+
+  GObjectClass parent_class;
+
+  void (*updated) (MS2Client *client,
+                   const gchar *id);
+
+  void (*destroy) (MS2Client *client);
+};
+
+GType ms2_client_get_type (void);
+
+gchar **ms2_client_get_providers (void);
+
+MS2Client *ms2_client_new (const gchar *provider);
+
+const gchar *ms2_client_get_provider_name (MS2Client *client);
+
+void ms2_client_get_properties_async (MS2Client *client,
+                                      const gchar *object_path,
+                                      gchar **properties,
+                                      GAsyncReadyCallback callback,
+                                      gpointer user_data);
+
+GHashTable *ms2_client_get_properties_finish (MS2Client *client,
+                                              GAsyncResult *res,
+                                              GError **error);
+
+GHashTable *ms2_client_get_properties (MS2Client *client,
+                                       const gchar *object_path,
+                                       gchar **properties,
+                                       GError **error);
+
+void ms2_client_list_children_async (MS2Client *client,
+                                     const gchar *object_path,
+                                     guint offset,
+                                     guint max_count,
+                                     gchar **properties,
+                                     GAsyncReadyCallback callback,
+                                     gpointer user_data);
+
+GList *ms2_client_list_children_finish (MS2Client *client,
+                                        GAsyncResult *res,
+                                        GError **error);
+
+GList *ms2_client_list_children (MS2Client *client,
+                                 const gchar *object_path,
+                                 guint offset,
+                                 guint max_count,
+                                 gchar **properties,
+                                 GError **error);
+
+GList *ms2_client_search_objects (MS2Client *client,
+                                  const gchar *object_path,
+                                  const gchar *query,
+                                  guint offset,
+                                  guint max_count,
+                                  gchar **properties,
+                                  GError **error);
+
+void ms2_client_search_objects_async (MS2Client *client,
+                                      const gchar *object_path,
+                                      const gchar *query,
+                                      guint offset,
+                                      guint max_count,
+                                      gchar **properties,
+                                      GAsyncReadyCallback callback,
+                                      gpointer user_data);
+
+GList *ms2_client_search_objects_finish (MS2Client *client,
+                                         GAsyncResult *res,
+                                         GError **error);
+
+const gchar *ms2_client_get_root_path (MS2Client *client);
+
+const gchar *ms2_client_get_path (GHashTable *properties);
+
+const gchar *ms2_client_get_parent (GHashTable *properties);
+
+const gchar *ms2_client_get_display_name (GHashTable *properties);
+
+MS2ItemType ms2_client_get_item_type (GHashTable *properties);
+
+const gchar *ms2_client_get_item_type_string (GHashTable *properties);
+
+const gchar *ms2_client_get_mime_type (GHashTable *properties);
+
+const gchar *ms2_client_get_artist (GHashTable *properties);
+
+const gchar *ms2_client_get_album (GHashTable *properties);
+
+const gchar *ms2_client_get_date (GHashTable *properties);
+
+const gchar *ms2_client_get_dlna_profile (GHashTable *properties);
+
+const gchar *ms2_client_get_thumbnail (GHashTable *properties);
+
+const gchar *ms2_client_get_album_art (GHashTable *properties);
+
+const gchar *ms2_client_get_genre (GHashTable *properties);
+
+gint  ms2_client_get_size (GHashTable *properties);
+
+gint  ms2_client_get_duration (GHashTable *properties);
+
+gint  ms2_client_get_bitrate (GHashTable *properties);
+
+gint  ms2_client_get_sample_rate (GHashTable *properties);
+
+gint  ms2_client_get_bits_per_sample (GHashTable *properties);
+
+gint  ms2_client_get_width (GHashTable *properties);
+
+gint ms2_client_get_height (GHashTable *properties);
+
+gint ms2_client_get_color_depth (GHashTable *properties);
+
+gint ms2_client_get_pixel_width (GHashTable *properties);
+
+gint ms2_client_get_pixel_height (GHashTable *properties);
+
+gchar **ms2_client_get_urls (GHashTable *properties);
+
+gboolean ms2_client_get_searchable (GHashTable *properties);
+
+guint ms2_client_get_child_count (GHashTable *properties);
+
+gchar **ms2_client_get_items (GHashTable *properties);
+
+guint ms2_client_get_item_count (GHashTable *properties);
+
+gchar **ms2_client_get_containers (GHashTable *properties);
+
+guint ms2_client_get_container_count (GHashTable *properties);
+
+#endif /* _MEDIA_SERVER2_CLIENT_H_ */
diff --git a/lib/media-server2-common.h b/lib/media-server2-common.h
new file mode 100644
index 0000000..3e3517f
--- /dev/null
+++ b/lib/media-server2-common.h
@@ -0,0 +1,92 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * Authors: Juan A. Suarez Romero <jasuarez igalia com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#ifndef _MEDIA_SERVER2_COMMON_H_
+#define _MEDIA_SERVER2_COMMON_H_
+
+/* MediaObject1 properties */
+#define MS2_PROP_PARENT       "Parent"
+#define MS2_PROP_TYPE         "Type"
+#define MS2_PROP_PATH         "Path"
+#define MS2_PROP_DISPLAY_NAME "DisplayName"
+
+/* MediaItem1 properties */
+#define MS2_PROP_URLS            "URLs"
+#define MS2_PROP_MIME_TYPE       "MIMEType"
+#define MS2_PROP_SIZE            "Size"
+#define MS2_PROP_ARTIST          "Artist"
+#define MS2_PROP_ALBUM           "Album"
+#define MS2_PROP_DATE            "Date"
+#define MS2_PROP_GENRE           "Genre"
+#define MS2_PROP_DLNA_PROFILE    "DLNAProfile"
+#define MS2_PROP_DURATION        "Duration"
+#define MS2_PROP_BITRATE         "Bitrate"
+#define MS2_PROP_SAMPLE_RATE     "SampleRate"
+#define MS2_PROP_BITS_PER_SAMPLE "BitsPerSample"
+#define MS2_PROP_WIDTH           "Width"
+#define MS2_PROP_HEIGHT          "Height"
+#define MS2_PROP_COLOR_DEPTH     "ColorDepth"
+#define MS2_PROP_PIXEL_WIDTH     "PixelWidth"
+#define MS2_PROP_PIXEL_HEIGHT    "PixelHeight"
+#define MS2_PROP_THUMBNAIL       "Thumbnail"
+#define MS2_PROP_ALBUM_ART       "AlbumArt"
+
+/* MediaContainer1 properties */
+#define MS2_PROP_CHILD_COUNT     "ChildCount"
+#define MS2_PROP_ITEMS           "Items"
+#define MS2_PROP_ITEM_COUNT      "ItemCount"
+#define MS2_PROP_CONTAINERS      "Containers"
+#define MS2_PROP_CONTAINER_COUNT "ContainerCount"
+#define MS2_PROP_SEARCHABLE      "Searchable"
+
+/* Type items */
+#define MS2_TYPE_CONTAINER "container"
+#define MS2_TYPE_ITEM      "item"
+#define MS2_TYPE_VIDEO     "video"
+#define MS2_TYPE_MOVIE     "video.movie"
+#define MS2_TYPE_AUDIO     "audio"
+#define MS2_TYPE_MUSIC     "audio.music"
+#define MS2_TYPE_IMAGE     "image"
+#define MS2_TYPE_PHOTO     "image.photo"
+
+/* Unknown values */
+#define MS2_UNKNOWN_INT -1
+#define MS2_UNKNOWN_UINT 0
+#define MS2_UNKNOWN_STR ""
+
+/* Root category */
+#define MS2_ROOT ""
+
+/* Type items definition */
+typedef enum {
+  MS2_ITEM_TYPE_UNKNOWN = 0,
+  MS2_ITEM_TYPE_ITEM,
+  MS2_ITEM_TYPE_CONTAINER,
+  MS2_ITEM_TYPE_VIDEO,
+  MS2_ITEM_TYPE_MOVIE,
+  MS2_ITEM_TYPE_AUDIO,
+  MS2_ITEM_TYPE_MUSIC,
+  MS2_ITEM_TYPE_IMAGE,
+  MS2_ITEM_TYPE_PHOTO
+} MS2ItemType;
+
+#endif /* _MEDIA_SERVER2_COMMON_H_ */
diff --git a/lib/media-server1-introspection.h b/lib/media-server2-introspection.h
similarity index 88%
rename from lib/media-server1-introspection.h
rename to lib/media-server2-introspection.h
index e69a320..5b4a515 100644
--- a/lib/media-server1-introspection.h
+++ b/lib/media-server2-introspection.h
@@ -20,27 +20,27 @@
  *
  */
 
-#ifndef _MEDIA_SERVER1_INTROSPECTION_H_
-#define _MEDIA_SERVER1_INTROSPECTION_H_
+#ifndef _MEDIA_SERVER2_INTROSPECTION_H_
+#define _MEDIA_SERVER2_INTROSPECTION_H_
 
 #define INTROSPECTION_OPEN                                      \
   "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"                  \
   "<node>"                                                      \
-  "  <!-- http://live.gnome.org/Rygel/MediaServerSpec -->"
+  "  <!-- http://live.gnome.org/Rygel/MediaServer2Spec -->"
 
 #define INTROSPECTION_CLOSE                     \
   "</node>"
 
-#define MEDIAOBJECT1_IFACE                                              \
-  "  <interface name=\"org.gnome.UPnP.MediaObject1\">"                  \
+#define MEDIAOBJECT2_IFACE                                              \
+  "  <interface name=\"org.gnome.UPnP.MediaObject2\">"                  \
   "    <property name=\"Parent\"      type=\"o\" access=\"read\"/>"     \
   "    <property name=\"Type\"        type=\"s\" access=\"read\"/>"     \
   "    <property name=\"Path\"        type=\"o\" access=\"read\"/>"     \
   "    <property name=\"DisplayName\" type=\"s\" access=\"read\"/>"     \
   "  </interface>"
 
-#define MEDIAITEM1_IFACE                                                \
-  "  <interface name=\"org.gnome.UPnP.MediaItem1\">"                    \
+#define MEDIAITEM2_IFACE                                                \
+  "  <interface name=\"org.gnome.UPnP.MediaItem2\">"                    \
   "    <property name=\"URLs\"           type=\"as\" access=\"read\"/>" \
   "    <property name=\"MIMEType\"       type=\"s\"  access=\"read\"/>" \
   "    <property name=\"Size\"           type=\"i\"  access=\"read\"/>" \
@@ -62,8 +62,8 @@
   "    <property name=\"AlbumArt\"       type=\"o\"  access=\"read\"/>" \
   "  </interface>"
 
-#define MEDIACONTAINER1_IFACE                                           \
-  "  <interface name=\"org.gnome.UPnP.MediaContainer1\">"               \
+#define MEDIACONTAINER2_IFACE                                           \
+  "  <interface name=\"org.gnome.UPnP.MediaContainer2\">"               \
   "    <property name=\"ChildCount\"     type=\"u\"  access=\"read\"/>" \
   "    <property name=\"Items\"          type=\"ao\" access=\"read\"/>" \
   "    <property name=\"ItemCount\"      type=\"u\"  access=\"read\"/>" \
@@ -108,18 +108,18 @@
 
 #define CONTAINER_INTROSPECTION                 \
   INTROSPECTION_OPEN                            \
-  MEDIAOBJECT1_IFACE                            \
-  MEDIACONTAINER1_IFACE                         \
+  MEDIAOBJECT2_IFACE                            \
+  MEDIACONTAINER2_IFACE                         \
   INTROSPECTABLE_IFACE                          \
   PROPERTIES_IFACE                              \
   INTROSPECTION_CLOSE
 
 #define ITEM_INTROSPECTION                      \
   INTROSPECTION_OPEN                            \
-  MEDIAOBJECT1_IFACE                            \
-  MEDIAITEM1_IFACE                              \
+  MEDIAOBJECT2_IFACE                            \
+  MEDIAITEM2_IFACE                              \
   INTROSPECTABLE_IFACE                          \
   PROPERTIES_IFACE                              \
   INTROSPECTION_CLOSE
 
-#endif /* _MEDIA_SERVER1_INTROSPECTION_H_ */
+#endif /* _MEDIA_SERVER2_INTROSPECTION_H_ */
diff --git a/lib/media-server1-observer.c b/lib/media-server2-observer.c
similarity index 81%
rename from lib/media-server1-observer.c
rename to lib/media-server2-observer.c
index 8ed154d..fc419f7 100644
--- a/lib/media-server1-observer.c
+++ b/lib/media-server2-observer.c
@@ -22,15 +22,15 @@
 
 #include <dbus/dbus-glib-lowlevel.h>
 
-#include "media-server1-private.h"
-#include "media-server1-observer.h"
-#include "media-server1-client.h"
+#include "media-server2-private.h"
+#include "media-server2-observer.h"
+#include "media-server2-client.h"
 
-#define ENTRY_POINT_NAME "org.gnome.UPnP.MediaServer1."
+#define ENTRY_POINT_NAME "org.gnome.UPnP.MediaServer2."
 #define ENTRY_POINT_NAME_LENGTH 28
 
-#define MS1_OBSERVER_GET_PRIVATE(o)                                     \
-  G_TYPE_INSTANCE_GET_PRIVATE((o), MS1_TYPE_OBSERVER, MS1ObserverPrivate)
+#define MS2_OBSERVER_GET_PRIVATE(o)                                     \
+  G_TYPE_INSTANCE_GET_PRIVATE((o), MS2_TYPE_OBSERVER, MS2ObserverPrivate)
 
 enum {
   NEW,
@@ -38,19 +38,19 @@ enum {
 };
 
 /*
- * Private MS1Observer structure
+ * Private MS2Observer structure
  *   clients: a table with the clients
  *   proxy: proxy to dbus service
  */
-struct _MS1ObserverPrivate {
+struct _MS2ObserverPrivate {
   GHashTable *clients;
   DBusGProxy *proxy;
 };
 
-static MS1Observer *observer_instance = NULL;
+static MS2Observer *observer_instance = NULL;
 static guint32 signals[LAST_SIGNAL] = { 0 };
 
-G_DEFINE_TYPE (MS1Observer, ms1_observer, G_TYPE_OBJECT);
+G_DEFINE_TYPE (MS2Observer, ms2_observer, G_TYPE_OBJECT);
 
 /******************** PRIVATE API ********************/
 
@@ -60,21 +60,21 @@ name_owner_changed (DBusGProxy *proxy,
                     const gchar *name,
                     const gchar *old_owner,
                     const gchar *new_owner,
-                    MS1Observer *observer)
+                    MS2Observer *observer)
 {
   GList *clients;
 
   /* Check if it has something to do with the spec */
-  if (!g_str_has_prefix (name, MS1_DBUS_SERVICE_PREFIX)) {
+  if (!g_str_has_prefix (name, MS2_DBUS_SERVICE_PREFIX)) {
     return;
   }
 
-  name += MS1_DBUS_SERVICE_PREFIX_LENGTH;
+  name += MS2_DBUS_SERVICE_PREFIX_LENGTH;
 
   /* Check if it has been removed */
   if (*new_owner == '\0') {
     clients = g_hash_table_lookup (observer->priv->clients, name);
-    g_list_foreach (clients, (GFunc) ms1_client_notify_destroy, NULL);
+    g_list_foreach (clients, (GFunc) ms2_client_notify_destroy, NULL);
     return;
   }
 
@@ -84,7 +84,7 @@ name_owner_changed (DBusGProxy *proxy,
   }
 }
 
-/* Check for Updated signal and notify appropriate MS1Client, which will send a
+/* Check for Updated signal and notify appropriate MS2Client, which will send a
    signal */
 static DBusHandlerResult
 listen_updated_signal (DBusConnection *connection,
@@ -92,7 +92,7 @@ listen_updated_signal (DBusConnection *connection,
                        void *user_data)
 {
   GList *clients;
-  MS1Observer *observer = MS1_OBSERVER (user_data);
+  MS2Observer *observer = MS2_OBSERVER (user_data);
   gchar **path;
 
   if (dbus_message_is_signal (message,
@@ -112,7 +112,7 @@ listen_updated_signal (DBusConnection *connection,
     dbus_free_string_array (path);
 
     g_list_foreach (clients,
-                    (GFunc) ms1_client_notify_updated,
+                    (GFunc) ms2_client_notify_updated,
                     (gpointer) dbus_message_get_path (message));
 
     return DBUS_HANDLER_RESULT_HANDLED;
@@ -122,13 +122,13 @@ listen_updated_signal (DBusConnection *connection,
 }
 
 /* Creates an instance of observer */
-static MS1Observer *
+static MS2Observer *
 create_instance ()
 {
   DBusConnection *connection;
   DBusGConnection *gconnection;
   GError *error = NULL;
-  MS1Observer *observer;
+  MS2Observer *observer;
 
   gconnection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
   if (!gconnection) {
@@ -137,7 +137,7 @@ create_instance ()
     return NULL;
   }
 
-  observer = g_object_new (MS1_TYPE_OBSERVER, NULL);
+  observer = g_object_new (MS2_TYPE_OBSERVER, NULL);
 
   observer->priv->proxy = dbus_g_proxy_new_for_name (gconnection,
                                                      DBUS_SERVICE_DBUS,
@@ -172,13 +172,13 @@ create_instance ()
 
 /* Class init function */
 static void
-ms1_observer_class_init (MS1ObserverClass *klass)
+ms2_observer_class_init (MS2ObserverClass *klass)
 {
-  g_type_class_add_private (klass, sizeof (MS1ObserverPrivate));
+  g_type_class_add_private (klass, sizeof (MS2ObserverPrivate));
 
   /**
-   * MS1Observer::observer:
-   * @observer: the #MS1Observer
+   * MS2Observer::observer:
+   * @observer: the #MS2Observer
    * @provider: name of provider that has been added to dbus
    *
    * Notifies when a new provider comes up.
@@ -186,7 +186,7 @@ ms1_observer_class_init (MS1ObserverClass *klass)
   signals[NEW] = g_signal_new ("new",
                                G_TYPE_FROM_CLASS (klass),
                                G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE,
-                               G_STRUCT_OFFSET (MS1ObserverClass, new),
+                               G_STRUCT_OFFSET (MS2ObserverClass, new),
                                NULL,
                                NULL,
                                g_cclosure_marshal_VOID__STRING,
@@ -197,9 +197,9 @@ ms1_observer_class_init (MS1ObserverClass *klass)
 
 /* Object init function */
 static void
-ms1_observer_init (MS1Observer *client)
+ms2_observer_init (MS2Observer *client)
 {
-  client->priv = MS1_OBSERVER_GET_PRIVATE (client);
+  client->priv = MS2_OBSERVER_GET_PRIVATE (client);
   client->priv->clients = g_hash_table_new_full (g_str_hash,
                                                  g_str_equal,
                                                  g_free,
@@ -210,13 +210,13 @@ ms1_observer_init (MS1Observer *client)
 
 /* Register a client */
 void
-ms1_observer_add_client (MS1Client *client,
+ms2_observer_add_client (MS2Client *client,
                          const gchar *provider)
 {
   GList *clients;
-  MS1Observer *observer;
+  MS2Observer *observer;
 
-  observer = ms1_observer_get_instance ();
+  observer = ms2_observer_get_instance ();
   if (!observer) {
     return;
   }
@@ -228,14 +228,14 @@ ms1_observer_add_client (MS1Client *client,
 
 /* Remove a client */
 void
-ms1_observer_remove_client (MS1Client *client,
+ms2_observer_remove_client (MS2Client *client,
                             const gchar *provider)
 {
   GList *clients;
   GList *remove_client;
-  MS1Observer *observer;
+  MS2Observer *observer;
 
-  observer = ms1_observer_get_instance ();
+  observer = ms2_observer_get_instance ();
   if (!observer) {
     return;
   }
@@ -256,13 +256,13 @@ ms1_observer_remove_client (MS1Client *client,
 /******************** PUBLIC API ********************/
 
 /**
- * ms1_observer_get_instance:
+ * ms2_observer_get_instance:
  *
  * Returns the observer instance
  *
  * Returns: the observer instance or @NULL if it could not be created
  **/
-MS1Observer *ms1_observer_get_instance ()
+MS2Observer *ms2_observer_get_instance ()
 {
   if (!observer_instance) {
     observer_instance = create_instance ();
diff --git a/lib/media-server1-observer.h b/lib/media-server2-observer.h
similarity index 50%
rename from lib/media-server1-observer.h
rename to lib/media-server2-observer.h
index 48b1ad7..ea56614 100644
--- a/lib/media-server1-observer.h
+++ b/lib/media-server2-observer.h
@@ -20,63 +20,63 @@
  *
  */
 
-#ifndef _MEDIA_SERVER1_OBSERVER_H_
-#define _MEDIA_SERVER1_OBSERVER_H_
+#ifndef _MEDIA_SERVER2_OBSERVER_H_
+#define _MEDIA_SERVER2_OBSERVER_H_
 
 #include <glib-object.h>
 #include <glib.h>
 
-#include "media-server1-common.h"
+#include "media-server2-common.h"
 
-#define MS1_TYPE_OBSERVER                       \
-  (ms1_observer_get_type ())
+#define MS2_TYPE_OBSERVER                       \
+  (ms2_observer_get_type ())
 
-#define MS1_OBSERVER(obj)                               \
+#define MS2_OBSERVER(obj)                               \
   (G_TYPE_CHECK_INSTANCE_CAST ((obj),                   \
-                               MS1_TYPE_OBSERVER,       \
-                               MS1Observer))
+                               MS2_TYPE_OBSERVER,       \
+                               MS2Observer))
 
-#define MS1_IS_OBSERVER(obj)                            \
+#define MS2_IS_OBSERVER(obj)                            \
   (G_TYPE_CHECK_INSTANCE_TYPE ((obj),                   \
-                               MS1_TYPE_OBSERVER))
+                               MS2_TYPE_OBSERVER))
 
-#define MS1_OBSERVER_CLASS(klass)               \
+#define MS2_OBSERVER_CLASS(klass)               \
   (G_TYPE_CHECK_CLASS_CAST((klass),             \
-                           MS1_TYPE_OBSERVER,   \
-                           MS1ObserverClass))
+                           MS2_TYPE_OBSERVER,   \
+                           MS2ObserverClass))
 
-#define MS1_IS_OBSERVER_CLASS(klass)            \
+#define MS2_IS_OBSERVER_CLASS(klass)            \
   (G_TYPE_CHECK_CLASS_TYPE((klass),             \
-                           MS1_TYPE_OBSERVER))
+                           MS2_TYPE_OBSERVER))
 
-#define MS1_OBSERVER_GET_CLASS(obj)                     \
+#define MS2_OBSERVER_GET_CLASS(obj)                     \
   (G_TYPE_INSTANCE_GET_CLASS ((obj),                    \
-                              MS1_TYPE_OBSERVER,        \
-                              MS1ObserverClass))
+                              MS2_TYPE_OBSERVER,        \
+                              MS2ObserverClass))
 
-typedef struct _MS1Observer        MS1Observer;
-typedef struct _MS1ObserverPrivate MS1ObserverPrivate;
+typedef struct _MS2Observer        MS2Observer;
+typedef struct _MS2ObserverPrivate MS2ObserverPrivate;
 
-struct _MS1Observer {
+struct _MS2Observer {
 
   GObject parent;
 
   /*< private >*/
-  MS1ObserverPrivate *priv;
+  MS2ObserverPrivate *priv;
 };
 
-typedef struct _MS1ObserverClass MS1ObserverClass;
+typedef struct _MS2ObserverClass MS2ObserverClass;
 
-struct _MS1ObserverClass {
+struct _MS2ObserverClass {
 
   GObjectClass parent_class;
 
-  void (*new) (MS1Observer *observer,
+  void (*new) (MS2Observer *observer,
                const gchar *provider);
 };
 
-GType ms1_observer_get_type (void);
+GType ms2_observer_get_type (void);
 
-MS1Observer *ms1_observer_get_instance (void);
+MS2Observer *ms2_observer_get_instance (void);
 
-#endif /* _MEDIA_SERVER1_OBSERVER_H_ */
+#endif /* _MEDIA_SERVER2_OBSERVER_H_ */
diff --git a/lib/media-server1-private.h b/lib/media-server2-private.h
similarity index 60%
rename from lib/media-server1-private.h
rename to lib/media-server2-private.h
index bd42007..71a55d2 100644
--- a/lib/media-server1-private.h
+++ b/lib/media-server2-private.h
@@ -20,25 +20,25 @@
  *
  */
 
-#ifndef _MEDIA_SERVER1_PRIVATE_H_
-#define _MEDIA_SERVER1_PRIVATE_H_
+#ifndef _MEDIA_SERVER2_PRIVATE_H_
+#define _MEDIA_SERVER2_PRIVATE_H_
 
 #include <glib.h>
 
-#include "media-server1-client.h"
-#include "media-server1-server.h"
+#include "media-server2-client.h"
+#include "media-server2-server.h"
 
-#define MS1_DBUS_SERVICE_PREFIX "org.gnome.UPnP.MediaServer1."
-#define MS1_DBUS_PATH_PREFIX    "/org/gnome/UPnP/MediaServer1/"
+#define MS2_DBUS_SERVICE_PREFIX "org.gnome.UPnP.MediaServer2."
+#define MS2_DBUS_PATH_PREFIX    "/org/gnome/UPnP/MediaServer2/"
 
-#define MS1_DBUS_SERVICE_PREFIX_LENGTH 28
+#define MS2_DBUS_SERVICE_PREFIX_LENGTH 28
 
-void ms1_client_notify_destroy (MS1Client *client);
+void ms2_client_notify_destroy (MS2Client *client);
 
-void ms1_client_notify_updated (MS1Client *client, const gchar *object_path);
+void ms2_client_notify_updated (MS2Client *client, const gchar *object_path);
 
-void ms1_observer_add_client (MS1Client *client, const gchar *provider);
+void ms2_observer_add_client (MS2Client *client, const gchar *provider);
 
-void ms1_observer_remove_client (MS1Client *client, const gchar *provider);
+void ms2_observer_remove_client (MS2Client *client, const gchar *provider);
 
-#endif /* _MEDIA_SERVER1_PRIVATE_H_ */
+#endif /* _MEDIA_SERVER2_PRIVATE_H_ */
diff --git a/lib/media-server1-server-table.c b/lib/media-server2-server-table.c
similarity index 71%
rename from lib/media-server1-server-table.c
rename to lib/media-server2-server-table.c
index f622499..bc669c6 100644
--- a/lib/media-server1-server-table.c
+++ b/lib/media-server2-server-table.c
@@ -22,8 +22,8 @@
 
 #include <dbus/dbus-glib-bindings.h>
 
-#include "media-server1-server.h"
-#include "media-server1-private.h"
+#include "media-server2-server.h"
+#include "media-server2-private.h"
 
 #define DBUS_TYPE_G_ARRAY_OF_STRING                             \
   (dbus_g_type_get_collection ("GPtrArray", G_TYPE_STRING))
@@ -107,25 +107,25 @@ ptrarray_to_value (GPtrArray *array)
 
 /* Returns an object path from an id */
 static gchar *
-id_to_object_path (MS1Server *server,
+id_to_object_path (MS2Server *server,
                    const gchar *id,
                    gboolean is_container)
 {
   gchar *object_path;
 
   /* Root container */
-  if (g_strcmp0 (id, MS1_ROOT) == 0) {
-    object_path = g_strconcat (MS1_DBUS_PATH_PREFIX,
-                               ms1_server_get_name (server),
+  if (g_strcmp0 (id, MS2_ROOT) == 0) {
+    object_path = g_strconcat (MS2_DBUS_PATH_PREFIX,
+                               ms2_server_get_name (server),
                                NULL);
   } else {
     if (is_container) {
-      object_path = g_strdup_printf (MS1_DBUS_PATH_PREFIX "%s/containers/%d",
-                                     ms1_server_get_name (server),
+      object_path = g_strdup_printf (MS2_DBUS_PATH_PREFIX "%s/containers/%d",
+                                     ms2_server_get_name (server),
                                      g_quark_from_string (id));
     } else {
-      object_path = g_strdup_printf (MS1_DBUS_PATH_PREFIX "%s/items/%d",
-                                     ms1_server_get_name (server),
+      object_path = g_strdup_printf (MS2_DBUS_PATH_PREFIX "%s/items/%d",
+                                     ms2_server_get_name (server),
                                      g_quark_from_string (id));
     }
   }
@@ -144,7 +144,7 @@ get_object_paths (GList *items)
 
   op = g_ptr_array_sized_new (g_list_length (items));
   for (item = items; item; item = g_list_next (item)) {
-    path = g_strdup (ms1_client_get_path (item->data));
+    path = g_strdup (ms2_client_get_path (item->data));
     if (path) {
       g_ptr_array_add (op, path);
     }
@@ -156,14 +156,14 @@ get_object_paths (GList *items)
 /********************* PUBLIC API *********************/
 
 /**
- * ms1_server_new_properties_hashtable:
+ * ms2_server_new_properties_hashtable:
  *
  * Creates a new #GHashTable suitable to store items properties.
  *
  * Returns: a new #GHashTable
  **/
 GHashTable *
-ms1_server_new_properties_hashtable ()
+ms2_server_new_properties_hashtable ()
 {
   GHashTable *properties;
 
@@ -176,8 +176,8 @@ ms1_server_new_properties_hashtable ()
 }
 
 /**
- * ms1_server_set_path:
- * @server: a #MS1Server
+ * ms2_server_set_path:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @id: identifier value
  * @is_container: @TRUE if the @id identifies a container
@@ -187,26 +187,26 @@ ms1_server_new_properties_hashtable ()
  * @id will be transformed in an object path
  **/
 void
-ms1_server_set_path (MS1Server *server,
+ms2_server_set_path (MS2Server *server,
                      GHashTable *properties,
                      const gchar *id,
                      gboolean is_container)
 {
   gchar *object_path;
 
-  g_return_if_fail (MS1_IS_SERVER (server));
+  g_return_if_fail (MS2_IS_SERVER (server));
   g_return_if_fail (properties);
 
   if (id) {
     object_path = id_to_object_path (server, id, is_container);
-    g_hash_table_insert (properties, MS1_PROP_PATH, str_to_value (object_path));
+    g_hash_table_insert (properties, MS2_PROP_PATH, str_to_value (object_path));
     g_free (object_path);
   }
 }
 
 /**
- * ms1_server_set_parent:
- * @server: a #MS1Server
+ * ms2_server_set_parent:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @parent: parent value
  *
@@ -215,34 +215,34 @@ ms1_server_set_path (MS1Server *server,
  * @parent will be transformed in an object path.
  **/
 void
-ms1_server_set_parent (MS1Server *server,
+ms2_server_set_parent (MS2Server *server,
                        GHashTable *properties,
                        const gchar *parent)
 {
   gchar *object_path;
 
-  g_return_if_fail (MS1_IS_SERVER (server));
+  g_return_if_fail (MS2_IS_SERVER (server));
   g_return_if_fail (properties);
 
   if (parent) {
     object_path = id_to_object_path (server, parent, TRUE);
     g_hash_table_insert (properties,
-                         MS1_PROP_PARENT,
+                         MS2_PROP_PARENT,
                          str_to_value (object_path));
     g_free (object_path);
   }
 }
 
 /**
- * ms1_server_set_display_name:
- * @server: a #MS1Server
+ * ms2_server_set_display_name:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @display_name: display name value
  *
  * Sets the "DisplayName" property.
  **/
 void
-ms1_server_set_display_name (MS1Server *server,
+ms2_server_set_display_name (MS2Server *server,
                              GHashTable *properties,
                              const gchar *display_name)
 {
@@ -250,14 +250,14 @@ ms1_server_set_display_name (MS1Server *server,
 
   if (display_name) {
     g_hash_table_insert (properties,
-                         MS1_PROP_DISPLAY_NAME,
+                         MS2_PROP_DISPLAY_NAME,
                          str_to_value (display_name));
   }
 }
 
 /**
- * ms1_server_set_item_type:
- * @server: a #MS1Server
+ * ms2_server_set_item_type:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @type: type of item
  *
@@ -266,69 +266,69 @@ ms1_server_set_display_name (MS1Server *server,
  * Tells what kind of object we are dealing with.
  **/
 void
-ms1_server_set_item_type (MS1Server *server,
+ms2_server_set_item_type (MS2Server *server,
                           GHashTable *properties,
-                          MS1ItemType type)
+                          MS2ItemType type)
 {
   g_return_if_fail (properties);
 
   switch (type) {
-  case MS1_ITEM_TYPE_UNKNOWN:
+  case MS2_ITEM_TYPE_UNKNOWN:
     /* Do not handle unknown values */
     break;
-  case MS1_ITEM_TYPE_CONTAINER:
+  case MS2_ITEM_TYPE_CONTAINER:
     g_hash_table_insert (properties,
-                         MS1_PROP_TYPE,
-                         str_to_value (MS1_TYPE_CONTAINER));
+                         MS2_PROP_TYPE,
+                         str_to_value (MS2_TYPE_CONTAINER));
     break;
-  case MS1_ITEM_TYPE_ITEM:
+  case MS2_ITEM_TYPE_ITEM:
     g_hash_table_insert (properties,
-                         MS1_PROP_TYPE,
-                         str_to_value (MS1_TYPE_ITEM));
+                         MS2_PROP_TYPE,
+                         str_to_value (MS2_TYPE_ITEM));
     break;
-  case MS1_ITEM_TYPE_VIDEO:
+  case MS2_ITEM_TYPE_VIDEO:
     g_hash_table_insert (properties,
-                         MS1_PROP_TYPE,
-                         str_to_value (MS1_TYPE_VIDEO));
+                         MS2_PROP_TYPE,
+                         str_to_value (MS2_TYPE_VIDEO));
     break;
-  case MS1_ITEM_TYPE_MOVIE:
+  case MS2_ITEM_TYPE_MOVIE:
     g_hash_table_insert (properties,
-                         MS1_PROP_TYPE,
-                         str_to_value (MS1_TYPE_MOVIE));
+                         MS2_PROP_TYPE,
+                         str_to_value (MS2_TYPE_MOVIE));
     break;
-  case MS1_ITEM_TYPE_AUDIO:
+  case MS2_ITEM_TYPE_AUDIO:
     g_hash_table_insert (properties,
-                         MS1_PROP_TYPE,
-                         str_to_value (MS1_TYPE_AUDIO));
+                         MS2_PROP_TYPE,
+                         str_to_value (MS2_TYPE_AUDIO));
     break;
-  case MS1_ITEM_TYPE_MUSIC:
+  case MS2_ITEM_TYPE_MUSIC:
     g_hash_table_insert (properties,
-                         MS1_PROP_TYPE,
-                         str_to_value (MS1_TYPE_MUSIC));
+                         MS2_PROP_TYPE,
+                         str_to_value (MS2_TYPE_MUSIC));
     break;
-  case MS1_ITEM_TYPE_IMAGE:
+  case MS2_ITEM_TYPE_IMAGE:
     g_hash_table_insert (properties,
-                         MS1_PROP_TYPE,
-                         str_to_value (MS1_TYPE_IMAGE));
+                         MS2_PROP_TYPE,
+                         str_to_value (MS2_TYPE_IMAGE));
     break;
-  case MS1_ITEM_TYPE_PHOTO:
+  case MS2_ITEM_TYPE_PHOTO:
     g_hash_table_insert (properties,
-                         MS1_PROP_TYPE,
-                         str_to_value (MS1_TYPE_PHOTO));
+                         MS2_PROP_TYPE,
+                         str_to_value (MS2_TYPE_PHOTO));
     break;
   }
 }
 
 /**
- * ms1_server_set_mime_type:
- * @server: a #MS1Server
+ * ms2_server_set_mime_type:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @mime_type: mime type value
  *
  * Sets the "MIMEType" property.
  **/
 void
-ms1_server_set_mime_type (MS1Server *server,
+ms2_server_set_mime_type (MS2Server *server,
                           GHashTable *properties,
                           const gchar *mime_type)
 {
@@ -336,21 +336,21 @@ ms1_server_set_mime_type (MS1Server *server,
 
   if (mime_type) {
     g_hash_table_insert (properties,
-                         MS1_PROP_MIME_TYPE,
+                         MS2_PROP_MIME_TYPE,
                          str_to_value (mime_type));
   }
 }
 
 /**
- * ms1_server_set_artist:
- * @server: a #MS1Server
+ * ms2_server_set_artist:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @artist: artist value
  *
  * Sets the "Artist" property.
  **/
 void
-ms1_server_set_artist (MS1Server *server,
+ms2_server_set_artist (MS2Server *server,
                        GHashTable *properties,
                        const gchar *artist)
 {
@@ -358,21 +358,21 @@ ms1_server_set_artist (MS1Server *server,
 
   if (artist) {
     g_hash_table_insert (properties,
-                         MS1_PROP_ARTIST,
+                         MS2_PROP_ARTIST,
                          str_to_value (artist));
   }
 }
 
 /**
- * ms1_server_set_album:
- * @server: a #MS1Server
+ * ms2_server_set_album:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @album: album value
  *
  * Sets the "Album" property.
  **/
 void
-ms1_server_set_album (MS1Server *server,
+ms2_server_set_album (MS2Server *server,
                       GHashTable *properties,
                       const gchar *album)
 {
@@ -380,14 +380,14 @@ ms1_server_set_album (MS1Server *server,
 
   if (album) {
     g_hash_table_insert (properties,
-                         MS1_PROP_ALBUM,
+                         MS2_PROP_ALBUM,
                          str_to_value (album));
   }
 }
 
 /**
- * ms1_server_set_date:
- * @server: a #MS1Server
+ * ms2_server_set_date:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @date: date value
  *
@@ -397,7 +397,7 @@ ms1_server_set_album (MS1Server *server,
  * and RFC-3339.
  **/
 void
-ms1_server_set_date (MS1Server *server,
+ms2_server_set_date (MS2Server *server,
                      GHashTable *properties,
                      const gchar *date)
 {
@@ -405,14 +405,14 @@ ms1_server_set_date (MS1Server *server,
 
   if (date) {
     g_hash_table_insert (properties,
-                         MS1_PROP_ALBUM,
+                         MS2_PROP_ALBUM,
                          str_to_value (date));
   }
 }
 
 /**
- * ms1_server_set_dlna_profile:
- * @server: a #MS1Server
+ * ms2_server_set_dlna_profile:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @dlna_profile: DLNA value
  *
@@ -422,7 +422,7 @@ ms1_server_set_date (MS1Server *server,
  * guessing of its value by UPnP consumers.
  **/
 void
-ms1_server_set_dlna_profile (MS1Server *server,
+ms2_server_set_dlna_profile (MS2Server *server,
                              GHashTable *properties,
                              const gchar *dlna_profile)
 {
@@ -430,21 +430,21 @@ ms1_server_set_dlna_profile (MS1Server *server,
 
   if (dlna_profile) {
     g_hash_table_insert (properties,
-                         MS1_PROP_DLNA_PROFILE,
+                         MS2_PROP_DLNA_PROFILE,
                          str_to_value (dlna_profile));
   }
 }
 
 /**
- * ms1_server_set_thumbnail:
- * @server: a #MS1Server
+ * ms2_server_set_thumbnail:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @thumbnail: thumbnail identifier value
  *
  * Sets the "Thumbnail" property.
  **/
 void
-ms1_server_set_thumbnail (MS1Server *server,
+ms2_server_set_thumbnail (MS2Server *server,
                           GHashTable *properties,
                           const gchar *thumbnail)
 {
@@ -452,21 +452,21 @@ ms1_server_set_thumbnail (MS1Server *server,
 
   if (thumbnail) {
     g_hash_table_insert (properties,
-                         MS1_PROP_THUMBNAIL,
+                         MS2_PROP_THUMBNAIL,
                          str_to_value (thumbnail));
   }
 }
 
 /**
- * ms1_server_set_album_art
- * @server: a #MS1Server
+ * ms2_server_set_album_art
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @album_art: albumart identifier value
  *
  * Sets the "AlbumArt" property.
  **/
 void
-ms1_server_set_album_art (MS1Server *server,
+ms2_server_set_album_art (MS2Server *server,
                           GHashTable *properties,
                           const gchar *album_art)
 {
@@ -474,21 +474,21 @@ ms1_server_set_album_art (MS1Server *server,
 
   if (album_art) {
     g_hash_table_insert (properties,
-                         MS1_PROP_ALBUM_ART,
+                         MS2_PROP_ALBUM_ART,
                          str_to_value (album_art));
   }
 }
 
 /**
- * ms1_server_set_genre:
- * @server: a #MS1Server
+ * ms2_server_set_genre:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @genre: genre value
  *
  * Sets the "Genre" property. Optional property for audio/music items.
  **/
 void
-ms1_server_set_genre (MS1Server *server,
+ms2_server_set_genre (MS2Server *server,
                       GHashTable *properties,
                       const gchar *genre)
 {
@@ -496,14 +496,14 @@ ms1_server_set_genre (MS1Server *server,
 
   if (genre) {
     g_hash_table_insert (properties,
-                         MS1_PROP_GENRE,
+                         MS2_PROP_GENRE,
                          str_to_value (genre));
   }
 }
 
 /**
- * ms1_server_set_size:
- * @server: a #MS1Server
+ * ms2_server_set_size:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @size: size value
  *
@@ -512,60 +512,60 @@ ms1_server_set_genre (MS1Server *server,
  * It is the resource size in bytes.
  **/
 void
-ms1_server_set_size (MS1Server *server,
+ms2_server_set_size (MS2Server *server,
                      GHashTable *properties,
                      gint size)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS1_PROP_SIZE,
+                       MS2_PROP_SIZE,
                        int_to_value (size));
 }
 
 /**
- * ms1_server_set_duration:
- * @server: a #MS1Server
+ * ms2_server_set_duration:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @duration: duration (in seconds) value
  *
  * Sets the "Duration" property.
  **/
 void
-ms1_server_set_duration (MS1Server *server,
+ms2_server_set_duration (MS2Server *server,
                          GHashTable *properties,
                          gint duration)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS1_PROP_DURATION,
+                       MS2_PROP_DURATION,
                        int_to_value (duration));
 }
 
 /**
- * ms1_server_set_bitrate:
- * @server: a #MS1Server
+ * ms2_server_set_bitrate:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @bitrate: bitrate value
  *
  * Sets the "Bitrate" property.
  **/
 void
-ms1_server_set_bitrate (MS1Server *server,
+ms2_server_set_bitrate (MS2Server *server,
                         GHashTable *properties,
                         gint bitrate)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS1_PROP_BITRATE,
+                       MS2_PROP_BITRATE,
                        int_to_value (bitrate));
 }
 
 /**
- * ms1_server_set_sample_rate:
- * @server: a #MS1Server
+ * ms2_server_set_sample_rate:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @sample_rate: sample rate value
  *
@@ -573,20 +573,20 @@ ms1_server_set_bitrate (MS1Server *server,
  * items.
  **/
 void
-ms1_server_set_sample_rate (MS1Server *server,
+ms2_server_set_sample_rate (MS2Server *server,
                             GHashTable *properties,
                             gint sample_rate)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS1_PROP_SAMPLE_RATE,
+                       MS2_PROP_SAMPLE_RATE,
                        int_to_value (sample_rate));
 }
 
 /**
- * ms1_server_set_bits_per_sample:
- * @server: a #MS1Server
+ * ms2_server_set_bits_per_sample:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @bits_per_sample: bits per sample value
  *
@@ -594,127 +594,127 @@ ms1_server_set_sample_rate (MS1Server *server,
  * items.
  **/
 void
-ms1_server_set_bits_per_sample (MS1Server *server,
+ms2_server_set_bits_per_sample (MS2Server *server,
                                 GHashTable *properties,
                                 gint bits_per_sample)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS1_PROP_BITS_PER_SAMPLE,
+                       MS2_PROP_BITS_PER_SAMPLE,
                        int_to_value (bits_per_sample));
 }
 
 /**
- * ms1_server_set_width:
- * @server: a #MS1Server
+ * ms2_server_set_width:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @width: width (in pixels) value
  *
  * Sets the "Width" property.
  **/
 void
-ms1_server_set_width (MS1Server *server,
+ms2_server_set_width (MS2Server *server,
                       GHashTable *properties,
                       gint width)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS1_PROP_WIDTH,
+                       MS2_PROP_WIDTH,
                        int_to_value (width));
 }
 
 /**
- * ms1_server_set_height:
- * @server: a #MS1Server
+ * ms2_server_set_height:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @height: height (in pixels) value
  *
  * Sets the "Height" property.
  **/
 void
-ms1_server_set_height (MS1Server *server,
+ms2_server_set_height (MS2Server *server,
                        GHashTable *properties,
                        gint height)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS1_PROP_HEIGHT,
+                       MS2_PROP_HEIGHT,
                        int_to_value (height));
 }
 
 /**
- * ms1_server_set_color_depth:
- * @server: a #MS1Server
+ * ms2_server_set_color_depth:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @depth: color depth value
  *
  * Sets the "ColorDepth" property.
  **/
 void
-ms1_server_set_color_depth (MS1Server *server,
+ms2_server_set_color_depth (MS2Server *server,
                             GHashTable *properties,
                             gint depth)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS1_PROP_COLOR_DEPTH,
+                       MS2_PROP_COLOR_DEPTH,
                        int_to_value (depth));
 }
 
 /**
- * ms1_server_set_pixel_width:
- * @server: a #MS1Server
+ * ms2_server_set_pixel_width:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @pixel_width: pixel width value
  *
  * Sets the "PixelWidth" property.
  **/
 void
-ms1_server_set_pixel_width (MS1Server *server,
+ms2_server_set_pixel_width (MS2Server *server,
                             GHashTable *properties,
                             gint pixel_width)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS1_PROP_PIXEL_WIDTH,
+                       MS2_PROP_PIXEL_WIDTH,
                        int_to_value (pixel_width));
 }
 
 /**
- * ms1_server_set_pixel_height:
- * @server: a #MS1Server
+ * ms2_server_set_pixel_height:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @pixel_height: pixel height value
  *
  * Sets the "PixelHeight" property.
  **/
 void
-ms1_server_set_pixel_height (MS1Server *server,
+ms2_server_set_pixel_height (MS2Server *server,
                              GHashTable *properties,
                              gint pixel_height)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS1_PROP_PIXEL_HEIGHT,
+                       MS2_PROP_PIXEL_HEIGHT,
                        int_to_value (pixel_height));
 }
 
 /**
- * ms1_server_set_urls:
- * @server: a #MS1Server
+ * ms2_server_set_urls:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @urls: @NULL-terminated array of URLs values
  *
  * Sets the "URLs" property.
  **/
 void
-ms1_server_set_urls (MS1Server *server,
+ms2_server_set_urls (MS2Server *server,
                      GHashTable *properties,
                      gchar **urls)
 {
@@ -731,61 +731,61 @@ ms1_server_set_urls (MS1Server *server,
     }
 
     g_hash_table_insert (properties,
-                         MS1_PROP_URLS,
+                         MS2_PROP_URLS,
                          ptrarray_to_value (url_array));
   }
 }
 
 /**
- * ms1_server_set_searchable:
- * @server: a #MS1Server
+ * ms2_server_set_searchable:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @searchable: @TRUE if item is searchable
  *
  * Sets the "Searchable" property.
  **/
 void
-ms1_server_set_searchable (MS1Server *server,
+ms2_server_set_searchable (MS2Server *server,
                            GHashTable *properties,
                            gint searchable)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS1_PROP_SEARCHABLE,
+                       MS2_PROP_SEARCHABLE,
                        bool_to_value (searchable));
 }
 
 /**
- * ms1_server_set_child_count:
- * @server: a #MS1Server
+ * ms2_server_set_child_count:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @child_count: how many children have this container
  *
  * Sets the "ChildCount" property.
  **/
 void
-ms1_server_set_child_count (MS1Server *server,
+ms2_server_set_child_count (MS2Server *server,
                             GHashTable *properties,
                             guint child_count)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS1_PROP_CHILD_COUNT,
+                       MS2_PROP_CHILD_COUNT,
                        uint_to_value (child_count));
 }
 
 /**
- * ms1_server_set_items:
- * @server: a #MS1Server
+ * ms2_server_set_items:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @items: a list of children
  *
  * Sets the "Items" property.
  **/
 void
-ms1_server_set_items (MS1Server *server,
+ms2_server_set_items (MS2Server *server,
                       GHashTable *properties,
                       GList *items)
 {
@@ -796,41 +796,41 @@ ms1_server_set_items (MS1Server *server,
   if (items) {
     object_paths = get_object_paths (items);
     g_hash_table_insert (properties,
-                         MS1_PROP_ITEMS,
+                         MS2_PROP_ITEMS,
                          ptrarray_to_value (object_paths));
   }
 }
 
 /**
- * ms1_server_set_item_count:
- * @server: a #MS1Server
+ * ms2_server_set_item_count:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @item_count: how many items have this container
  *
  * Sets the "ItemCount" property.
  **/
 void
-ms1_server_set_item_count (MS1Server *server,
+ms2_server_set_item_count (MS2Server *server,
                            GHashTable *properties,
                            guint item_count)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS1_PROP_ITEM_COUNT,
+                       MS2_PROP_ITEM_COUNT,
                        uint_to_value (item_count));
 }
 
 /**
- * ms1_server_set_containers:
- * @server: a #MS1Server
+ * ms2_server_set_containers:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @containers: a list of children
  *
  * Sets the "Containers" property.
  **/
 void
-ms1_server_set_containers (MS1Server *server,
+ms2_server_set_containers (MS2Server *server,
                            GHashTable *properties,
                            GList *containers)
 {
@@ -841,27 +841,27 @@ ms1_server_set_containers (MS1Server *server,
   if (containers) {
     object_paths = get_object_paths (containers);
     g_hash_table_insert (properties,
-                         MS1_PROP_CONTAINERS,
+                         MS2_PROP_CONTAINERS,
                          ptrarray_to_value (object_paths));
   }
 }
 
 /**
- * ms1_server_set_container_count:
- * @server: a #MS1Server
+ * ms2_server_set_container_count:
+ * @server: a #MS2Server
  * @properties: a #GHashTable
  * @container_count: how many containers have this container
  *
  * Sets the "ContainerCount" property.
  **/
 void
-ms1_server_set_container_count (MS1Server *server,
+ms2_server_set_container_count (MS2Server *server,
                                 GHashTable *properties,
                                 guint container_count)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS1_PROP_CONTAINER_COUNT,
+                       MS2_PROP_CONTAINER_COUNT,
                        uint_to_value (container_count));
 }
diff --git a/lib/media-server1-server.c b/lib/media-server2-server.c
similarity index 85%
rename from lib/media-server1-server.c
rename to lib/media-server2-server.c
index 912d538..b7dcf59 100644
--- a/lib/media-server1-server.c
+++ b/lib/media-server2-server.c
@@ -23,28 +23,28 @@
 #include <dbus/dbus-glib-lowlevel.h>
 #include <stdlib.h>
 
-#include "media-server1-private.h"
-#include "media-server1-server.h"
-#include "media-server1-introspection.h"
+#include "media-server2-private.h"
+#include "media-server2-server.h"
+#include "media-server2-introspection.h"
 
 #define INTROSPECTION_FILE                                              \
-  "/home/jasuarez/Projects/grilo/rygel-grilo/data/media-server1.xml"
+  "/home/jasuarez/Projects/grilo/rygel-grilo/data/media-server2.xml"
 
 #define DBUS_TYPE_G_ARRAY_OF_STRING                             \
   (dbus_g_type_get_collection ("GPtrArray", G_TYPE_STRING))
 
-#define MS1_SERVER_GET_PRIVATE(o)                                       \
-  G_TYPE_INSTANCE_GET_PRIVATE((o), MS1_TYPE_SERVER, MS1ServerPrivate)
+#define MS2_SERVER_GET_PRIVATE(o)                                       \
+  G_TYPE_INSTANCE_GET_PRIVATE((o), MS2_TYPE_SERVER, MS2ServerPrivate)
 
 /*
- * Private MS1Server structure
+ * Private MS2Server structure
  *   name: provider name
  *   data: holds stuff for owner
  *   list_children: function to get children
  *   search_objects: function to search objects
  *   get_properties: function to get properties
  */
-struct _MS1ServerPrivate {
+struct _MS2ServerPrivate {
   gchar *name;
   gpointer *data;
   ListChildrenFunc list_children;
@@ -75,42 +75,42 @@ static const gchar searchobjects_sgn[] = { DBUS_TYPE_STRING,                  /*
 
 
 /* Properties in interfaces */
-static const gchar *mediaobject1_properties[] = { MS1_PROP_PARENT,
-                                                  MS1_PROP_TYPE,
-                                                  MS1_PROP_PATH,
-                                                  MS1_PROP_DISPLAY_NAME,
+static const gchar *mediaobject1_properties[] = { MS2_PROP_PARENT,
+                                                  MS2_PROP_TYPE,
+                                                  MS2_PROP_PATH,
+                                                  MS2_PROP_DISPLAY_NAME,
                                                   NULL };
 
-static const gchar *mediaitem1_properties[] = { MS1_PROP_URLS,
-                                                MS1_PROP_MIME_TYPE,
-                                                MS1_PROP_SIZE,
-                                                MS1_PROP_ARTIST,
-                                                MS1_PROP_ALBUM,
-                                                MS1_PROP_DATE,
-                                                MS1_PROP_GENRE,
-                                                MS1_PROP_DLNA_PROFILE,
-                                                MS1_PROP_DURATION,
-                                                MS1_PROP_BITRATE,
-                                                MS1_PROP_SAMPLE_RATE,
-                                                MS1_PROP_BITS_PER_SAMPLE,
-                                                MS1_PROP_WIDTH,
-                                                MS1_PROP_HEIGHT,
-                                                MS1_PROP_COLOR_DEPTH,
-                                                MS1_PROP_PIXEL_WIDTH,
-                                                MS1_PROP_PIXEL_HEIGHT,
-                                                MS1_PROP_THUMBNAIL,
-                                                MS1_PROP_ALBUM_ART,
+static const gchar *mediaitem1_properties[] = { MS2_PROP_URLS,
+                                                MS2_PROP_MIME_TYPE,
+                                                MS2_PROP_SIZE,
+                                                MS2_PROP_ARTIST,
+                                                MS2_PROP_ALBUM,
+                                                MS2_PROP_DATE,
+                                                MS2_PROP_GENRE,
+                                                MS2_PROP_DLNA_PROFILE,
+                                                MS2_PROP_DURATION,
+                                                MS2_PROP_BITRATE,
+                                                MS2_PROP_SAMPLE_RATE,
+                                                MS2_PROP_BITS_PER_SAMPLE,
+                                                MS2_PROP_WIDTH,
+                                                MS2_PROP_HEIGHT,
+                                                MS2_PROP_COLOR_DEPTH,
+                                                MS2_PROP_PIXEL_WIDTH,
+                                                MS2_PROP_PIXEL_HEIGHT,
+                                                MS2_PROP_THUMBNAIL,
+                                                MS2_PROP_ALBUM_ART,
                                                 NULL };
 
-static const gchar *mediacontainer1_properties[] = { MS1_PROP_CHILD_COUNT,
-                                                     MS1_PROP_ITEMS,
-                                                     MS1_PROP_ITEM_COUNT,
-                                                     MS1_PROP_CONTAINERS,
-                                                     MS1_PROP_CONTAINER_COUNT,
-                                                     MS1_PROP_SEARCHABLE,
+static const gchar *mediacontainer1_properties[] = { MS2_PROP_CHILD_COUNT,
+                                                     MS2_PROP_ITEMS,
+                                                     MS2_PROP_ITEM_COUNT,
+                                                     MS2_PROP_CONTAINERS,
+                                                     MS2_PROP_CONTAINER_COUNT,
+                                                     MS2_PROP_SEARCHABLE,
                                                      NULL };
 
-G_DEFINE_TYPE (MS1Server, ms1_server, G_TYPE_OBJECT);
+G_DEFINE_TYPE (MS2Server, ms2_server, G_TYPE_OBJECT);
 
 /******************** PRIVATE API ********************/
 
@@ -222,38 +222,38 @@ properties_lookup_with_default (GHashTable *properties,
   /* Initialize data */
   if (!int_type_properties) {
     int_type_properties = g_new (gchar *, 11);
-    int_type_properties[0] = (gchar *) g_intern_static_string (MS1_PROP_SIZE);
-    int_type_properties[1] = (gchar *) g_intern_static_string (MS1_PROP_DURATION);
-    int_type_properties[2] = (gchar *) g_intern_static_string (MS1_PROP_BITRATE);
-    int_type_properties[3] = (gchar *) g_intern_static_string (MS1_PROP_SAMPLE_RATE);
-    int_type_properties[4] = (gchar *) g_intern_static_string (MS1_PROP_BITS_PER_SAMPLE);
-    int_type_properties[5] = (gchar *) g_intern_static_string (MS1_PROP_WIDTH);
-    int_type_properties[6] = (gchar *) g_intern_static_string (MS1_PROP_HEIGHT);
-    int_type_properties[7] = (gchar *) g_intern_static_string (MS1_PROP_COLOR_DEPTH);
-    int_type_properties[8] = (gchar *) g_intern_static_string (MS1_PROP_PIXEL_WIDTH);
-    int_type_properties[9] = (gchar *) g_intern_static_string (MS1_PROP_PIXEL_HEIGHT);
+    int_type_properties[0] = (gchar *) g_intern_static_string (MS2_PROP_SIZE);
+    int_type_properties[1] = (gchar *) g_intern_static_string (MS2_PROP_DURATION);
+    int_type_properties[2] = (gchar *) g_intern_static_string (MS2_PROP_BITRATE);
+    int_type_properties[3] = (gchar *) g_intern_static_string (MS2_PROP_SAMPLE_RATE);
+    int_type_properties[4] = (gchar *) g_intern_static_string (MS2_PROP_BITS_PER_SAMPLE);
+    int_type_properties[5] = (gchar *) g_intern_static_string (MS2_PROP_WIDTH);
+    int_type_properties[6] = (gchar *) g_intern_static_string (MS2_PROP_HEIGHT);
+    int_type_properties[7] = (gchar *) g_intern_static_string (MS2_PROP_COLOR_DEPTH);
+    int_type_properties[8] = (gchar *) g_intern_static_string (MS2_PROP_PIXEL_WIDTH);
+    int_type_properties[9] = (gchar *) g_intern_static_string (MS2_PROP_PIXEL_HEIGHT);
     int_type_properties[10] = NULL;
   }
 
   if (!uint_type_properties) {
     uint_type_properties = g_new (gchar *, 4);
-    uint_type_properties[0] = (gchar *) g_intern_static_string (MS1_PROP_CHILD_COUNT);
-    uint_type_properties[1] = (gchar *) g_intern_static_string (MS1_PROP_ITEM_COUNT);
-    uint_type_properties[2] = (gchar *) g_intern_static_string (MS1_PROP_CONTAINER_COUNT);
+    uint_type_properties[0] = (gchar *) g_intern_static_string (MS2_PROP_CHILD_COUNT);
+    uint_type_properties[1] = (gchar *) g_intern_static_string (MS2_PROP_ITEM_COUNT);
+    uint_type_properties[2] = (gchar *) g_intern_static_string (MS2_PROP_CONTAINER_COUNT);
     uint_type_properties[3] = NULL;
   }
 
   if (!bool_type_properties) {
     bool_type_properties = g_new (gchar *, 2);
-    bool_type_properties[0] = (gchar *) g_intern_static_string (MS1_PROP_SEARCHABLE);
+    bool_type_properties[0] = (gchar *) g_intern_static_string (MS2_PROP_SEARCHABLE);
     bool_type_properties[1] = NULL;
   }
 
   if (!gptrarray_type_properties) {
     gptrarray_type_properties = g_new (gchar *, 4);
-    gptrarray_type_properties[0] = (gchar *) g_intern_static_string (MS1_PROP_URLS);
-    gptrarray_type_properties[1] = (gchar *) g_intern_static_string (MS1_PROP_ITEMS);
-    gptrarray_type_properties[2] = (gchar *) g_intern_static_string (MS1_PROP_CONTAINERS);
+    gptrarray_type_properties[0] = (gchar *) g_intern_static_string (MS2_PROP_URLS);
+    gptrarray_type_properties[1] = (gchar *) g_intern_static_string (MS2_PROP_ITEMS);
+    gptrarray_type_properties[2] = (gchar *) g_intern_static_string (MS2_PROP_CONTAINERS);
     gptrarray_type_properties[3] = NULL;
   }
 
@@ -275,16 +275,16 @@ properties_lookup_with_default (GHashTable *properties,
   /* Use a default value */
   intern_property = g_intern_string (property);
   if (lookup_in_strv (int_type_properties, intern_property)) {
-    ret_value = int_to_value (MS1_UNKNOWN_INT);
+    ret_value = int_to_value (MS2_UNKNOWN_INT);
   } else if (lookup_in_strv (uint_type_properties, intern_property)) {
-    ret_value = uint_to_value (MS1_UNKNOWN_UINT);
+    ret_value = uint_to_value (MS2_UNKNOWN_UINT);
   } else if (lookup_in_strv (bool_type_properties, intern_property)) {
     ret_value = bool_to_value (FALSE);
   } else if (lookup_in_strv (gptrarray_type_properties, intern_property)) {
     ptrarray = g_ptr_array_sized_new (0);
     ret_value = ptrarray_to_value (ptrarray);
   } else {
-    ret_value = str_to_value (MS1_UNKNOWN_STR);
+    ret_value = str_to_value (MS2_UNKNOWN_STR);
   }
 
   return ret_value;
@@ -384,14 +384,14 @@ get_id_from_message (DBusMessage *m)
   dbus_message_get_path_decomposed (m, &path);
 
   /* Path can of type:
-     /org/gnome/UPnP/MediaServer1/<name>
-     /org/gnome/UPnP/MediaServer1/<name>/items/<id>
-     /org/gnome/UPnP/MediaServer1/<name>/containers/<id>
+     /org/gnome/UPnP/MediaServer2/<name>
+     /org/gnome/UPnP/MediaServer2/<name>/items/<id>
+     /org/gnome/UPnP/MediaServer2/<name>/containers/<id>
   */
   path_length = g_strv_length (path);
 
   if (path_length == 5) {
-    id = g_strdup (MS1_ROOT);
+    id = g_strdup (MS2_ROOT);
   } else if (path_length == 7) {
     id =  g_strdup (g_quark_to_string (atoi (path[6])));
   } else {
@@ -405,7 +405,7 @@ get_id_from_message (DBusMessage *m)
 
 /* Request value of property in the interface */
 static GValue *
-get_property_value (MS1Server *server,
+get_property_value (MS2Server *server,
                     DBusMessage *message,
                     const gchar *interface,
                     const gchar *property)
@@ -423,7 +423,7 @@ get_property_value (MS1Server *server,
   }
 
   /* If asking for Path, we already can use object_path */
-  if (g_strcmp0 (property, MS1_PROP_PATH) == 0) {
+  if (g_strcmp0 (property, MS2_PROP_PATH) == 0) {
     v = g_new0 (GValue, 1);
     g_value_init (v, G_TYPE_STRING);
     g_value_set_string (v, dbus_message_get_path (message));
@@ -645,7 +645,7 @@ handle_get_message (DBusConnection *c,
   DBusMessage *r;
   gchar *interface = NULL;
   gchar *property = NULL;
-  MS1Server *server = MS1_SERVER (userdata);
+  MS2Server *server = MS2_SERVER (userdata);
 
   /* Check signature */
   if (dbus_message_has_signature (m, get_sgn)) {
@@ -679,7 +679,7 @@ handle_get_all_message (DBusConnection *c,
 {
   DBusMessage *r;
   GHashTable *propresult;
-  MS1Server *server = MS1_SERVER (userdata);
+  MS2Server *server = MS2_SERVER (userdata);
   const gchar **prop;
   gchar *id;
   gchar *interface;
@@ -741,7 +741,7 @@ handle_list_children_message (DBusConnection *c,
   guint max_count;
   guint offset;
   gint nitems;
-  MS1Server *server = MS1_SERVER (userdata);
+  MS2Server *server = MS2_SERVER (userdata);
 
   /* Check signature */
   if (dbus_message_has_signature (m, listchildren_sgn)) {
@@ -796,7 +796,7 @@ handle_search_objects_message (DBusConnection *c,
   guint max_count;
   guint offset;
   gint nitems;
-  MS1Server *server = MS1_SERVER (userdata);
+  MS2Server *server = MS2_SERVER (userdata);
 
   /* Check signature */
   if (dbus_message_has_signature (m, searchobjects_sgn)) {
@@ -904,9 +904,9 @@ root_handler (DBusConnection *c,
   return containers_handler (c, m, userdata);
 }
 
-/* Registers the MS1Server object in dbus */
+/* Registers the MS2Server object in dbus */
 static gboolean
-ms1_server_dbus_register (MS1Server *server,
+ms2_server_dbus_register (MS2Server *server,
                           const gchar *name)
 {
   DBusConnection *connection;
@@ -934,7 +934,7 @@ ms1_server_dbus_register (MS1Server *server,
   }
 
   /* Request name */
-  dbus_name = g_strconcat (MS1_DBUS_SERVICE_PREFIX, name, NULL);
+  dbus_name = g_strconcat (MS2_DBUS_SERVICE_PREFIX, name, NULL);
   if (dbus_bus_request_name (connection,
                              dbus_name,
                              DBUS_NAME_FLAG_DO_NOT_QUEUE,
@@ -946,7 +946,7 @@ ms1_server_dbus_register (MS1Server *server,
   g_free (dbus_name);
 
   /* Register object paths */
-  dbus_path = g_strconcat (MS1_DBUS_PATH_PREFIX, name, NULL);
+  dbus_path = g_strconcat (MS2_DBUS_PATH_PREFIX, name, NULL);
   dbus_path_items = g_strconcat (dbus_path, "/items", NULL);
   dbus_path_containers = g_strconcat (dbus_path, "/containers", NULL);
 
@@ -963,9 +963,9 @@ ms1_server_dbus_register (MS1Server *server,
   return TRUE;
 }
 
-/* Unregister MS1Server from dbus */
+/* Unregister MS2Server from dbus */
 static void
-ms1_server_dbus_unregister (MS1Server *server,
+ms2_server_dbus_unregister (MS2Server *server,
                             const gchar *name)
 {
   DBusConnection *connection;
@@ -984,7 +984,7 @@ ms1_server_dbus_unregister (MS1Server *server,
   }
 
   /* Unregister object paths */
-  dbus_path = g_strconcat (MS1_DBUS_PATH_PREFIX, server->priv->name, NULL);
+  dbus_path = g_strconcat (MS2_DBUS_PATH_PREFIX, server->priv->name, NULL);
   dbus_path_items = g_strconcat (dbus_path, "/items", NULL);
   dbus_path_containers = g_strconcat (dbus_path, "/containers", NULL);
   dbus_connection_unregister_object_path (connection, dbus_path);
@@ -995,7 +995,7 @@ ms1_server_dbus_unregister (MS1Server *server,
   g_free (dbus_path_containers);
 
   /* Release name */
-  dbus_name = g_strconcat (MS1_DBUS_SERVICE_PREFIX, server->priv->name, NULL);
+  dbus_name = g_strconcat (MS2_DBUS_SERVICE_PREFIX, server->priv->name, NULL);
   dbus_bus_release_name (connection,
                          dbus_name,
                          NULL);
@@ -1005,64 +1005,64 @@ ms1_server_dbus_unregister (MS1Server *server,
 
 /* Finalize function */
 static void
-ms1_server_finalize (GObject *object)
+ms2_server_finalize (GObject *object)
 {
-  MS1Server *server = MS1_SERVER (object);
+  MS2Server *server = MS2_SERVER (object);
 
-  ms1_server_dbus_unregister (server, server->priv->name);
+  ms2_server_dbus_unregister (server, server->priv->name);
   g_free (server->priv->name);
 
-  G_OBJECT_CLASS (ms1_server_parent_class)->finalize (object);
+  G_OBJECT_CLASS (ms2_server_parent_class)->finalize (object);
 }
 
 /* Class init function */
 static void
-ms1_server_class_init (MS1ServerClass *klass)
+ms2_server_class_init (MS2ServerClass *klass)
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (MS1ServerPrivate));
+  g_type_class_add_private (klass, sizeof (MS2ServerPrivate));
 
-  gobject_class->finalize = ms1_server_finalize;
+  gobject_class->finalize = ms2_server_finalize;
 }
 
 /* Object init function */
 static void
-ms1_server_init (MS1Server *server)
+ms2_server_init (MS2Server *server)
 {
-  server->priv = MS1_SERVER_GET_PRIVATE (server);
+  server->priv = MS2_SERVER_GET_PRIVATE (server);
 }
 
 /********************* PUBLIC API *********************/
 
 /**
- * ms1_server_new:
+ * ms2_server_new:
  * @name: the name used when registered in DBus
  * @data: user defined data
  *
- * Creates a new #MS1Server that will be registered in DBus under name
- * "org.gnome.UPnP.MediaServer1.<name>".
+ * Creates a new #MS2Server that will be registered in DBus under name
+ * "org.gnome.UPnP.MediaServer2.<name>".
  *
  * @data will be used as parameter when invoking the functions to retrieve
  * properties or children.
  *
- * Returns: a new #MS1Server registed in DBus, or @NULL if fails
+ * Returns: a new #MS2Server registed in DBus, or @NULL if fails
  **/
-MS1Server *
-ms1_server_new (const gchar *name,
+MS2Server *
+ms2_server_new (const gchar *name,
                 gpointer data)
 {
-  MS1Server *server;
+  MS2Server *server;
 
   g_return_val_if_fail (name, NULL);
 
-  server = g_object_new (MS1_TYPE_SERVER, NULL);
+  server = g_object_new (MS2_TYPE_SERVER, NULL);
 
   server->priv->data = data;
   server->priv->name = g_strdup (name);
 
   /* Register object in DBus */
-  if (!ms1_server_dbus_register (server, name)) {
+  if (!ms2_server_dbus_register (server, name)) {
     g_object_unref (server);
     return NULL;
   } else {
@@ -1071,56 +1071,56 @@ ms1_server_new (const gchar *name,
 }
 
 /**
- * ms1_server_set_get_properties_func:
- * @server: a #MS1Server
+ * ms2_server_set_get_properties_func:
+ * @server: a #MS2Server
  * @get_properties_func: user-defined function to request properties
  *
  * Defines which function must be used when requesting properties.
  **/
 void
-ms1_server_set_get_properties_func (MS1Server *server,
+ms2_server_set_get_properties_func (MS2Server *server,
                                     GetPropertiesFunc get_properties_func)
 {
-  g_return_if_fail (MS1_IS_SERVER (server));
+  g_return_if_fail (MS2_IS_SERVER (server));
 
   server->priv->get_properties = get_properties_func;
 }
 
 /**
- * ms1_server_set_list_children_func:
- * @server: a #MS1Server
+ * ms2_server_set_list_children_func:
+ * @server: a #MS2Server
  * @list_children_func: user-defined function to request children
  *
  * Defines which function must be used when requesting children.
  **/
 void
-ms1_server_set_list_children_func (MS1Server *server,
+ms2_server_set_list_children_func (MS2Server *server,
                                    ListChildrenFunc list_children_func)
 {
-  g_return_if_fail (MS1_IS_SERVER (server));
+  g_return_if_fail (MS2_IS_SERVER (server));
 
   server->priv->list_children = list_children_func;
 }
 
 /**
- * ms1_server_set_search_objects_func:
- * @server: a #MS1Server
+ * ms2_server_set_search_objects_func:
+ * @server: a #MS2Server
  * @search_objects_func: user-defined function to search children
  *
  * Defines which function must be used when searching objects
  **/
 void
-ms1_server_set_search_objects_func (MS1Server *server,
+ms2_server_set_search_objects_func (MS2Server *server,
                                     SearchObjectsFunc search_objects_func)
 {
-  g_return_if_fail (MS1_IS_SERVER (server));
+  g_return_if_fail (MS2_IS_SERVER (server));
 
   server->priv->search_objects = search_objects_func;
 }
 
 /**
- * ms1_server_updated:
- * @server: a #MS1Server
+ * ms2_server_updated:
+ * @server: a #MS2Server
  * @id: item identifier that has changed
  *
  * Emit a signal notifying an item has changed.
@@ -1134,7 +1134,7 @@ ms1_server_set_search_objects_func (MS1Server *server,
  * this method
  **/
 void
-ms1_server_updated (MS1Server *server,
+ms2_server_updated (MS2Server *server,
                     const gchar *id)
 {
   DBusError error;
@@ -1142,7 +1142,7 @@ ms1_server_updated (MS1Server *server,
   DBusMessage *message;
   gchar *object_path;
 
-  g_return_if_fail (MS1_IS_SERVER (server));
+  g_return_if_fail (MS2_IS_SERVER (server));
 
   dbus_error_init (&error);
 
@@ -1154,12 +1154,12 @@ ms1_server_updated (MS1Server *server,
   }
 
   /* Get object path */
-  if (g_strcmp0 (id, MS1_ROOT) == 0) {
-    object_path = g_strconcat (MS1_DBUS_PATH_PREFIX,
+  if (g_strcmp0 (id, MS2_ROOT) == 0) {
+    object_path = g_strconcat (MS2_DBUS_PATH_PREFIX,
                                server->priv->name,
                                NULL);
   } else {
-    object_path = g_strdup_printf (MS1_DBUS_PATH_PREFIX "%s/containers/%d",
+    object_path = g_strdup_printf (MS2_DBUS_PATH_PREFIX "%s/containers/%d",
                                    server->priv->name,
                                    g_quark_from_string (id));
   }
@@ -1174,17 +1174,17 @@ ms1_server_updated (MS1Server *server,
 }
 
 /**
- * ms1_server_get_name:
- * @server: a #MS1Server
+ * ms2_server_get_name:
+ * @server: a #MS2Server
  *
  * Returns name used for this server.
  *
  * Returns: server name. Should not be freed.
  **/
 const gchar *
-ms1_server_get_name (MS1Server *server)
+ms2_server_get_name (MS2Server *server)
 {
-  g_return_val_if_fail (MS1_IS_SERVER (server), NULL);
+  g_return_val_if_fail (MS2_IS_SERVER (server), NULL);
 
   return server->priv->name;
 }
diff --git a/lib/media-server1-server.h b/lib/media-server2-server.h
similarity index 64%
rename from lib/media-server1-server.h
rename to lib/media-server2-server.h
index 5356a05..5fc098d 100644
--- a/lib/media-server1-server.h
+++ b/lib/media-server2-server.h
@@ -20,65 +20,65 @@
  *
  */
 
-#ifndef _MEDIA_SERVER1_SERVER_H_
-#define _MEDIA_SERVER1_SERVER_H_
+#ifndef _MEDIA_SERVER2_SERVER_H_
+#define _MEDIA_SERVER2_SERVER_H_
 
 #include <glib-object.h>
 #include <glib.h>
 
-#include "media-server1-common.h"
+#include "media-server2-common.h"
 
-#define MS1_TYPE_SERVER                         \
-  (ms1_server_get_type ())
+#define MS2_TYPE_SERVER                         \
+  (ms2_server_get_type ())
 
-#define MS1_SERVER(obj)                         \
+#define MS2_SERVER(obj)                         \
   (G_TYPE_CHECK_INSTANCE_CAST ((obj),           \
-                               MS1_TYPE_SERVER, \
-                               MS1Server))
+                               MS2_TYPE_SERVER, \
+                               MS2Server))
 
-#define MS1_IS_SERVER(obj)                              \
+#define MS2_IS_SERVER(obj)                              \
   (G_TYPE_CHECK_INSTANCE_TYPE ((obj),                   \
-                               MS1_TYPE_SERVER))
+                               MS2_TYPE_SERVER))
 
-#define MS1_SERVER_CLASS(klass)                 \
+#define MS2_SERVER_CLASS(klass)                 \
   (G_TYPE_CHECK_CLASS_CAST((klass),             \
-                           MS1_TYPE_SERVER,     \
-                           MS1ServerClass))
+                           MS2_TYPE_SERVER,     \
+                           MS2ServerClass))
 
-#define MS1_IS_SERVER_CLASS(klass)              \
+#define MS2_IS_SERVER_CLASS(klass)              \
   (G_TYPE_CHECK_CLASS_TYPE((klass),             \
-                           MS1_TYPE_SERVER))
+                           MS2_TYPE_SERVER))
 
-#define MS1_SERVER_GET_CLASS(obj)               \
+#define MS2_SERVER_GET_CLASS(obj)               \
   (G_TYPE_INSTANCE_GET_CLASS ((obj),            \
-                              MS1_TYPE_SERVER,  \
-                              MS1ServerClass))
+                              MS2_TYPE_SERVER,  \
+                              MS2ServerClass))
 
-typedef struct _MS1Server        MS1Server;
-typedef struct _MS1ServerPrivate MS1ServerPrivate;
+typedef struct _MS2Server        MS2Server;
+typedef struct _MS2ServerPrivate MS2ServerPrivate;
 
-struct _MS1Server {
+struct _MS2Server {
 
   GObject parent;
 
   /*< private >*/
-  MS1ServerPrivate *priv;
+  MS2ServerPrivate *priv;
 };
 
-typedef struct _MS1ServerClass MS1ServerClass;
+typedef struct _MS2ServerClass MS2ServerClass;
 
-struct _MS1ServerClass {
+struct _MS2ServerClass {
 
   GObjectClass parent_class;
 };
 
-typedef GHashTable * (*GetPropertiesFunc) (MS1Server *server,
+typedef GHashTable * (*GetPropertiesFunc) (MS2Server *server,
                                            const gchar *id,
                                            const gchar **properties,
                                            gpointer data,
                                            GError **error);
 
-typedef GList * (*ListChildrenFunc) (MS1Server *server,
+typedef GList * (*ListChildrenFunc) (MS2Server *server,
                                      const gchar *id,
                                      guint offset,
                                      guint max_count,
@@ -86,7 +86,7 @@ typedef GList * (*ListChildrenFunc) (MS1Server *server,
                                      gpointer data,
                                      GError **error);
 
-typedef GList * (*SearchObjectsFunc) (MS1Server *server,
+typedef GList * (*SearchObjectsFunc) (MS2Server *server,
                                       const gchar *id,
                                       const gchar *query,
                                       guint offset,
@@ -95,146 +95,146 @@ typedef GList * (*SearchObjectsFunc) (MS1Server *server,
                                       gpointer data,
                                       GError **error);
 
-GType ms1_server_get_type (void);
+GType ms2_server_get_type (void);
 
-MS1Server *ms1_server_new (const gchar *name,
+MS2Server *ms2_server_new (const gchar *name,
                            gpointer data);
 
-void ms1_server_set_get_properties_func (MS1Server *server,
+void ms2_server_set_get_properties_func (MS2Server *server,
                                          GetPropertiesFunc get_properties_func);
 
-void ms1_server_set_list_children_func (MS1Server *server,
+void ms2_server_set_list_children_func (MS2Server *server,
                                         ListChildrenFunc list_children_func);
 
-void ms1_server_set_search_objects_func (MS1Server *server,
+void ms2_server_set_search_objects_func (MS2Server *server,
                                          SearchObjectsFunc search_objects_func);
 
-void ms1_server_updated (MS1Server *server,
+void ms2_server_updated (MS2Server *server,
                          const gchar *id);
 
-const gchar *ms1_server_get_name (MS1Server *server);
+const gchar *ms2_server_get_name (MS2Server *server);
 
-GHashTable *ms1_server_new_properties_hashtable (void);
+GHashTable *ms2_server_new_properties_hashtable (void);
 
-void ms1_server_set_path (MS1Server *server,
+void ms2_server_set_path (MS2Server *server,
                           GHashTable *properties,
                           const gchar *id,
                           gboolean is_container);
 
-void ms1_server_set_parent (MS1Server *server,
+void ms2_server_set_parent (MS2Server *server,
                             GHashTable *properties,
                             const gchar *parent);
 
-void ms1_server_set_display_name (MS1Server *server,
+void ms2_server_set_display_name (MS2Server *server,
                                   GHashTable *properties,
                                   const gchar *display_name);
 
-void ms1_server_set_item_type (MS1Server *server,
+void ms2_server_set_item_type (MS2Server *server,
                                GHashTable *properties,
-                               MS1ItemType type);
+                               MS2ItemType type);
 
-void ms1_server_set_icon (MS1Server *server,
+void ms2_server_set_icon (MS2Server *server,
                           GHashTable *properties,
                           const gchar *icon);
 
-void ms1_server_set_mime_type (MS1Server *server,
+void ms2_server_set_mime_type (MS2Server *server,
                                GHashTable *properties,
                                const gchar *mime_type);
 
-void ms1_server_set_artist (MS1Server *server,
+void ms2_server_set_artist (MS2Server *server,
                             GHashTable *properties,
                             const gchar *artist);
 
-void ms1_server_set_album (MS1Server *server,
+void ms2_server_set_album (MS2Server *server,
                            GHashTable *properties,
                            const gchar *album);
 
-void ms1_server_set_date (MS1Server *server,
+void ms2_server_set_date (MS2Server *server,
                           GHashTable *properties,
                           const gchar *date);
 
-void ms1_server_set_dlna_profile (MS1Server *server,
+void ms2_server_set_dlna_profile (MS2Server *server,
                                   GHashTable *properties,
                                   const gchar *dlna_profile);
 
-void ms1_server_set_genre (MS1Server *server,
+void ms2_server_set_genre (MS2Server *server,
                            GHashTable *properties,
                            const gchar *genre);
 
-void ms1_server_set_thumbnail (MS1Server *server,
+void ms2_server_set_thumbnail (MS2Server *server,
                                GHashTable *properties,
                                const gchar *genre);
 
-void ms1_server_set_album_art (MS1Server *server,
+void ms2_server_set_album_art (MS2Server *server,
                                GHashTable *properties,
                                const gchar *album_art);
 
-void ms1_server_set_size (MS1Server *server,
+void ms2_server_set_size (MS2Server *server,
                           GHashTable *properties,
                           gint size);
 
-void ms1_server_set_duration (MS1Server *server,
+void ms2_server_set_duration (MS2Server *server,
                               GHashTable *properties,
                               gint duration);
 
-void ms1_server_set_bitrate (MS1Server *server,
+void ms2_server_set_bitrate (MS2Server *server,
                              GHashTable *properties,
                              gint bitrate);
 
-void ms1_server_set_sample_rate (MS1Server *server,
+void ms2_server_set_sample_rate (MS2Server *server,
                                  GHashTable *properties,
                                  gint sample_rate);
 
-void ms1_server_set_bits_per_sample (MS1Server *server,
+void ms2_server_set_bits_per_sample (MS2Server *server,
                                      GHashTable *properties,
                                      gint bits_per_sample);
 
-void ms1_server_set_width (MS1Server *server,
+void ms2_server_set_width (MS2Server *server,
                            GHashTable *properties,
                            gint width);
 
-void ms1_server_set_height (MS1Server *server,
+void ms2_server_set_height (MS2Server *server,
                             GHashTable *properties,
                             gint height);
 
-void ms1_server_set_color_depth (MS1Server *server,
+void ms2_server_set_color_depth (MS2Server *server,
                                  GHashTable *properties,
                                  gint depth);
 
-void ms1_server_set_pixel_width (MS1Server *server,
+void ms2_server_set_pixel_width (MS2Server *server,
                                  GHashTable *properties,
                                  gint pixel_width);
 
-void ms1_server_set_pixel_height (MS1Server *server,
+void ms2_server_set_pixel_height (MS2Server *server,
                                   GHashTable *properties,
                                   gint pixel_height);
 
-void ms1_server_set_urls (MS1Server *server,
+void ms2_server_set_urls (MS2Server *server,
                           GHashTable *properties,
                           gchar **urls);
 
-void ms1_server_set_searchable (MS1Server *server,
+void ms2_server_set_searchable (MS2Server *server,
                                 GHashTable *properties,
                                 gboolean searchable);
 
-void ms1_server_set_child_count (MS1Server *server,
+void ms2_server_set_child_count (MS2Server *server,
                                  GHashTable *properties,
                                  guint child_count);
 
-void ms1_server_set_items (MS1Server *server,
+void ms2_server_set_items (MS2Server *server,
                            GHashTable *properties,
                            GList *items);
 
-void ms1_server_set_item_count (MS1Server *server,
+void ms2_server_set_item_count (MS2Server *server,
                                 GHashTable *properties,
                                 guint item_count);
 
-void ms1_server_set_containers (MS1Server *server,
+void ms2_server_set_containers (MS2Server *server,
                                 GHashTable *properties,
                                 GList *containers);
 
-void ms1_server_set_container_count (MS1Server *server,
+void ms2_server_set_container_count (MS2Server *server,
                                      GHashTable *properties,
                                      guint container_count);
 
-#endif /* _MEDIA_SERVER1_SERVER_H_ */
+#endif /* _MEDIA_SERVER2_SERVER_H_ */
diff --git a/mediaserver1.pc.in b/mediaserver2.pc.in
similarity index 72%
rename from mediaserver1.pc.in
rename to mediaserver2.pc.in
index 37fe4b4..c6cde72 100644
--- a/mediaserver1.pc.in
+++ b/mediaserver2.pc.in
@@ -3,9 +3,9 @@ exec_prefix= exec_prefix@
 libdir= libdir@
 includedir= includedir@
 
-Name: MediaServer1
-Description: Helper to write consumers and providers for MediaServer1 specification
+Name: MediaServer2
+Description: Helper to write consumers and providers for MediaServer2 specification
 Version: @VERSION@
-Libs: -L${libdir} -lmediaserver1
+Libs: -L${libdir} -lmediaserver2
 Cflags: -I${includedir}
 
diff --git a/src/Makefile.am b/src/Makefile.am
index 9b91306..faf7c39 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -22,7 +22,7 @@ rygel_grilo_LDADD =	\
 	-ldl -lpthread	\
 	$(DEPS_LIBS)	\
 	$(GRL_DEP_LIBS)	\
-	$(top_builddir)/lib/libmediaserver1.la
+	$(top_builddir)/lib/libmediaserver2.la
 
 test_client_SOURCES =	\
 	test-client.c
@@ -35,7 +35,7 @@ test_client_CFLAGS =		\
 test_client_LDADD =	\
 	-ldl -lpthread	\
 	$(DEPS_LIBS)	\
-	$(top_builddir)/lib/libmediaserver1.la
+	$(top_builddir)/lib/libmediaserver2.la
 
 MAINTAINERCLEANFILES =	\
 	*.in
diff --git a/src/rygel-grilo.c b/src/rygel-grilo.c
index 01b5fe9..382b1d1 100644
--- a/src/rygel-grilo.c
+++ b/src/rygel-grilo.c
@@ -25,8 +25,8 @@
 #include <grilo.h>
 #include <stdio.h>
 
-#include <media-server1-server.h>
-#include <media-server1-client.h>
+#include <media-server2-server.h>
+#include <media-server2-client.h>
 
 #define RYGEL_GRILO_CONFIG_FILE "rygel-grilo.conf"
 
@@ -81,21 +81,21 @@ typedef struct {
   GList *children;
   GList *keys;
   GrlMediaSource *source;
-  MS1Server *server;
+  MS2Server *server;
   gboolean updated;
   GList *other_keys;
   gchar *parent_id;
 } RygelGriloData;
 
 static GHashTable *
-get_properties_cb (MS1Server *server,
+get_properties_cb (MS2Server *server,
                    const gchar *id,
                    const gchar **properties,
                    gpointer data,
                    GError **error);
 
 static GList *
-list_children_cb (MS1Server *server,
+list_children_cb (MS2Server *server,
                   const gchar *id,
                   guint offset,
                   guint max_count,
@@ -130,7 +130,7 @@ get_parent_id (const gchar *child_id)
   gchar *parent_id;
   gsize bytes_to_copy;
 
-  if (g_strcmp0 (child_id, MS1_ROOT) == 0) {
+  if (g_strcmp0 (child_id, MS2_ROOT) == 0) {
     return NULL;
   }
 
@@ -139,7 +139,7 @@ get_parent_id (const gchar *child_id)
 
   /* Check if parent is a root */
   if (bytes_to_copy < 6) {
-    return g_strdup (MS1_ROOT);
+    return g_strdup (MS2_ROOT);
   }
 
   /* Save parent id */
@@ -157,7 +157,7 @@ get_grl_id (const gchar *ms_id)
   gchar **offspring;
   gchar *grl_id;
 
-  if (g_strcmp0 (ms_id, MS1_ROOT) == 0) {
+  if (g_strcmp0 (ms_id, MS2_ROOT) == 0) {
     return NULL;
   }
 
@@ -187,12 +187,12 @@ serialize_media (const gchar *parent_id,
 
   /* Check if it is root media */
   if (!media_id) {
-    return g_strdup (MS1_ROOT);
+    return g_strdup (MS2_ROOT);
   }
 
   escaped_id = g_uri_escape_string (media_id, NULL, TRUE);
 
-  if (g_strcmp0 (parent_id, MS1_ROOT) == 0) {
+  if (g_strcmp0 (parent_id, MS2_ROOT) == 0) {
     ms_id = g_strconcat (ID_PREFIX_CONTAINER, escaped_id, NULL);
   } else {
     ms_id = g_strconcat (parent_id, ID_SEPARATOR, escaped_id, NULL);
@@ -218,7 +218,7 @@ unserialize_media (GrlMetadataSource *source, const gchar *id)
   GrlMedia *media = NULL;
   gchar *grl_id;
 
-  if (g_strcmp0 (id, MS1_ROOT) == 0 ||
+  if (g_strcmp0 (id, MS2_ROOT) == 0 ||
       g_str_has_prefix (id, ID_PREFIX_CONTAINER)) {
     media = grl_media_box_new ();
   } else if (g_str_has_prefix (id, ID_PREFIX_AUDIO)) {
@@ -240,7 +240,7 @@ unserialize_media (GrlMetadataSource *source, const gchar *id)
 }
 
 static void
-get_items_and_containers (MS1Server *server,
+get_items_and_containers (MS2Server *server,
                           GrlMediaSource *source,
                           const gchar *container_id,
                           guint *child_count,
@@ -249,10 +249,10 @@ get_items_and_containers (MS1Server *server,
                           GList **containers,
                           guint *container_count)
 {
-  const gchar *properties[] = { MS1_PROP_PATH, MS1_PROP_TYPE, NULL };
+  const gchar *properties[] = { MS2_PROP_PATH, MS2_PROP_TYPE, NULL };
   GList *children;
   GList *child;
-  MS1ItemType type;
+  MS2ItemType type;
 
   /* Initialize values */
   if (child_count) {
@@ -283,8 +283,8 @@ get_items_and_containers (MS1Server *server,
     if (child_count) {
       (*child_count)++;
     }
-    type = ms1_client_get_item_type (child->data);
-    if (type == MS1_ITEM_TYPE_CONTAINER) {
+    type = ms2_client_get_item_type (child->data);
+    if (type == MS2_ITEM_TYPE_CONTAINER) {
       if (container_count) {
         (*container_count)++;
       }
@@ -320,31 +320,31 @@ get_grilo_keys (const gchar **ms_keys, GList **other_keys)
   gint i;
 
   for (i = 0; ms_keys[i]; i++) {
-    if (g_strcmp0 (ms_keys[i], MS1_PROP_PATH) == 0) {
+    if (g_strcmp0 (ms_keys[i], MS2_PROP_PATH) == 0) {
       grl_keys = g_list_prepend (grl_keys, GRL_METADATA_KEY_ID);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_DISPLAY_NAME) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_DISPLAY_NAME) == 0) {
       grl_keys = g_list_prepend (grl_keys, GRL_METADATA_KEY_TITLE);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_DATE) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_DATE) == 0) {
       grl_keys = g_list_prepend (grl_keys, GRL_METADATA_KEY_DATE);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_ALBUM) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_ALBUM) == 0) {
       grl_keys = g_list_prepend (grl_keys, GRL_METADATA_KEY_ALBUM);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_ARTIST) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_ARTIST) == 0) {
       grl_keys = g_list_prepend (grl_keys, GRL_METADATA_KEY_ARTIST);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_GENRE) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_GENRE) == 0) {
       grl_keys = g_list_prepend (grl_keys, GRL_METADATA_KEY_GENRE);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_MIME_TYPE) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_MIME_TYPE) == 0) {
       grl_keys = g_list_prepend (grl_keys, GRL_METADATA_KEY_MIME);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_URLS) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_URLS) == 0) {
       grl_keys = g_list_prepend (grl_keys, GRL_METADATA_KEY_URL);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_BITRATE) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_BITRATE) == 0) {
       grl_keys = g_list_prepend (grl_keys, GRL_METADATA_KEY_BITRATE);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_DURATION) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_DURATION) == 0) {
       grl_keys = g_list_prepend (grl_keys, GRL_METADATA_KEY_DURATION);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_HEIGHT) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_HEIGHT) == 0) {
       grl_keys = g_list_prepend (grl_keys, GRL_METADATA_KEY_HEIGHT);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_WIDTH) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_WIDTH) == 0) {
       grl_keys = g_list_prepend (grl_keys, GRL_METADATA_KEY_WIDTH);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_CHILD_COUNT) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_CHILD_COUNT) == 0) {
       /* Add childcount to both lists. First we would try to use Grilo to get
          childcount; if it is not supported or is unknown, then we will compute
          it */
@@ -352,19 +352,19 @@ get_grilo_keys (const gchar **ms_keys, GList **other_keys)
       if (other_keys) {
         *other_keys = g_list_prepend (*other_keys, (gchar *) ms_keys[i]);
       }
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_PARENT) == 0 && other_keys) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_PARENT) == 0 && other_keys) {
       *other_keys = g_list_prepend (*other_keys, (gchar *) ms_keys[i]);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_TYPE) == 0 && other_keys) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_TYPE) == 0 && other_keys) {
       *other_keys = g_list_prepend (*other_keys, (gchar *) ms_keys[i]);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_ITEMS) == 0 && other_keys) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_ITEMS) == 0 && other_keys) {
       *other_keys = g_list_prepend (*other_keys, (gchar *) ms_keys[i]);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_ITEM_COUNT) == 0 && other_keys) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_ITEM_COUNT) == 0 && other_keys) {
       *other_keys = g_list_prepend (*other_keys, (gchar *) ms_keys[i]);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_CONTAINERS) == 0 && other_keys) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_CONTAINERS) == 0 && other_keys) {
       *other_keys = g_list_prepend (*other_keys, (gchar *) ms_keys[i]);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_CONTAINER_COUNT) == 0 && other_keys) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_CONTAINER_COUNT) == 0 && other_keys) {
       *other_keys = g_list_prepend (*other_keys, (gchar *) ms_keys[i]);
-    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_SEARCHABLE) == 0 && other_keys) {
+    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_SEARCHABLE) == 0 && other_keys) {
       *other_keys = g_list_prepend (*other_keys, (gchar *) ms_keys[i]);
     }
   }
@@ -373,7 +373,7 @@ get_grilo_keys (const gchar **ms_keys, GList **other_keys)
 }
 
 static void
-fill_properties_table (MS1Server *server,
+fill_properties_table (MS2Server *server,
                        GHashTable *properties_table,
                        GList *keys,
                        GrlMedia *media,
@@ -390,54 +390,54 @@ fill_properties_table (MS1Server *server,
       if (prop->data == GRL_METADATA_KEY_ID) {
         id = serialize_media (parent_id, media);
         if (id) {
-          ms1_server_set_path (server,
+          ms2_server_set_path (server,
                                properties_table,
                                id,
                                GRL_IS_MEDIA_BOX (media));
           g_free (id);
         }
       } else if (prop->data == GRL_METADATA_KEY_TITLE) {
-        ms1_server_set_display_name (server,
+        ms2_server_set_display_name (server,
                                      properties_table,
                                      grl_media_get_title (media));
       } else if (prop->data == GRL_METADATA_KEY_ALBUM) {
-        ms1_server_set_album (server,
+        ms2_server_set_album (server,
                               properties_table,
                               grl_data_get_string (GRL_DATA (media),
                                                    GRL_METADATA_KEY_ALBUM));
       } else if (prop->data == GRL_METADATA_KEY_ARTIST) {
-        ms1_server_set_artist (server,
+        ms2_server_set_artist (server,
                                properties_table,
                                grl_data_get_string (GRL_DATA (media),
                                                     GRL_METADATA_KEY_ARTIST));
       } else if (prop->data == GRL_METADATA_KEY_GENRE) {
-        ms1_server_set_genre (server,
+        ms2_server_set_genre (server,
                               properties_table,
                               grl_data_get_string (GRL_DATA (media),
                                                    GRL_METADATA_KEY_GENRE));
       } else if (prop->data == GRL_METADATA_KEY_MIME) {
-        ms1_server_set_mime_type (server,
+        ms2_server_set_mime_type (server,
                                   properties_table,
                                   grl_media_get_mime (media));
       } else if (prop->data == GRL_METADATA_KEY_URL) {
         urls[0] = (gchar *) grl_media_get_url (media);
-        ms1_server_set_urls (server, properties_table, urls);
+        ms2_server_set_urls (server, properties_table, urls);
       } else if (prop->data == GRL_METADATA_KEY_BITRATE) {
-        ms1_server_set_bitrate (server,
+        ms2_server_set_bitrate (server,
                                 properties_table,
                                 grl_data_get_int (GRL_DATA (media),
                                                   GRL_METADATA_KEY_BITRATE));
       } else if (prop->data == GRL_METADATA_KEY_DURATION) {
-        ms1_server_set_duration (server,
+        ms2_server_set_duration (server,
                                  properties_table,
                                  grl_media_get_duration (media));
       } else if (prop->data == GRL_METADATA_KEY_HEIGHT) {
-        ms1_server_set_height (server,
+        ms2_server_set_height (server,
                                properties_table,
                                grl_data_get_int (GRL_DATA (media),
                                                  GRL_METADATA_KEY_HEIGHT));
       } else if (prop->data == GRL_METADATA_KEY_WIDTH) {
-        ms1_server_set_width (server,
+        ms2_server_set_width (server,
                               properties_table,
                               grl_data_get_int (GRL_DATA (media),
                                                 GRL_METADATA_KEY_WIDTH));
@@ -449,7 +449,7 @@ fill_properties_table (MS1Server *server,
           childcount = 0;
         }
         if (childcount != GRL_METADATA_KEY_CHILDCOUNT_UNKNOWN) {
-          ms1_server_set_child_count (server,
+          ms2_server_set_child_count (server,
                                       properties_table,
                                       (guint) childcount);
         }
@@ -459,7 +459,7 @@ fill_properties_table (MS1Server *server,
 }
 
 static void
-fill_other_properties_table (MS1Server *server,
+fill_other_properties_table (MS2Server *server,
                              GrlMediaSource *source,
                              GHashTable *properties_table,
                              GList *keys,
@@ -480,51 +480,51 @@ fill_other_properties_table (MS1Server *server,
   guint _item_count;
 
   for (key = keys; key; key = g_list_next (key)) {
-    if (g_strcmp0 (key->data, MS1_PROP_PARENT) == 0) {
-      ms1_server_set_parent (server,
+    if (g_strcmp0 (key->data, MS2_PROP_PARENT) == 0) {
+      ms2_server_set_parent (server,
                              properties_table,
-                             parent_id? parent_id: MS1_ROOT);
-    } else if (g_strcmp0 (key->data, MS1_PROP_TYPE) == 0) {
+                             parent_id? parent_id: MS2_ROOT);
+    } else if (g_strcmp0 (key->data, MS2_PROP_TYPE) == 0) {
       if (GRL_IS_MEDIA_BOX (media)) {
-        ms1_server_set_item_type (server,
+        ms2_server_set_item_type (server,
                                   properties_table,
-                                  MS1_ITEM_TYPE_CONTAINER);
+                                  MS2_ITEM_TYPE_CONTAINER);
       } else if (GRL_IS_MEDIA_IMAGE (media)) {
-        ms1_server_set_item_type (server,
+        ms2_server_set_item_type (server,
                                   properties_table,
-                                  MS1_ITEM_TYPE_IMAGE);
+                                  MS2_ITEM_TYPE_IMAGE);
       } else if (GRL_IS_MEDIA_AUDIO (media)) {
-        ms1_server_set_item_type (server,
+        ms2_server_set_item_type (server,
                                   properties_table,
-                                  MS1_ITEM_TYPE_AUDIO);
+                                  MS2_ITEM_TYPE_AUDIO);
       } else if (GRL_IS_MEDIA_VIDEO (media)) {
-        ms1_server_set_item_type (server,
+        ms2_server_set_item_type (server,
                                   properties_table,
-                                  MS1_ITEM_TYPE_VIDEO);
+                                  MS2_ITEM_TYPE_VIDEO);
       } else {
-        ms1_server_set_item_type (server,
+        ms2_server_set_item_type (server,
                                   properties_table,
-                                  MS1_ITEM_TYPE_UNKNOWN);
+                                  MS2_ITEM_TYPE_UNKNOWN);
       }
-    } else if (g_strcmp0 (key->data, MS1_PROP_CHILD_COUNT) == 0) {
+    } else if (g_strcmp0 (key->data, MS2_PROP_CHILD_COUNT) == 0) {
       /* First check if childcount was obtained from Grilo; if not, then compute
          it by hand */
       if (GRL_IS_MEDIA_BOX (media) &&
           grl_media_box_get_childcount (GRL_MEDIA_BOX (media)) == GRL_METADATA_KEY_CHILDCOUNT_UNKNOWN) {
         child_count = &_child_count;
       }
-    } else if (g_strcmp0 (key->data, MS1_PROP_ITEMS) == 0) {
+    } else if (g_strcmp0 (key->data, MS2_PROP_ITEMS) == 0) {
       items = &_items;
-    } else if (g_strcmp0 (key->data, MS1_PROP_ITEM_COUNT) == 0 &&
+    } else if (g_strcmp0 (key->data, MS2_PROP_ITEM_COUNT) == 0 &&
                count_items_containers) {
       item_count = &_item_count;
-    } else if (g_strcmp0 (key->data, MS1_PROP_CONTAINERS) == 0) {
+    } else if (g_strcmp0 (key->data, MS2_PROP_CONTAINERS) == 0) {
       containers = &_containers;
-    } else if (g_strcmp0 (key->data, MS1_PROP_CONTAINER_COUNT) == 0 &&
+    } else if (g_strcmp0 (key->data, MS2_PROP_CONTAINER_COUNT) == 0 &&
                count_items_containers) {
       container_count = &_container_count;
-    } else if (g_strcmp0 (key->data, MS1_PROP_SEARCHABLE) == 0) {
-      ms1_server_set_searchable (server,
+    } else if (g_strcmp0 (key->data, MS2_PROP_SEARCHABLE) == 0) {
+      ms2_server_set_searchable (server,
                                  properties_table,
                                  FALSE);
     }
@@ -544,23 +544,23 @@ fill_other_properties_table (MS1Server *server,
       g_free (id);
     }
     if (child_count) {
-      ms1_server_set_child_count (server, properties_table, *child_count);
+      ms2_server_set_child_count (server, properties_table, *child_count);
     }
     if (items) {
-      ms1_server_set_items (server, properties_table, *items);
+      ms2_server_set_items (server, properties_table, *items);
       g_list_foreach (*items, (GFunc) g_hash_table_unref, NULL);
       g_list_free (*items);
     }
     if (item_count) {
-      ms1_server_set_item_count (server, properties_table, *item_count);
+      ms2_server_set_item_count (server, properties_table, *item_count);
     }
     if (containers) {
-      ms1_server_set_containers (server, properties_table, *containers);
+      ms2_server_set_containers (server, properties_table, *containers);
       g_list_foreach (*containers, (GFunc) g_hash_table_unref, NULL);
       g_list_free (*containers);
     }
     if (container_count) {
-      ms1_server_set_container_count (server, properties_table, *container_count);
+      ms2_server_set_container_count (server, properties_table, *container_count);
     }
   }
 }
@@ -579,7 +579,7 @@ metadata_cb (GrlMediaSource *source,
     return;
   }
 
-  rgdata->properties = ms1_server_new_properties_hashtable ();
+  rgdata->properties = ms2_server_new_properties_hashtable ();
   fill_properties_table (rgdata->server,
                          rgdata->properties,
                          rgdata->keys,
@@ -614,7 +614,7 @@ browse_cb (GrlMediaSource *source,
   }
 
   if (media) {
-    prop_table = ms1_server_new_properties_hashtable ();
+    prop_table = ms2_server_new_properties_hashtable ();
     fill_properties_table (rgdata->server,
                            prop_table,
                            rgdata->keys,
@@ -651,7 +651,7 @@ wait_for_result (RygelGriloData *rgdata)
 }
 
 static GHashTable *
-get_properties_cb (MS1Server *server,
+get_properties_cb (MS2Server *server,
                    const gchar *id,
                    const gchar **properties,
                    gpointer data,
@@ -700,7 +700,7 @@ get_properties_cb (MS1Server *server,
 }
 
 static GList *
-list_children_cb (MS1Server *server,
+list_children_cb (MS2Server *server,
                   const gchar *id,
                   guint offset,
                   guint max_count,
@@ -763,7 +763,7 @@ static void
 source_added_cb (GrlPluginRegistry *registry, gpointer user_data)
 {
   GrlSupportedOps supported_ops;
-  MS1Server *server;
+  MS2Server *server;
   const gchar *source_name;
   gchar *source_id;
 
@@ -795,14 +795,14 @@ source_added_cb (GrlPluginRegistry *registry, gpointer user_data)
 
     sanitize (source_id);
 
-    server = ms1_server_new (source_id, GRL_MEDIA_SOURCE (user_data));
+    server = ms2_server_new (source_id, GRL_MEDIA_SOURCE (user_data));
 
     if (!server) {
       g_warning ("Cannot register %s", source_id);
       g_free (source_id);
     } else {
-      ms1_server_set_get_properties_func (server, get_properties_cb);
-      ms1_server_set_list_children_func (server, list_children_cb);
+      ms2_server_set_get_properties_func (server, get_properties_cb);
+      ms2_server_set_list_children_func (server, list_children_cb);
       /* Save reference */
       if (!dups) {
         providers_names = g_list_prepend (providers_names,
@@ -952,7 +952,7 @@ main (gint argc, gchar **argv)
   /* Load configuration */
   load_config ();
 
-  /* Initialize <grilo-plugin, ms1-server> pairs */
+  /* Initialize <grilo-plugin, ms2-server> pairs */
   servers = g_hash_table_new_full (g_str_hash,
                                    g_str_equal,
                                    g_free,
diff --git a/src/test-client.c b/src/test-client.c
index 0eccbf2..ae1c7e7 100644
--- a/src/test-client.c
+++ b/src/test-client.c
@@ -1,16 +1,16 @@
-#include <media-server1-client.h>
-#include <media-server1-observer.h>
+#include <media-server2-client.h>
+#include <media-server2-observer.h>
 #include <glib.h>
 #include <string.h>
 
-static gchar *properties[] = { MS1_PROP_PATH,
-                               MS1_PROP_DISPLAY_NAME,
-                               MS1_PROP_PARENT,
-                               MS1_PROP_CHILD_COUNT,
-                               MS1_PROP_CONTAINERS,
-                               MS1_PROP_ITEMS,
-                               MS1_PROP_URLS,
-                               MS1_PROP_ARTIST,
+static gchar *properties[] = { MS2_PROP_PATH,
+                               MS2_PROP_DISPLAY_NAME,
+                               MS2_PROP_PARENT,
+                               MS2_PROP_CHILD_COUNT,
+                               MS2_PROP_CONTAINERS,
+                               MS2_PROP_ITEMS,
+                               MS2_PROP_URLS,
+                               MS2_PROP_ARTIST,
                                NULL };
 
 static void
@@ -19,28 +19,28 @@ test_properties ()
   GError *error = NULL;
   GHashTable *result;
   GValue *v;
-  MS1Client *client;
+  MS2Client *client;
   gchar **p;
   gchar **provider;
   gchar **providers;
 
-  providers = ms1_client_get_providers ();
+  providers = ms2_client_get_providers ();
 
   if (!providers) {
-    g_print ("There is no MediaServer1 provider\n");
+    g_print ("There is no MediaServer2 provider\n");
     return;
   }
 
   for (provider = providers; *provider; provider++) {
-    client = ms1_client_new (*provider);
+    client = ms2_client_new (*provider);
 
     if (!client) {
       g_printerr ("Unable to create a client\n");
       return;
     }
 
-    result = ms1_client_get_properties (client,
-                                        "/org/gnome/UPnP/MediaServer1/grl_shoutcast",
+    result = ms2_client_get_properties (client,
+                                        "/org/gnome/UPnP/MediaServer2/grl_shoutcast",
                                         (gchar **) properties,
                                         &error);
 
@@ -50,13 +50,13 @@ test_properties ()
       return;
     }
 
-    gchar **urls = ms1_client_get_urls (result);
+    gchar **urls = ms2_client_get_urls (result);
     g_print ("We got %d urls\n", urls? g_strv_length (urls): 0);
 
-    gchar **items = ms1_client_get_items (result);
+    gchar **items = ms2_client_get_items (result);
     g_print ("We got %d items\n", items? g_strv_length (items): 0);
 
-    gchar **containers = ms1_client_get_containers (result);
+    gchar **containers = ms2_client_get_containers (result);
     g_print ("We got %d containers\n", containers? g_strv_length (containers): 0);
 
     for (p = properties; *p; p++) {
@@ -87,7 +87,7 @@ properties_reply (GObject *source,
   gchar **p;
 
   result =
-    ms1_client_get_properties_finish (MS1_CLIENT (source), res, &error);
+    ms2_client_get_properties_finish (MS2_CLIENT (source), res, &error);
 
   if (!result) {
     g_print ("\tDid not get any property, %s\n",
@@ -112,27 +112,27 @@ properties_reply (GObject *source,
 static void
 test_properties_async ()
 {
-  MS1Client *client;
+  MS2Client *client;
   gchar **provider;
   gchar **providers;
 
-  providers = ms1_client_get_providers ();
+  providers = ms2_client_get_providers ();
 
   if (!providers) {
-    g_print ("There is no MediaServer1 provider\n");
+    g_print ("There is no MediaServer2 provider\n");
     return;
   }
 
   for (provider = providers; *provider; provider ++) {
-    client = ms1_client_new (*provider);
+    client = ms2_client_new (*provider);
 
     if (!client) {
       g_printerr ("Unable to create a client\n");
       return;
     }
 
-    ms1_client_get_properties_async (client,
-                                     ms1_client_get_root_path (client),
+    ms2_client_get_properties_async (client,
+                                     ms2_client_get_root_path (client),
                                      (gchar **) properties,
                                      properties_reply,
                                      NULL);
@@ -147,27 +147,27 @@ test_children ()
   GError *error = NULL;
   GList *children;
   GList *child;
-  MS1Client *client;
+  MS2Client *client;
   gchar **provider;
   gchar **providers;
 
-  providers = ms1_client_get_providers ();
+  providers = ms2_client_get_providers ();
 
   if (!providers) {
-    g_print ("There is no MediaServer1 provider\n");
+    g_print ("There is no MediaServer2 provider\n");
     return;
   }
 
   for (provider = providers; *provider; provider ++) {
-    client = ms1_client_new (*provider);
+    client = ms2_client_new (*provider);
 
     if (!client) {
       g_printerr ("Unable to create a client\n");
       return;
     }
 
-    children  = ms1_client_list_children (client,
-                                          ms1_client_get_root_path (client),
+    children  = ms2_client_list_children (client,
+                                          ms2_client_get_root_path (client),
                                           0,
                                           10,
                                           properties,
@@ -181,8 +181,8 @@ test_children ()
 
     for (child = children; child; child = g_list_next (child)) {
       g_print ("\t* '%s', '%s'\n",
-               ms1_client_get_path (child->data),
-               ms1_client_get_display_name(child->data));
+               ms2_client_get_path (child->data),
+               ms2_client_get_display_name(child->data));
     }
 
     g_list_foreach (children, (GFunc) g_hash_table_unref, NULL);
@@ -203,7 +203,7 @@ children_reply (GObject *source,
   GError *error = NULL;
 
   children =
-    ms1_client_list_children_finish (MS1_CLIENT (source), res, &error);
+    ms2_client_list_children_finish (MS2_CLIENT (source), res, &error);
 
   if (!children) {
       g_print ("\tDid not get any child, %s\n", error? error->message: "no error");
@@ -212,8 +212,8 @@ children_reply (GObject *source,
 
   for (child = children; child; child = g_list_next (child)) {
     g_print ("\t* '%s', '%s'\n",
-             ms1_client_get_path (child->data),
-             ms1_client_get_display_name(child->data));
+             ms2_client_get_path (child->data),
+             ms2_client_get_display_name(child->data));
   }
 
   g_list_foreach (children, (GFunc) g_hash_table_unref, NULL);
@@ -226,25 +226,25 @@ test_children_async ()
 {
   gchar **providers;
   gchar **provider;
-  MS1Client *client;
+  MS2Client *client;
 
-  providers = ms1_client_get_providers ();
+  providers = ms2_client_get_providers ();
 
   if (!providers) {
-    g_print ("There is no MediaServer1 provider\n");
+    g_print ("There is no MediaServer2 provider\n");
     return;
   }
 
   for (provider = providers; *provider; provider ++) {
-    client = ms1_client_new (*provider);
+    client = ms2_client_new (*provider);
 
     if (!client) {
       g_printerr ("Unable to create a client\n");
       return;
     }
 
-    ms1_client_list_children_async (client,
-                                    ms1_client_get_root_path (client),
+    ms2_client_list_children_async (client,
+                                    ms2_client_get_root_path (client),
                                     0,
                                     10,
                                     properties,
@@ -261,27 +261,27 @@ test_search ()
   GList *child;
   GError *error = NULL;
   GList *result;
-  MS1Client *client;
+  MS2Client *client;
   gchar **provider;
   gchar **providers;
 
-  providers = ms1_client_get_providers ();
+  providers = ms2_client_get_providers ();
 
   if (!providers) {
-    g_print ("There is no MediaServer1 provider\n");
+    g_print ("There is no MediaServer2 provider\n");
     return;
   }
 
   for (provider = providers; *provider; provider ++) {
-    client = ms1_client_new (*provider);
+    client = ms2_client_new (*provider);
 
     if (!client) {
       g_printerr ("Unable to create a client\n");
       return;
     }
 
-    result = ms1_client_search_objects (client,
-                                        ms1_client_get_root_path (client),
+    result = ms2_client_search_objects (client,
+                                        ms2_client_get_root_path (client),
                                         "Artist = \"Groove Coverage\"",
                                         0,
                                         10,
@@ -296,8 +296,8 @@ test_search ()
 
     for (child = result; child; child = g_list_next (child)) {
       g_print ("\t* '%s', '%s'\n",
-               ms1_client_get_path (child->data),
-               ms1_client_get_display_name(child->data));
+               ms2_client_get_path (child->data),
+               ms2_client_get_display_name(child->data));
     }
 
     g_list_foreach (result, (GFunc) g_hash_table_unref, NULL);
@@ -309,25 +309,25 @@ test_search ()
 }
 
 static void
-destroy_cb (MS1Client *client, gpointer user_data)
+destroy_cb (MS2Client *client, gpointer user_data)
 {
-  g_print ("End of provider %s\n", ms1_client_get_provider_name(client));
+  g_print ("End of provider %s\n", ms2_client_get_provider_name(client));
 }
 
 static void
-updated_cb (MS1Client *client, const gchar *object_path, gpointer user_data)
+updated_cb (MS2Client *client, const gchar *object_path, gpointer user_data)
 {
   g_print ("Provider %s: %s updated\n",
-           ms1_client_get_provider_name (client),
+           ms2_client_get_provider_name (client),
            object_path);
 }
 
 static void
-new_cb (MS1Observer *observer, const gchar *provider, gpointer user_data)
+new_cb (MS2Observer *observer, const gchar *provider, gpointer user_data)
 {
-  MS1Client *client;
+  MS2Client *client;
 
-  client = ms1_client_new (provider);
+  client = ms2_client_new (provider);
   if (!client) {
     g_printerr ("Unable to create client for %s\n", provider);
   } else {
@@ -339,19 +339,19 @@ new_cb (MS1Observer *observer, const gchar *provider, gpointer user_data)
 static void
 test_provider_free ()
 {
-  MS1Client *client;
+  MS2Client *client;
   gchar **provider;
   gchar **providers;
 
-  providers = ms1_client_get_providers ();
+  providers = ms2_client_get_providers ();
 
   if (!providers) {
-    g_print ("There is no MediaServer1 provider\n");
+    g_print ("There is no MediaServer2 provider\n");
     return;
   }
 
   for (provider = providers; *provider; provider++) {
-    client = ms1_client_new (*provider);
+    client = ms2_client_new (*provider);
     if (!client) {
       g_printerr ("Unable to create a client\n");
       continue;
@@ -367,19 +367,19 @@ test_provider_free ()
 static void
 test_updated ()
 {
-  MS1Client *client;
+  MS2Client *client;
   gchar **provider;
   gchar **providers;
 
-  providers = ms1_client_get_providers ();
+  providers = ms2_client_get_providers ();
 
   if (!providers) {
-    g_print ("There is no MediaServer1 provider\n");
+    g_print ("There is no MediaServer2 provider\n");
     return;
   }
 
   for (provider = providers; *provider; provider++) {
-    client = ms1_client_new (*provider);
+    client = ms2_client_new (*provider);
     if (!client) {
       g_printerr ("Unable to create a client\n");
       continue;
@@ -395,12 +395,12 @@ test_updated ()
 static void
 test_dynamic_providers ()
 {
-  MS1Client *client;
-  MS1Observer *observer;
+  MS2Client *client;
+  MS2Observer *observer;
   gchar **provider;
   gchar **providers;
 
-  observer = ms1_observer_get_instance ();
+  observer = ms2_observer_get_instance ();
   if (!observer) {
     g_printerr ("Unable to get the observer\n");
     return;
@@ -408,14 +408,14 @@ test_dynamic_providers ()
 
   g_signal_connect (observer, "new", G_CALLBACK (new_cb), NULL);
 
-  providers = ms1_client_get_providers ();
+  providers = ms2_client_get_providers ();
   if (!providers) {
-    g_print ("There is no MediaServer1 providers\n");
+    g_print ("There is no MediaServer2 providers\n");
     return;
   }
 
   for (provider = providers; *provider; provider++) {
-    client = ms1_client_new (*provider);
+    client = ms2_client_new (*provider);
     if (!client) {
       g_printerr ("Unable to create a client for %s\n", *provider);
       continue;



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