svcore
1.9
|
00001 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ 00002 00003 /* 00004 Sonic Visualiser 00005 An audio file viewer and annotation editor. 00006 Centre for Digital Music, Queen Mary, University of London. 00007 This file copyright 2008 QMUL. 00008 00009 This program is free software; you can redistribute it and/or 00010 modify it under the terms of the GNU General Public License as 00011 published by the Free Software Foundation; either version 2 of the 00012 License, or (at your option) any later version. See the file 00013 COPYING included with this distribution for more information. 00014 */ 00015 00016 #ifndef _PLUGIN_RDF_DESCRIPTION_H_ 00017 #define _PLUGIN_RDF_DESCRIPTION_H_ 00018 00019 #include <QString> 00020 #include <QStringList> 00021 #include <map> 00022 00023 #include "base/Debug.h" 00024 00025 class PluginRDFDescription 00026 { 00027 public: 00028 PluginRDFDescription() : m_haveDescription(false) { } 00029 PluginRDFDescription(QString pluginId); 00030 ~PluginRDFDescription(); 00031 00032 enum OutputDisposition 00033 { 00034 OutputDispositionUnknown, 00035 OutputSparse, 00036 OutputDense, 00037 OutputTrackLevel 00038 }; 00039 00040 bool haveDescription() const; 00041 00042 QString getPluginName() const; 00043 QString getPluginDescription() const; 00044 QString getPluginMaker() const; 00045 QString getPluginInfoURL() const; 00046 00047 QStringList getOutputIds() const; 00048 QString getOutputName(QString outputId) const; 00049 OutputDisposition getOutputDisposition(QString outputId) const; 00050 QString getOutputEventTypeURI(QString outputId) const; 00051 QString getOutputFeatureAttributeURI(QString outputId) const; 00052 QString getOutputSignalTypeURI(QString outputId) const; 00053 QString getOutputUnit(QString outputId) const; 00054 QString getOutputUri(QString outputId) const; 00055 00056 protected: 00057 typedef std::map<QString, OutputDisposition> OutputDispositionMap; 00058 typedef std::map<QString, QString> OutputStringMap; 00059 00060 QString m_pluginId; 00061 QString m_pluginUri; 00062 bool m_haveDescription; 00063 QString m_pluginName; 00064 QString m_pluginDescription; 00065 QString m_pluginMaker; 00066 QString m_pluginInfoURL; 00067 OutputStringMap m_outputNames; 00068 OutputDispositionMap m_outputDispositions; 00069 OutputStringMap m_outputEventTypeURIMap; 00070 OutputStringMap m_outputFeatureAttributeURIMap; 00071 OutputStringMap m_outputSignalTypeURIMap; 00072 OutputStringMap m_outputUnitMap; 00073 OutputStringMap m_outputUriMap; 00074 bool index(); 00075 bool indexMetadata(); 00076 bool indexOutputs(); 00077 }; 00078 00079 #endif 00080