-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAMFConfigPckg.cpp
executable file
·83 lines (71 loc) · 2.4 KB
/
AMFConfigPckg.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include "AMFConfigPckg.h"
#include "stdlib.h"
#include "Algoritmos.h"
int AMFConfigPckg::getPackageID()
{
return this->packageID;
}
int AMFConfigPckg::getPackageVersion()
{
return this->packageVersion;
}
std::vector<MeasurementSet*>& AMFConfigPckg::getMeasurementSet()
{
return this->measurementSet;
}
void AMFConfigPckg::setPackageID(int id)
{
this->packageID = id;
}
void AMFConfigPckg::setPackageVersion(int id)
{
this->packageVersion = id;
}
void AMFConfigPckg::setEffectiveDateTime(struct tm* effectiveDateTime)
{
this->effectiveDateTime = effectiveDateTime;
}
void AMFConfigPckg::setMeasurementSet(std::vector<MeasurementSet*> measurementSet)
{
this->measurementSet = measurementSet;
}
AMFConfigPckg::~AMFConfigPckg()
{
free(this->effectiveDateTime);
for(int i = 0; i < this->measurementSet.size(); i++){
delete this->measurementSet.at(i);
}
}
AMFConfigPckg::AMFConfigPckg()
{
this->effectiveDateTime = NULL;
this->packageID = 0;
this->packageVersion = 0;
}
void AMFConfigPckg::parsingAmfConfigPckg(DOMElement* raiz)
{
DOMElement *element = dynamic_cast<DOMElement*> (raiz->getElementsByTagName(
XMLString::transcode("PackageID"))->item(0));
if(element != NULL){
this->packageID = stoi(XMLString::transcode(element->getTextContent()), nullptr, 10);
}
element = dynamic_cast<DOMElement*> (raiz->getElementsByTagName(
XMLString::transcode("PackageVersion"))->item(0));
if(element != NULL){
this->packageVersion = stoi(XMLString::transcode(element->getTextContent()), nullptr, 10);
}
element = dynamic_cast<DOMElement*> (raiz->getElementsByTagName(
XMLString::transcode("EffectivityDateAndTime"))->item(0));
if(element != NULL){
std::string value = XMLString::transcode(element->getTextContent());
this->effectiveDateTime = (struct tm*)malloc(sizeof(struct tm));
setTimeAndDate(this->effectiveDateTime, value);
}
for(int i = 0; i < raiz->getElementsByTagName(XMLString::transcode("MeasurementRequestSet"))->getLength(); i++){
MeasurementSet *mrs = new MeasurementSet();
element = dynamic_cast<DOMElement*> (raiz->getElementsByTagName(
XMLString::transcode("MeasurementRequestSet"))->item(i));
mrs->parsingMeasurementSet(element);
this->measurementSet.push_back(mrs);
}
}