19#ifndef LIB_QUENTIER_TYPES_NOTE_H
20#define LIB_QUENTIER_TYPES_NOTE_H
22#include "IFavoritableDataElement.h"
23#include "SharedNote.h"
25#include <qt5qevercloud/QEverCloud.h>
27#include <QSharedDataPointer>
31QT_FORWARD_DECLARE_CLASS(Resource)
32QT_FORWARD_DECLARE_CLASS(NoteData)
46 Note & operator=(
const Note & other);
49 explicit Note(
const qevercloud::Note & other);
50 Note & operator=(
const qevercloud::Note & other);
52 virtual ~Note()
override;
54 bool operator==(
const Note & other)
const;
55 bool operator!=(
const Note & other)
const;
57 const qevercloud::Note & qevercloudNote()
const;
58 qevercloud::Note & qevercloudNote();
60 virtual bool hasGuid()
const override;
61 virtual const QString & guid()
const override;
62 virtual void setGuid(
const QString & guid)
override;
64 virtual bool hasUpdateSequenceNumber()
const override;
65 virtual qint32 updateSequenceNumber()
const override;
66 virtual void setUpdateSequenceNumber(
const qint32 usn)
override;
68 virtual void clear()
override;
70 static bool validateTitle(
71 const QString & title,
ErrorString * pErrorDescription =
nullptr);
73 virtual bool checkParameters(
ErrorString & errorDescription)
const override;
75 bool hasTitle()
const;
76 const QString & title()
const;
77 void setTitle(
const QString & title);
79 bool hasContent()
const;
80 const QString & content()
const;
81 void setContent(
const QString & content);
83 bool hasContentHash()
const;
84 const QByteArray & contentHash()
const;
85 void setContentHash(
const QByteArray & contentHash);
87 bool hasContentLength()
const;
88 qint32 contentLength()
const;
89 void setContentLength(
const qint32 length);
91 bool hasCreationTimestamp()
const;
92 qint64 creationTimestamp()
const;
93 void setCreationTimestamp(
const qint64 timestamp);
95 bool hasModificationTimestamp()
const;
96 qint64 modificationTimestamp()
const;
97 void setModificationTimestamp(
const qint64 timestamp);
99 bool hasDeletionTimestamp()
const;
100 qint64 deletionTimestamp()
const;
101 void setDeletionTimestamp(
const qint64 timestamp);
103 bool hasActive()
const;
105 void setActive(
const bool active);
107 bool hasNotebookGuid()
const;
108 const QString & notebookGuid()
const;
109 void setNotebookGuid(
const QString & guid);
111 bool hasNotebookLocalUid()
const;
112 const QString & notebookLocalUid()
const;
113 void setNotebookLocalUid(
const QString & notebookLocalUid);
115 bool hasTagGuids()
const;
116 const QStringList tagGuids()
const;
117 void setTagGuids(
const QStringList & guids);
118 void addTagGuid(
const QString & guid);
119 void removeTagGuid(
const QString & guid);
121 bool hasTagLocalUids()
const;
122 const QStringList & tagLocalUids()
const;
123 void setTagLocalUids(
const QStringList & localUids);
124 void addTagLocalUid(
const QString & localUid);
125 void removeTagLocalUid(
const QString & localUid);
127 bool hasResources()
const;
128 int numResources()
const;
129 QList<Resource> resources()
const;
130 void setResources(
const QList<Resource> & resources);
131 void addResource(
const Resource & resource);
132 bool updateResource(
const Resource & resource);
133 bool removeResource(
const Resource & resource);
135 bool hasNoteAttributes()
const;
136 const qevercloud::NoteAttributes & noteAttributes()
const;
137 qevercloud::NoteAttributes & noteAttributes();
138 void clearNoteAttributes();
140 bool hasSharedNotes()
const;
141 QList<SharedNote> sharedNotes()
const;
142 void setSharedNotes(
const QList<SharedNote> & sharedNotes);
143 void addSharedNote(
const SharedNote & sharedNote);
147 bool updateSharedNote(
const SharedNote & sharedNote);
148 bool removeSharedNote(
const SharedNote & sharedNote);
150 bool hasNoteRestrictions()
const;
151 const qevercloud::NoteRestrictions & noteRestrictions()
const;
152 qevercloud::NoteRestrictions & noteRestrictions();
153 void setNoteRestrictions(qevercloud::NoteRestrictions && restrictions);
155 bool hasNoteLimits()
const;
156 const qevercloud::NoteLimits & noteLimits()
const;
157 qevercloud::NoteLimits & noteLimits();
158 void setNoteLimits(qevercloud::NoteLimits && limits);
160 QByteArray thumbnailData()
const;
161 void setThumbnailData(
const QByteArray & thumbnailData);
163 bool isInkNote()
const;
165 QString plainText(
ErrorString * pErrorMessage =
nullptr)
const;
166 QStringList listOfWords(
ErrorString * pErrorMessage =
nullptr)
const;
168 std::pair<QString, QStringList> plainTextAndListOfWords(
171 bool containsCheckedTodo()
const;
172 bool containsUncheckedTodo()
const;
173 bool containsTodo()
const;
174 bool containsEncryption()
const;
176 virtual QTextStream & print(QTextStream & strm)
const override;
179 QSharedDataPointer<NoteData> d;
The ErrorString class encapsulates two (or more) strings which are meant to contain translatable (bas...
Definition ErrorString.h:44
Definition IFavoritableDataElement.h:33
Definition SharedNote.h:34