ImagingTools Core SDK
CSmtpMessageCreatorComp.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ACF includes
6#include <icomp/CComponentBase.h>
7#include <iprm/ITextParam.h>
8
9// ImtCore includes
10#include <imtmail/ISmtpMessageCreator.h>
11
12
13namespace imtmail
14{
15
16
17class CSmtpMessageCreatorComp: public icomp::CComponentBase, virtual public imtmail::ISmtpMessageCreator
18{
19public:
20 typedef icomp::CComponentBase BaseClass;
21
22 I_BEGIN_COMPONENT(CSmtpMessageCreatorComp);
23 I_REGISTER_INTERFACE(imtmail::ISmtpMessageCreator);
24 I_ASSIGN(m_fromAttrPtr, "From", "The sender of the message", false, "");
25 I_ASSIGN(m_fromParamCompPtr, "FromParam", "The sender of the message parameter", false, "");
26 I_ASSIGN(m_toAttrPtr, "To", "The recipient of the message", false, "");
27 I_ASSIGN(m_toParamCompPtr, "ToParam", "The recipient of the message parameter", false, "");
28 I_ASSIGN(m_subjectAttrPtr, "Subject", "Message title", false, "");
29 I_ASSIGN(m_subjectParamCompPtr, "SubjectParam", "Message title parameter", false, "");
30 I_ASSIGN(m_bodyAttrPtr, "Body", "Message body", false, "");
31 I_ASSIGN(m_bodyParamCompPtr, "BodyParam", "Message body parameter", false, "");
32 I_END_COMPONENT;
33
34protected:
35 // reimplemented (imtmail::ISmtpMessageCreator)
36 virtual ISmtpMessage* CreateMessage() const override;
37
38private:
39 I_REF(iprm::ITextParam, m_fromParamCompPtr);
40 I_ATTR(QString, m_fromAttrPtr);
41 I_REF(iprm::ITextParam, m_toParamCompPtr);
42 I_ATTR(QString, m_toAttrPtr);
43 I_REF(iprm::ITextParam, m_subjectParamCompPtr);
44 I_ATTR(QString, m_subjectAttrPtr);
45 I_REF(iprm::ITextParam, m_bodyParamCompPtr);
46 I_ATTR(QString, m_bodyAttrPtr);
47};
48
49
50} // namespace imtmail