annotate rdf/PluginRDFDescription.h @ 439:beb2948baa77

* Merge revisions 1041 to 1130 from sv-rdf-import branch
author Chris Cannam
date Thu, 18 Sep 2008 12:09:32 +0000
parents
children 5746c559af15
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@439 20 #include <map>
Chris@439 21
Chris@439 22 class FileSource;
Chris@439 23
Chris@439 24 class PluginRDFDescription
Chris@439 25 {
Chris@439 26 public:
Chris@439 27 PluginRDFDescription() : m_haveDescription(false) { }
Chris@439 28 PluginRDFDescription(QString pluginId);
Chris@439 29 ~PluginRDFDescription();
Chris@439 30
Chris@439 31 enum OutputType
Chris@439 32 {
Chris@439 33 OutputTypeUnknown,
Chris@439 34 OutputFeatures,
Chris@439 35 OutputEvents,
Chris@439 36 OutputFeaturesAndEvents
Chris@439 37 };
Chris@439 38
Chris@439 39 enum OutputDisposition
Chris@439 40 {
Chris@439 41 OutputDispositionUnknown,
Chris@439 42 OutputSparse,
Chris@439 43 OutputDense,
Chris@439 44 OutputTrackLevel
Chris@439 45 };
Chris@439 46
Chris@439 47 bool haveDescription() const;
Chris@439 48 OutputType getOutputType(QString outputId) const;
Chris@439 49 OutputDisposition getOutputDisposition(QString outputId) const;
Chris@439 50 QString getOutputFeatureTypeURI(QString outputId) const;
Chris@439 51 QString getOutputEventTypeURI(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, OutputType> OutputTypeMap;
Chris@439 56 typedef std::map<QString, OutputDisposition> OutputDispositionMap;
Chris@439 57 typedef std::map<QString, QString> OutputStringMap;
Chris@439 58
Chris@439 59 QString m_pluginId;
Chris@439 60 bool m_haveDescription;
Chris@439 61 OutputTypeMap m_outputTypes;
Chris@439 62 OutputDispositionMap m_outputDispositions;
Chris@439 63 OutputStringMap m_outputFeatureTypeURIMap;
Chris@439 64 OutputStringMap m_outputEventTypeURIMap;
Chris@439 65 OutputStringMap m_outputUnitMap;
Chris@439 66 bool indexURL(QString url);
Chris@439 67 };
Chris@439 68
Chris@439 69 #endif
Chris@439 70