27 lines
731 B
C++
27 lines
731 B
C++
// concreterequests.h
|
|
#ifndef CONCRETEREQUESTS_H
|
|
#define CONCRETEREQUESTS_H
|
|
|
|
#include "request.h"
|
|
#include <QString>
|
|
|
|
class Concreterequests {
|
|
public:
|
|
// Interface for defining specific request types (e.g., IMAP GET, SMTP AUTH)
|
|
virtual Request* createRequest(const QString& type, const QString& target) = 0;
|
|
virtual ~Concreterequests() = default;
|
|
};
|
|
|
|
class ImapRequest : public Concreterequests {
|
|
public:
|
|
ImapRequest(Request* req);
|
|
Request* createRequest(const QString& type, const QString& target) override;
|
|
};
|
|
|
|
class SmtpRequest : public Concreterequests {
|
|
public:
|
|
SmtpRequest(Request* req);
|
|
Request* createRequest(const QString& type, const QString& target) override;
|
|
};
|
|
|
|
#endif // CONCRETEREQUESTS_H
|