annotate rdf/PluginRDFDescription.h @ 558:1d7ebc05157e

* Some fairly simplistic code to set up layer type properties based on RDF data about feature types (both when running transforms and when importing features from RDF files).
author Chris Cannam
date Thu, 12 Feb 2009 15:26:43 +0000
parents 81963c51b488
children b4a8d8221eaf
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 PluginRDFDescription
Chris@439 24 {
Chris@439 25 public:
Chris@439 26 PluginRDFDescription() : m_haveDescription(false) { }
Chris@439 27 PluginRDFDescription(QString pluginId);
Chris@439 28 ~PluginRDFDescription();
Chris@439 29
Chris@439 30 enum OutputDisposition
Chris@439 31 {
Chris@439 32 OutputDispositionUnknown,
Chris@439 33 OutputSparse,
Chris@439 34 OutputDense,
Chris@439 35 OutputTrackLevel
Chris@439 36 };
Chris@439 37
Chris@439 38 bool haveDescription() const;
Chris@457 39
Chris@457 40 QString getPluginName() const;
Chris@457 41 QString getPluginDescription() const;
Chris@457 42 QString getPluginMaker() const;
Chris@462 43 QString getPluginInfoURL() const;
Chris@457 44
Chris@457 45 QStringList getOutputIds() const;
Chris@457 46 QString getOutputName(QString outputId) const;
Chris@439 47 OutputDisposition getOutputDisposition(QString outputId) const;
Chris@439 48 QString getOutputEventTypeURI(QString outputId) const;
Chris@440 49 QString getOutputFeatureAttributeURI(QString outputId) const;
Chris@440 50 QString getOutputSignalTypeURI(QString outputId) const;
Chris@439 51 QString getOutputUnit(QString outputId) const;
Chris@494 52 QString getOutputUri(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@439 58 QString m_pluginId;
Chris@489 59 QString m_pluginUri;
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@462 64 QString m_pluginInfoURL;
Chris@457 65 OutputStringMap m_outputNames;
Chris@439 66 OutputDispositionMap m_outputDispositions;
Chris@439 67 OutputStringMap m_outputEventTypeURIMap;
Chris@440 68 OutputStringMap m_outputFeatureAttributeURIMap;
Chris@440 69 OutputStringMap m_outputSignalTypeURIMap;
Chris@439 70 OutputStringMap m_outputUnitMap;
Chris@494 71 OutputStringMap m_outputUriMap;
Chris@489 72 bool index();
Chris@489 73 bool indexMetadata();
Chris@489 74 bool indexOutputs();
Chris@439 75 };
Chris@439 76
Chris@439 77 #endif
Chris@439 78