4 * This file is part of maevies
5 * Copyright (C) 2010 Simón Pena <spenap@gmail.com>
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License as
9 * published by the Free Software Foundation; either version 3 of the
10 * License, or (at your option) any later version.
12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
19 #include "mvs-minfo-provider.h"
21 G_DEFINE_TYPE (MvsMInfoProvider, mvs_minfo_provider, G_TYPE_OBJECT)
28 #define GET_PRIVATE(o) \
29 (G_TYPE_INSTANCE_GET_PRIVATE ((o), MVS_TYPE_MINFO_PROVIDER, MvsMInfoProviderPrivate))
31 struct _MvsMInfoProviderPrivate {
36 mvs_minfo_provider_get_property (GObject *object, guint property_id,
37 GValue *value, GParamSpec *pspec)
39 MvsMInfoProvider *self = MVS_MINFO_PROVIDER (object);
41 switch (property_id) {
43 g_value_set_string (value, self->priv->query);
46 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
51 mvs_minfo_provider_set_property (GObject *object, guint property_id,
52 const GValue *value, GParamSpec *pspec)
54 MvsMInfoProvider *self = MVS_MINFO_PROVIDER (object);
56 switch (property_id) {
58 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
63 mvs_minfo_provider_finalize (GObject *object)
65 MvsMInfoProvider *self = MVS_MINFO_PROVIDER (object);
66 g_free (self->priv->query);
68 G_OBJECT_CLASS (mvs_minfo_provider_parent_class)->finalize (object);
72 mvs_minfo_provider_class_init (MvsMInfoProviderClass *klass)
74 GObjectClass *object_class = G_OBJECT_CLASS (klass);
76 g_type_class_add_private (klass, sizeof (MvsMInfoProviderPrivate));
78 object_class->get_property = mvs_minfo_provider_get_property;
79 object_class->set_property = mvs_minfo_provider_set_property;
80 object_class->finalize = mvs_minfo_provider_finalize;
82 /* g_object_class_install_property
83 (object_class, PROP_QUERY,
84 g_param_spec_string ("query", "The query", "The query",
86 G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
91 mvs_minfo_provider_init (MvsMInfoProvider *self)
93 self->priv = GET_PRIVATE (self);
94 self->priv->query = NULL;
98 mvs_minfo_provider_new (void)
100 return g_object_new (MVS_TYPE_MINFO_PROVIDER, NULL);
104 mvs_minfo_provider_query (MvsMInfoProvider *self,