comparison rdf/PluginRDFDescription.h @ 439:beb2948baa77

* Merge revisions 1041 to 1130 from sv-rdf-import branch
author Chris Cannam
date Thu, 18 Sep 2008 12:09:32 +0000
parents
children 5746c559af15
comparison
equal deleted inserted replaced
438:32c399d06374 439:beb2948baa77
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
2
3 /*
4 Sonic Visualiser
5 An audio file viewer and annotation editor.
6 Centre for Digital Music, Queen Mary, University of London.
7 This file copyright 2008 QMUL.
8
9 This program is free software; you can redistribute it and/or
10 modify it under the terms of the GNU General Public License as
11 published by the Free Software Foundation; either version 2 of the
12 License, or (at your option) any later version. See the file
13 COPYING included with this distribution for more information.
14 */
15
16 #ifndef _PLUGIN_RDF_DESCRIPTION_H_
17 #define _PLUGIN_RDF_DESCRIPTION_H_
18
19 #include <QString>
20 #include <map>
21
22 class FileSource;
23
24 class PluginRDFDescription
25 {
26 public:
27 PluginRDFDescription() : m_haveDescription(false) { }
28 PluginRDFDescription(QString pluginId);
29 ~PluginRDFDescription();
30
31 enum OutputType
32 {
33 OutputTypeUnknown,
34 OutputFeatures,
35 OutputEvents,
36 OutputFeaturesAndEvents
37 };
38
39 enum OutputDisposition
40 {
41 OutputDispositionUnknown,
42 OutputSparse,
43 OutputDense,
44 OutputTrackLevel
45 };
46
47 bool haveDescription() const;
48 OutputType getOutputType(QString outputId) const;
49 OutputDisposition getOutputDisposition(QString outputId) const;
50 QString getOutputFeatureTypeURI(QString outputId) const;
51 QString getOutputEventTypeURI(QString outputId) const;
52 QString getOutputUnit(QString outputId) const;
53
54 protected:
55 typedef std::map<QString, OutputType> OutputTypeMap;
56 typedef std::map<QString, OutputDisposition> OutputDispositionMap;
57 typedef std::map<QString, QString> OutputStringMap;
58
59 QString m_pluginId;
60 bool m_haveDescription;
61 OutputTypeMap m_outputTypes;
62 OutputDispositionMap m_outputDispositions;
63 OutputStringMap m_outputFeatureTypeURIMap;
64 OutputStringMap m_outputEventTypeURIMap;
65 OutputStringMap m_outputUnitMap;
66 bool indexURL(QString url);
67 };
68
69 #endif
70