Movie Info Provider: Added format property
authorSimón Pena <spenap@gmail.com>
Sun, 16 May 2010 17:02:44 +0000 (19:02 +0200)
committerSimón Pena <spenap@gmail.com>
Sun, 16 May 2010 17:31:55 +0000 (19:31 +0200)
* Format property added
* set_format method added

src/mvs-minfo-provider.c
src/mvs-minfo-provider.h

index 98bb1f8..868ae01 100644 (file)
 
 #include "mvs-minfo-provider.h"
 
+#define TMDB_API_KEY "249e1a42df9bee09fac5e92d3a51396b"
+#define TMDB_LANGUAGE "en"
+#define TMDB_FORMAT "xml"
+#define TMDB_METHOD "Movie.search"
+#define TMDB_BASE_URL "http://api.themoviedb.org/2.1/%s/%s/%s/%s/%s"
+
 G_DEFINE_TYPE (MvsMInfoProvider, mvs_minfo_provider, G_TYPE_OBJECT)
 
 enum {
         PROP_0,
-        PROP_QUERY,
+        PROP_FORMAT,
 };
 
 #define GET_PRIVATE(o) \
   (G_TYPE_INSTANCE_GET_PRIVATE ((o), MVS_TYPE_MINFO_PROVIDER, MvsMInfoProviderPrivate))
 
 struct _MvsMInfoProviderPrivate {
-        gchar *query;
+        gchar *format;
 };
 
 static void
@@ -39,9 +45,9 @@ mvs_minfo_provider_get_property (GObject *object, guint property_id,
         MvsMInfoProvider *self = MVS_MINFO_PROVIDER (object);
 
         switch (property_id) {
-        /*case PROP_QUERY:
-                g_value_set_string (value, self->priv->query);
-                break;*/
+        case PROP_FORMAT:
+                g_value_set_string (value, self->priv->format);
+                break;
         default:
                 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
         }
@@ -54,6 +60,10 @@ mvs_minfo_provider_set_property (GObject *object, guint property_id,
         MvsMInfoProvider *self = MVS_MINFO_PROVIDER (object);
 
         switch (property_id) {
+        case PROP_FORMAT:
+                mvs_minfo_provider_set_format (self,
+                                g_value_get_string (value));
+                break;
         default:
                 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
         }
@@ -63,7 +73,8 @@ static void
 mvs_minfo_provider_finalize (GObject *object)
 {
         MvsMInfoProvider *self = MVS_MINFO_PROVIDER (object);
-        g_free (self->priv->query);
+
+        g_free (self->priv->format);
 
         G_OBJECT_CLASS (mvs_minfo_provider_parent_class)->finalize (object);
 }
@@ -79,19 +90,19 @@ mvs_minfo_provider_class_init (MvsMInfoProviderClass *klass)
         object_class->set_property = mvs_minfo_provider_set_property;
         object_class->finalize = mvs_minfo_provider_finalize;
 
-        /* g_object_class_install_property
-                (object_class, PROP_QUERY,
-                 g_param_spec_string ("query", "The query", "The query",
-                                      NULL,
+        g_object_class_install_property
+                (object_class, PROP_FORMAT,
+                 g_param_spec_string ("format", "The format", "The format",
+                                      TMDB_FORMAT,
                                       G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
-                                      */
+
 }
 
 static void
 mvs_minfo_provider_init (MvsMInfoProvider *self)
 {
         self->priv = GET_PRIVATE (self);
-        self->priv->query = NULL;
+        self->priv->format = NULL;
 }
 
 MvsMInfoProvider*
@@ -106,3 +117,16 @@ mvs_minfo_provider_query (MvsMInfoProvider *self,
 {
         return FALSE;
 }
+
+gboolean
+mvs_minfo_provider_set_format (MvsMInfoProvider *self,
+                               const gchar *format)
+{
+        g_return_val_if_fail (MVS_IS_MINFO_PROVIDER (self), FALSE);
+
+        g_free (self->priv->format);
+
+        self->priv->format = g_strdup (format);
+
+        return TRUE;
+}
index 89007e7..30bffa3 100644 (file)
@@ -54,6 +54,9 @@ MvsMInfoProvider* mvs_minfo_provider_new (void);
 gboolean mvs_minfo_provider_query (MvsMInfoProvider *self,
                                    const gchar *query);
 
+gboolean mvs_minfo_provider_set_format (MvsMInfoProvider *self,
+                                        const gchar *format);
+
 G_END_DECLS
 
 #endif /* _MVS_MINFO_PROVIDER */