annotate rdf/PluginRDFDescription.h @ 1211:5a1198083d9a piper

Pull out model creation into the transformer thread run(), so that all communications with the plugin server happen on a single thread. Then make the model accessor wait for them to be created (which still happens right at the start of processing) before returning.
author Chris Cannam
date Mon, 17 Oct 2016 14:18:23 +0100
parents b4a8d8221eaf
children ad5f892c0c4d
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@686 23 #include "base/Debug.h"
Chris@686 24
Chris@439 25 class PluginRDFDescription
Chris@439 26 {
Chris@439 27 public:
Chris@439 28 PluginRDFDescription() : m_haveDescription(false) { }
Chris@439 29 PluginRDFDescription(QString pluginId);
Chris@439 30 ~PluginRDFDescription();
Chris@439 31
Chris@439 32 enum OutputDisposition
Chris@439 33 {
Chris@439 34 OutputDispositionUnknown,
Chris@439 35 OutputSparse,
Chris@439 36 OutputDense,
Chris@439 37 OutputTrackLevel
Chris@439 38 };
Chris@439 39
Chris@439 40 bool haveDescription() const;
Chris@457 41
Chris@457 42 QString getPluginName() const;
Chris@457 43 QString getPluginDescription() const;
Chris@457 44 QString getPluginMaker() const;
Chris@462 45 QString getPluginInfoURL() const;
Chris@457 46
Chris@457 47 QStringList getOutputIds() const;
Chris@457 48 QString getOutputName(QString outputId) const;
Chris@439 49 OutputDisposition getOutputDisposition(QString outputId) const;
Chris@439 50 QString getOutputEventTypeURI(QString outputId) const;
Chris@440 51 QString getOutputFeatureAttributeURI(QString outputId) const;
Chris@440 52 QString getOutputSignalTypeURI(QString outputId) const;
Chris@439 53 QString getOutputUnit(QString outputId) const;
Chris@494 54 QString getOutputUri(QString outputId) const;
Chris@439 55
Chris@439 56 protected:
Chris@439 57 typedef std::map<QString, OutputDisposition> OutputDispositionMap;
Chris@439 58 typedef std::map<QString, QString> OutputStringMap;
Chris@439 59
Chris@439 60 QString m_pluginId;
Chris@489 61 QString m_pluginUri;
Chris@439 62 bool m_haveDescription;
Chris@457 63 QString m_pluginName;
Chris@457 64 QString m_pluginDescription;
Chris@457 65 QString m_pluginMaker;
Chris@462 66 QString m_pluginInfoURL;
Chris@457 67 OutputStringMap m_outputNames;
Chris@439 68 OutputDispositionMap m_outputDispositions;
Chris@439 69 OutputStringMap m_outputEventTypeURIMap;
Chris@440 70 OutputStringMap m_outputFeatureAttributeURIMap;
Chris@440 71 OutputStringMap m_outputSignalTypeURIMap;
Chris@439 72 OutputStringMap m_outputUnitMap;
Chris@494 73 OutputStringMap m_outputUriMap;
Chris@489 74 bool index();
Chris@489 75 bool indexMetadata();
Chris@489 76 bool indexOutputs();
Chris@439 77 };
Chris@439 78
Chris@439 79 #endif
Chris@439 80