Miam-Player  0.8.0
A nice music player
plugininfo.h
Go to the documentation of this file.
1 #ifndef PLUGININFO_H
2 #define PLUGININFO_H
3 
4 #include <QDataStream>
5 #include <QObject>
6 #include "miamcore_global.h"
7 
16 class MIAMCORE_LIBRARY PluginInfo : public QObject
17 {
18  Q_OBJECT
19 public:
20  PluginInfo(QObject *parent = nullptr);
21 
23  PluginInfo(const PluginInfo &other);
24 
25  PluginInfo& operator=(const PluginInfo& other);
26 
28  virtual ~PluginInfo() {}
29 
31  void setAbsFilePath(const QString &f);
32 
34  void setPluginName(const QString &p);
35 
37  void setVersion(const QString &v);
38 
40  void setConfigPage(bool b);
41 
43  void setEnabled(bool b);
44 
46  inline const QString& absFilePath() const { return _absFilePath; }
47 
49  inline const QString& pluginName() const { return _pluginName; }
50 
52  inline const QString& version() const { return _version; }
53 
55  inline bool isConfigurable() const { return _configurable; }
56 
58  inline bool isEnabled() const { return _active; }
59 
60 private:
61  QString _absFilePath;
62  QString _pluginName;
63  QString _version;
64  bool _configurable;
65  bool _active;
66 };
67 
69 inline QDataStream & operator<<(QDataStream &out, const PluginInfo &p)
70 {
71  out << p.absFilePath() << p.pluginName() << p.version() << p.isConfigurable() << p.isEnabled();
72  return out;
73 }
74 
76 inline QDataStream & operator>>(QDataStream &in, PluginInfo &p)
77 {
78  QString f, n, v;
79  in >> f >> n >> v;
80  bool c, e;
81  in >> c >> e;
82  p.setAbsFilePath(f);
83  p.setPluginName(n);
84  p.setVersion(v);
85  p.setConfigPage(c);
86  p.setEnabled(e);
87  return in;
88 }
89 
91 Q_DECLARE_METATYPE(PluginInfo)
92 
93 #endif // PLUGININFO_H
bool isConfigurable() const
Definition: plugininfo.h:55
const QString & pluginName() const
Definition: plugininfo.h:49
void setConfigPage(bool b)
Definition: plugininfo.cpp:49
const QString & absFilePath() const
Definition: plugininfo.h:46
void setAbsFilePath(const QString &f)
Definition: plugininfo.cpp:31
virtual ~PluginInfo()
Definition: plugininfo.h:28
bool isEnabled() const
Definition: plugininfo.h:58
The PluginInfo class is a Data Access Object.
Definition: plugininfo.h:16
void setEnabled(bool b)
Definition: plugininfo.cpp:55
QDataStream & operator>>(QDataStream &in, PluginInfo &p)
Definition: plugininfo.h:76
void setPluginName(const QString &p)
Definition: plugininfo.cpp:37
#define MIAMCORE_LIBRARY
Definition: miamcore_global.h:10
QDataStream & operator<<(QDataStream &out, const PluginInfo &p)
Definition: plugininfo.h:69
const QString & version() const
Definition: plugininfo.h:52
void setVersion(const QString &v)
Definition: plugininfo.cpp:43