cutelyst  3.9.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
viewemail.h
1 /*
2  * SPDX-FileCopyrightText: (C) 2015-2022 Daniel Nicoletti <dantti12@gmail.com>
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 #ifndef VIEWEMAIL_H
6 #define VIEWEMAIL_H
7 
8 #include <Cutelyst/cutelyst_global.h>
9 #include <Cutelyst/view.h>
10 
11 namespace Cutelyst {
12 
13 class ViewEmailPrivate;
18 class CUTELYST_VIEW_EMAIL_EXPORT ViewEmail : public Cutelyst::View
19 {
20  Q_OBJECT
21  Q_DECLARE_PRIVATE(ViewEmail)
22  Q_PROPERTY(QString stashKey READ stashKey WRITE setStashKey NOTIFY changed)
23  Q_PROPERTY(QByteArray defaultContentType READ defaultContentType WRITE setDefaultContentType
24  NOTIFY changed)
25  Q_PROPERTY(QByteArray defaultCharset READ defaultCharset WRITE setDefaultCharset NOTIFY changed)
26  Q_PROPERTY(
27  QByteArray defaultEncoding READ defaultEncoding WRITE setDefaultEncoding NOTIFY changed)
28  Q_PROPERTY(bool async READ async WRITE setAsync NOTIFY changed)
29 public:
32  TcpConnection,
33  SslConnection,
34  TlsConnection,
35  };
36  Q_ENUM(ConnectionType)
37 
38 
39  enum AuthMethod {
40  AuthNone,
41  AuthPlain,
42  AuthLogin,
43  AuthCramMd5,
44  };
45  Q_ENUM(AuthMethod)
46 
47 
50  explicit ViewEmail(QObject *parent, const QString &name = QString());
51 
55  QString stashKey() const;
56 
60  void setStashKey(const QString &stashKey);
61 
65  QByteArray defaultContentType() const;
66 
70  void setDefaultContentType(const QByteArray &contentType);
71 
76  QByteArray defaultCharset() const;
77 
86  void setDefaultCharset(const QByteArray &charset);
87 
91  QByteArray defaultEncoding() const;
92 
96  void setDefaultEncoding(const QByteArray &encoding);
97 
101  QString senderHost() const;
102 
106  void setSenderHost(const QString &host);
107 
111  int senderPort() const;
112 
116  void setSenderPort(int port);
117 
121  ConnectionType senderConnectionType() const;
122 
126  void setSenderConnectionType(ConnectionType ct);
127 
131  AuthMethod senderAuthMethod() const;
132 
136  void setSenderAuthMethod(AuthMethod method);
137 
141  QString senderUser() const;
142 
146  void setSenderUser(const QString &user);
147 
151  QString senderPassword() const;
152 
156  void setSenderPassword(const QString &password);
157 
161  bool async() const;
162 
167  void setAsync(bool enable);
168 
172  virtual QByteArray render(Context *c) const override;
173 
174 protected:
178  ViewEmail(ViewEmailPrivate *d, QObject *parent, const QString &name = QString());
179 
180 Q_SIGNALS:
181  void changed();
182 
183 private:
184  void initSender();
185 };
186 
187 } // namespace Cutelyst
188 
189 #endif // VIEWEMAIL_H
The Cutelyst Context.
Definition: context.h:38
The Cutelyst namespace holds all public Cutelyst API.
Definition: Mainpage.dox:7
Cutelyst View abstract view component
Definition: view.h:21