annotate rdf/PluginRDFIndexer.h @ 449:a75edaa08d28

* Support importing features from RDF whose times are intervals rather than only instants; import them into region or note models. Sadly this makes RDF import much, much slower, because we need to work around Rasqal's single-OPTIONAL limitation by repeatedly querying each feature for time and range. * Add segmentation view to region layer, and display label texts
author Chris Cannam
date Tue, 07 Oct 2008 12:42:17 +0000
parents beb2948baa77
children 64e64e304a12
rev   line source
Chris@439 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@439 2
Chris@439 3 /*
Chris@439 4 Sonic Visualiser
Chris@439 5 An audio file viewer and annotation editor.
Chris@439 6 Centre for Digital Music, Queen Mary, University of London.
Chris@439 7 This file copyright 2008 QMUL.
Chris@439 8
Chris@439 9 This program is free software; you can redistribute it and/or
Chris@439 10 modify it under the terms of the GNU General Public License as
Chris@439 11 published by the Free Software Foundation; either version 2 of the
Chris@439 12 License, or (at your option) any later version. See the file
Chris@439 13 COPYING included with this distribution for more information.
Chris@439 14 */
Chris@439 15
Chris@439 16 #ifndef _PLUGIN_RDF_INDEXER_H_
Chris@439 17 #define _PLUGIN_RDF_INDEXER_H_
Chris@439 18
Chris@439 19 #include <QString>
Chris@439 20 #include <map>
Chris@439 21 #include <set>
Chris@439 22
Chris@439 23 class FileSource;
Chris@439 24
Chris@439 25 class PluginRDFIndexer
Chris@439 26 {
Chris@439 27 public:
Chris@439 28 static PluginRDFIndexer *getInstance();
Chris@439 29
Chris@439 30 QString getURIForPluginId(QString pluginId);
Chris@439 31 QString getIdForPluginURI(QString uri);
Chris@439 32 QString getDescriptionURLForPluginId(QString pluginId);
Chris@439 33 QString getDescriptionURLForPluginURI(QString uri);
Chris@439 34
Chris@439 35 ~PluginRDFIndexer();
Chris@439 36
Chris@439 37 protected:
Chris@439 38 PluginRDFIndexer();
Chris@439 39 typedef std::map<QString, QString> StringMap;
Chris@439 40 StringMap m_uriToIdMap;
Chris@439 41 StringMap m_idToUriMap;
Chris@439 42 StringMap m_idToDescriptionMap;
Chris@439 43 bool indexFile(QString path);
Chris@439 44 bool indexURL(QString url);
Chris@439 45 std::set<FileSource *> m_cache;
Chris@439 46 static PluginRDFIndexer *m_instance;
Chris@439 47 };
Chris@439 48
Chris@439 49 #endif
Chris@439 50