69 lines
2.5 KiB
C++
69 lines
2.5 KiB
C++
#include "se/LPE/LPCrtCmdExtension.hpp"
|
|
#include "se/Command.hpp"
|
|
#include "se/LPE/LPExtension.hpp"
|
|
#include "se/LPE/SMDExtension.hpp"
|
|
#include "xml/XMLHelper.hpp"
|
|
|
|
namespace {
|
|
|
|
LPExtension& lpExtension() {
|
|
static LPExtension* lpExtension = new LPExtension();
|
|
return *lpExtension;
|
|
}
|
|
|
|
SMDExtension& smdExtension() {
|
|
static SMDExtension* smdExtension = new SMDExtension();
|
|
return *smdExtension;
|
|
}
|
|
}; // anonymous namespace
|
|
|
|
void LPCrtCmdExtension::setSMD()
|
|
{
|
|
haveSMD = true;
|
|
|
|
}
|
|
void LPCrtCmdExtension::addToCommand(const Command &command) const
|
|
{
|
|
XMLWriter* xmlWriter = command.getXmlWriter();
|
|
DOMElement* extensionElement = command.getExtensionElement();
|
|
DOMElement* launchElement = xmlWriter->appendChild(extensionElement,
|
|
"create", lpExtension().getURI());
|
|
DOMElement* exPhaseElement = xmlWriter->appendChild(launchElement, "launch:phase");
|
|
XMLHelper::setTextContent(exPhaseElement, lpePhaseName);
|
|
|
|
if (haveNoticeID) {
|
|
|
|
DOMElement* noticeElement = xmlWriter->appendChild(launchElement, "launch:notice");
|
|
|
|
DOMElement* exPhaseElement1 = xmlWriter->appendChild(noticeElement, "launch:noticeID");
|
|
XMLHelper::setTextContent( exPhaseElement1, noticeID );
|
|
|
|
DOMElement* exPhaseElement2 = xmlWriter->appendChild(noticeElement, "launch:notAfter");
|
|
XMLHelper::setTextContent( exPhaseElement2, notAfter );
|
|
|
|
DOMElement* exPhaseElement3 = xmlWriter->appendChild(noticeElement, "launch:acceptedDate");
|
|
XMLHelper::setTextContent( exPhaseElement3, acceptedDate );
|
|
}
|
|
|
|
if (haveSMD) { const string smd_id("1-2");
|
|
const string notBefore("2009-08-16T09:00:00.0Z"); const string notAfter("2099-08-16T09:00:00.0Z");
|
|
|
|
DOMElement* createLPElement = xmlWriter->appendChild(extensionElement, "launch:create");
|
|
DOMElement* smdElement = xmlWriter->appendChild(extensionElement,
|
|
"signedMark", smdExtension().getURI());
|
|
|
|
DOMElement* smdElement1 = xmlWriter->appendChild(smdElement, "smd:id");
|
|
XMLHelper::setTextContent( smdElement1, smd_id );
|
|
|
|
DOMElement* smdElement2 = xmlWriter->appendChild(smdElement, "smd:notBefore");
|
|
XMLHelper::setTextContent( smdElement2, notBefore );
|
|
|
|
DOMElement* smdElement3 = xmlWriter->appendChild(smdElement, "smd:notAfter");
|
|
XMLHelper::setTextContent( smdElement3, notAfter );
|
|
|
|
DOMElement* smdElement4 = xmlWriter->appendChild(smdElement, "smd:endcodedSignedMark");
|
|
XMLHelper::setTextContent( smdElement4, smdData );
|
|
|
|
}
|
|
}
|