19 #ifndef LIB_QUENTIER_TYPES_ACCOUNT_H
20 #define LIB_QUENTIER_TYPES_ACCOUNT_H
22 #include <quentier/utility/Printable.h>
24 #include <qt5qevercloud/QEverCloud.h>
26 #include <QSharedDataPointer>
31 QT_FORWARD_DECLARE_CLASS(AccountData)
47 friend QUENTIER_EXPORT QTextStream & operator<<(
48 QTextStream & strm,
const Type type);
50 friend QUENTIER_EXPORT QDebug & operator<<(QDebug & dbg,
const Type type);
52 enum class EvernoteAccountType
60 friend QUENTIER_EXPORT QTextStream & operator<<(
61 QTextStream & strm,
const EvernoteAccountType type);
63 friend QUENTIER_EXPORT QDebug & operator<<(
64 QDebug & dbg,
const EvernoteAccountType type);
70 QString name,
const Type type,
const qevercloud::UserID userId = -1,
71 const EvernoteAccountType evernoteAccountType =
72 EvernoteAccountType::Free,
73 QString evernoteHost = {}, QString shardId = {});
79 bool operator==(
const Account & other)
const;
80 bool operator!=(
const Account & other)
const;
97 void setName(QString name);
104 QString displayName()
const;
109 void setDisplayName(QString displayName);
121 qevercloud::UserID id()
const;
127 EvernoteAccountType evernoteAccountType()
const;
133 QString evernoteHost()
const;
140 QString shardId()
const;
142 void setEvernoteAccountType(
const EvernoteAccountType evernoteAccountType);
143 void setEvernoteHost(QString evernoteHost);
144 void setShardId(QString shardId);
146 qint32 mailLimitDaily()
const;
147 qint64 noteSizeMax()
const;
148 qint64 resourceSizeMax()
const;
149 qint32 linkedNotebookMax()
const;
150 qint32 noteCountMax()
const;
151 qint32 notebookCountMax()
const;
152 qint32 tagCountMax()
const;
153 qint32 noteTagCountMax()
const;
154 qint32 savedSearchCountMax()
const;
155 qint32 noteResourceCountMax()
const;
156 void setEvernoteAccountLimits(
const qevercloud::AccountLimits & limits);
158 virtual QTextStream & print(QTextStream & strm)
const override;
161 QSharedDataPointer<AccountData> d;
166 #endif // LIB_QUENTIER_TYPES_ACCOUNT_H