MT Showcase SDK
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
ComponentDefinition.hpp
1 #pragma once
2 
3 #include <QVariant>
4 
5 #include <memory>
6 #include <vector>
7 
8 #include "Schema.hpp"
9 #include "Export.hpp"
10 
11 namespace Showcase
12 {
13 
14  class SHOWCASE_API ComponentDefinition
15  {
16  public:
17  ComponentDefinition(const QString& name, const QVariantMap& map,
18  const QString& packagePath);
19  ~ComponentDefinition();
20 
21  void initComponent();
22 
23  const QString& name() const;
24 
25  const QByteArray & componentType() const;
26 
27  const std::vector<QString>& dataPaths() const;
28  const std::vector<QString>& cssFiles() const;
29 
30  const Schema& schema() const;
31 
32  private:
33  void parse(const QVariantMap& map, const QString& packagePath);
34 
35  QString m_name;
36  std::vector<QString> m_dataPaths;
37  std::vector<QString> m_cssFiles;
38  Schema m_schema;
39  QByteArray m_type;
40 
41  bool m_initialised;
42  };
43  typedef std::shared_ptr<ComponentDefinition> ComponentDefinitionPtr;
44 
45 }