build,core,plugins: Port to GDBus and GVariant
[profile/ivi/rygel.git] / src / plugins / tracker / rygel-tracker-interfaces.vala
1 /*
2  * Copyright (C) 2009 Nokia Corporation.
3  *
4  * Author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
5  *                               <zeeshan.ali@nokia.com>
6  *
7  * This file is part of Rygel.
8  *
9  * Rygel is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU Lesser General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * Rygel is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22  */
23
24 [DBus (name = "org.freedesktop.Tracker1.Statistics")]
25 public interface Rygel.Tracker.StatsIface : DBusProxy {
26     public abstract async string[,] get_statistics () throws IOError;
27 }
28
29 [DBus (name = "org.freedesktop.Tracker1.Resources")]
30 public interface Rygel.Tracker.ResourcesIface: DBusProxy {
31     public abstract async string[,] sparql_query (string query)
32                                                   throws IOError;
33     public abstract async HashTable<string,string>[,] sparql_update_blank (
34                                         string query) throws IOError;
35 }
36
37 [DBus (name = "org.freedesktop.Tracker1.Resources.Class")]
38 public interface Rygel.Tracker.ResourcesClassIface: DBusProxy {
39     public abstract signal void subjects_added (string[] subjects);
40     public abstract signal void subjects_removed (string[] subjects);
41     public abstract signal void subjects_changed (string[] before,
42                                                   string[] after);
43 }
44
45 [DBus (name = "org.freedesktop.Tracker1.Miner")]
46 public interface Rygel.Tracker.MinerIface : DBusProxy {
47     public abstract async void ignore_next_update (string[] urls)
48                                                    throws IOError;
49 }
50
51 namespace Rygel {
52     public const string RESOURCES_CLASS_PATH = "/org/freedesktop/Tracker1/" +
53                                                "Resources/Classes/";
54     public const string MUSIC_RESOURCES_CLASS_PATH = RESOURCES_CLASS_PATH +
55                                                      "nmm/MusicPiece";
56     public const string VIDEO_RESOURCES_CLASS_PATH = RESOURCES_CLASS_PATH +
57                                                      "nmm/Video";
58     public const string PHOTO_RESOURCES_CLASS_PATH = RESOURCES_CLASS_PATH +
59                                                      "nfo/Image";
60 }