mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
37 lines
1.1 KiB
C++
37 lines
1.1 KiB
C++
#include "SendEmailTask.h"
|
|
#include "PrepareEmailTask.h"
|
|
#include "../model/Profiler.h"
|
|
#include "../SingletonManager/ErrorManager.h"
|
|
#include "../ServerConfig.h"
|
|
|
|
SendEmailTask::SendEmailTask(Poco::Net::MailMessage* mailMessage, UniLib::controller::CPUSheduler* cpuScheduler, size_t additionalTaskDependenceCount/* = 0*/)
|
|
: UniLib::controller::CPUTask(cpuScheduler, additionalTaskDependenceCount+1), mMailMessage(mailMessage)
|
|
{
|
|
}
|
|
|
|
SendEmailTask::~SendEmailTask()
|
|
{
|
|
if (mMailMessage) {
|
|
delete mMailMessage;
|
|
mMailMessage = nullptr;
|
|
}
|
|
}
|
|
|
|
int SendEmailTask::run()
|
|
{
|
|
Profiler timeUsed;
|
|
auto er = ErrorManager::getInstance();
|
|
auto parent = getParent(0);
|
|
|
|
if (strcmp(parent->getResourceType(), "PrepareEmailTask") != 0) {
|
|
er->addError(new Error("SendEmailTask", "first parent isn't PrepareEmailTask"));
|
|
return -1;
|
|
}
|
|
PrepareEmailTask* prepare = (PrepareEmailTask*)&(*parent);
|
|
mMailMessage->setSender(ServerConfig::g_EmailAccount.sender);
|
|
if (prepare->send(mMailMessage)) {
|
|
return -1;
|
|
}
|
|
//printf("[SendEmailTask] time: %s\n", timeUsed.string().data());
|
|
return 0;
|
|
} |