annotate rdf/PluginRDFDescription.h @ 458:f60360209e5c

* Fix race condition in FFTFileCache when reading from the same FFT model from multiple threads (e.g. when applying more than one plugin at once)
author Chris Cannam
date Wed, 15 Oct 2008 12:08:02 +0000
parents ef14acd6d102
children 957e6a5c8495
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_DESCRIPTION_H_
Chris@439 17 #define _PLUGIN_RDF_DESCRIPTION_H_
Chris@439 18
Chris@439 19 #include <QString>
Chris@457 20 #include <QStringList>
Chris@439 21 #include <map>
Chris@439 22
Chris@439 23 class FileSource;
Chris@439 24
Chris@439 25 class PluginRDFDescription
Chris@439 26 {
Chris@439 27 public:
Chris@439 28 PluginRDFDescription() : m_haveDescription(false) { }
Chris@439 29 PluginRDFDescription(QString pluginId);
Chris@439 30 ~PluginRDFDescription();
Chris@439 31
Chris@439 32 enum OutputDisposition
Chris@439 33 {
Chris@439 34 OutputDispositionUnknown,
Chris@439 35 OutputSparse,
Chris@439 36 OutputDense,
Chris@439 37 OutputTrackLevel
Chris@439 38 };
Chris@439 39
Chris@439 40 bool haveDescription() const;
Chris@457 41
Chris@457 42 QString getPluginName() const;
Chris@457 43 QString getPluginDescription() const;
Chris@457 44 QString getPluginMaker() const;
Chris@457 45
Chris@457 46 QStringList getOutputIds() const;
Chris@457 47 QString getOutputName(QString outputId) const;
Chris@439 48 OutputDisposition getOutputDisposition(QString outputId) const;
Chris@439 49 QString getOutputEventTypeURI(QString outputId) const;
Chris@440 50 QString getOutputFeatureAttributeURI(QString outputId) const;
Chris@440 51 QString getOutputSignalTypeURI(QString outputId) const;
Chris@439 52 QString getOutputUnit(QString outputId) const;
Chris@439 53
Chris@439 54 protected:
Chris@439 55 typedef std::map<QString, OutputDisposition> OutputDispositionMap;
Chris@439 56 typedef std::map<QString, QString> OutputStringMap;
Chris@439 57
Chris@457 58 FileSource *m_source;
Chris@439 59 QString m_pluginId;
Chris@439 60 bool m_haveDescription;
Chris@457 61 QString m_pluginName;
Chris@457 62 QString m_pluginDescription;
Chris@457 63 QString m_pluginMaker;
Chris@457 64 OutputStringMap m_outputNames;
Chris@439 65 OutputDispositionMap m_outputDispositions;
Chris@439 66 OutputStringMap m_outputEventTypeURIMap;
Chris@440 67 OutputStringMap m_outputFeatureAttributeURIMap;
Chris@440 68 OutputStringMap m_outputSignalTypeURIMap;
Chris@439 69 OutputStringMap m_outputUnitMap;
Chris@439 70 bool indexURL(QString url);
Chris@457 71 bool indexMetadata(QString url, QString label);
Chris@457 72 bool indexOutputs(QString url, QString label);
Chris@439 73 };
Chris@439 74
Chris@439 75 #endif
Chris@439 76