Chris@439: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@439: Chris@439: /* Chris@439: Sonic Visualiser Chris@439: An audio file viewer and annotation editor. Chris@439: Centre for Digital Music, Queen Mary, University of London. Chris@439: This file copyright 2008 QMUL. Chris@439: Chris@439: This program is free software; you can redistribute it and/or Chris@439: modify it under the terms of the GNU General Public License as Chris@439: published by the Free Software Foundation; either version 2 of the Chris@439: License, or (at your option) any later version. See the file Chris@439: COPYING included with this distribution for more information. Chris@439: */ Chris@439: Chris@439: #ifndef _PLUGIN_RDF_DESCRIPTION_H_ Chris@439: #define _PLUGIN_RDF_DESCRIPTION_H_ Chris@439: Chris@439: #include Chris@439: #include Chris@439: Chris@439: class FileSource; Chris@439: Chris@439: class PluginRDFDescription Chris@439: { Chris@439: public: Chris@439: PluginRDFDescription() : m_haveDescription(false) { } Chris@439: PluginRDFDescription(QString pluginId); Chris@439: ~PluginRDFDescription(); Chris@439: Chris@439: enum OutputType Chris@439: { Chris@439: OutputTypeUnknown, Chris@439: OutputFeatures, Chris@439: OutputEvents, Chris@439: OutputFeaturesAndEvents Chris@439: }; Chris@439: Chris@439: enum OutputDisposition Chris@439: { Chris@439: OutputDispositionUnknown, Chris@439: OutputSparse, Chris@439: OutputDense, Chris@439: OutputTrackLevel Chris@439: }; Chris@439: Chris@439: bool haveDescription() const; Chris@439: OutputType getOutputType(QString outputId) const; Chris@439: OutputDisposition getOutputDisposition(QString outputId) const; Chris@439: QString getOutputFeatureTypeURI(QString outputId) const; Chris@439: QString getOutputEventTypeURI(QString outputId) const; Chris@439: QString getOutputUnit(QString outputId) const; Chris@439: Chris@439: protected: Chris@439: typedef std::map OutputTypeMap; Chris@439: typedef std::map OutputDispositionMap; Chris@439: typedef std::map OutputStringMap; Chris@439: Chris@439: QString m_pluginId; Chris@439: bool m_haveDescription; Chris@439: OutputTypeMap m_outputTypes; Chris@439: OutputDispositionMap m_outputDispositions; Chris@439: OutputStringMap m_outputFeatureTypeURIMap; Chris@439: OutputStringMap m_outputEventTypeURIMap; Chris@439: OutputStringMap m_outputUnitMap; Chris@439: bool indexURL(QString url); Chris@439: }; Chris@439: Chris@439: #endif Chris@439: