#include "EventTypes/SMS.h"
#include "Factory.h"
+#include "Settings.h"
#include "VCard.h"
#include "VEnvelope.h"
#include "VBody.h"
using namespace EventParsers::VMGEntities;
-VMessage::VMessage(const SMSEntity* parent) :
- SMSEntity(parent), m_Version(1.1)
+VMessage::VMessage(const Settings &settings, const SMSEntity *parent) :
+ SMSEntity(settings, parent), m_Version(1.1)
{
}
//{
//}
-VMessage::VMessage(const SMSEntity* parent, float version) :
- SMSEntity(parent), m_Version(version)
+VMessage::VMessage(const Settings &settings, const SMSEntity *parent, float version) :
+ SMSEntity(settings, parent), m_Version(version)
{
}
}
else if(lineData.startsWith("BEGIN:"))
{
- iReader* reader = Factory::Instantiate(lineData, this);
+ iReader* reader = Factory::Instantiate(CurrentSettings(), lineData, this);
bool valid(NULL != reader && reader->Read(lineData, stream, event));
delete reader;
stream << "X-IRMC-BOX:" << ( event.Destination() == EventTypes::SMS::SENT ? "SENT" : "INBOX") << "\n";
stream << "X-NOK-DT:" << event.Timestamp().toUTC().toString("yyyyMMddThhmmssZ") << "\n";
- VEnvelope msgEnvelope(this);
+ VEnvelope msgEnvelope(CurrentSettings(), this);
// Add in the empty vcard for outgoing messages
if(event.Destination() == EventTypes::SMS::SENT)
{
- VCard(this, 2.1, VCard::VCARD_LOCAL).Write(stream, event);
+ VCard(CurrentSettings(), this, 2.1, VCard::VCARD_LOCAL).Write(stream, event);
- msgEnvelope.getContentWriters().append(new VCard(&msgEnvelope, 2.1, VCard::VCARD_REMOTE));
+ msgEnvelope.getContentWriters().append(new VCard(CurrentSettings(), &msgEnvelope, 2.1, VCard::VCARD_REMOTE));
- VEnvelope *bodyEnvelope = new VEnvelope(this);
- bodyEnvelope->getContentWriters().append(new VBody(bodyEnvelope));
+ VEnvelope *bodyEnvelope = new VEnvelope(CurrentSettings(), this);
+ bodyEnvelope->getContentWriters().append(new VBody(CurrentSettings(), bodyEnvelope));
msgEnvelope.getContentWriters().append(bodyEnvelope);
}
else
{
- VCard(this, 2.1, VCard::VCARD_REMOTE).Write(stream, event);
+ VCard(CurrentSettings(), this, 2.1, VCard::VCARD_REMOTE).Write(stream, event);
- msgEnvelope.getContentWriters().append(new VBody(&msgEnvelope));
+ msgEnvelope.getContentWriters().append(new VBody(CurrentSettings(), &msgEnvelope));
}
msgEnvelope.Write(stream, event);