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@1581: #ifndef SV_PLUGIN_RDF_DESCRIPTION_H Chris@1581: #define SV_PLUGIN_RDF_DESCRIPTION_H Chris@439: Chris@439: #include Chris@457: #include Chris@439: #include Chris@1843: #include Chris@439: Chris@686: #include "base/Debug.h" Chris@686: Chris@1845: #include "plugin/Provider.h" Chris@1845: 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@1845: enum OutputDisposition { Chris@439: OutputDispositionUnknown, Chris@439: OutputSparse, Chris@439: OutputDense, Chris@439: OutputTrackLevel Chris@439: }; Chris@439: Chris@439: bool haveDescription() const; Chris@457: Chris@457: QString getPluginName() const; Chris@457: QString getPluginDescription() const; Chris@457: QString getPluginMaker() const; Chris@1845: Provider getPluginProvider() const; Chris@1843: Chris@457: QStringList getOutputIds() const; Chris@457: QString getOutputName(QString outputId) const; Chris@439: OutputDisposition getOutputDisposition(QString outputId) const; Chris@439: QString getOutputEventTypeURI(QString outputId) const; Chris@440: QString getOutputFeatureAttributeURI(QString outputId) const; Chris@440: QString getOutputSignalTypeURI(QString outputId) const; Chris@439: QString getOutputUnit(QString outputId) const; Chris@494: QString getOutputUri(QString outputId) const; Chris@439: Chris@439: protected: Chris@439: typedef std::map OutputDispositionMap; Chris@439: typedef std::map OutputStringMap; Chris@439: Chris@439: QString m_pluginId; Chris@489: QString m_pluginUri; Chris@439: bool m_haveDescription; Chris@457: QString m_pluginName; Chris@457: QString m_pluginDescription; Chris@457: QString m_pluginMaker; Chris@1845: Provider m_provider; Chris@457: OutputStringMap m_outputNames; Chris@439: OutputDispositionMap m_outputDispositions; Chris@439: OutputStringMap m_outputEventTypeURIMap; Chris@440: OutputStringMap m_outputFeatureAttributeURIMap; Chris@440: OutputStringMap m_outputSignalTypeURIMap; Chris@439: OutputStringMap m_outputUnitMap; Chris@494: OutputStringMap m_outputUriMap; Chris@489: bool index(); Chris@489: bool indexMetadata(); Chris@489: bool indexOutputs(); Chris@439: }; Chris@439: Chris@439: #endif Chris@439: