iproject.h
Go to the documentation of this file.
1 #ifndef DNAI_INTERFACES_IPROJECT_H
2 #define DNAI_INTERFACES_IPROJECT_H
3 
4 #include <QFileInfo>
5 #include "isavable.h"
6 #include "iserializable.h"
7 
8 namespace dnai
9 {
10  namespace interfaces
11  {
12  class IProject : public ISavable, public ISerializable
13  {
14  public:
15  virtual ~IProject() = default;
16  virtual void load(const QString &path) = 0;
17  virtual void close() = 0;
18  virtual const QString &version() const = 0;
19  virtual void setVersion(const QString &version) = 0;
20  virtual const QString &fileName() const = 0;
21  virtual void setFileName(const QString &name) = 0;
22  virtual const QString &name() const = 0;
23  virtual void setName(const QString &name) = 0;
24  virtual const QString &description() const = 0;
25  virtual void setDescription(const QString &desc) = 0;
26  virtual const QJsonObject &jsonData() const = 0;
27  };
28  }
29 }
30 
31 
32 
33 #endif //DNAI_INTERFACES_IPROJECT_H
Definition: isavable.h:8
virtual const QString & version() const =0
virtual void setVersion(const QString &version)=0
virtual const QString & description() const =0
virtual const QJsonObject & jsonData() const =0
virtual void close()=0
Allow inherited class to serialize and deserialize itself.
Definition: iserializable.h:11
virtual void setDescription(const QString &desc)=0
virtual const QString & name() const =0
Definition: api.h:13
virtual void setFileName(const QString &name)=0
virtual const QString & fileName() const =0
virtual ~IProject()=default
virtual void load(const QString &path)=0
virtual void setName(const QString &name)=0
Definition: iproject.h:12