1.00.26
C++ Standard Airline IT Object Library
Toggle main menu visibility
Loading...
Searching...
No Matches
CancellationStruct.cpp
Go to the documentation of this file.
1
// //////////////////////////////////////////////////////////////////////
2
// Import section
3
// //////////////////////////////////////////////////////////////////////
4
// STL
5
#include <cassert>
6
#include <sstream>
7
// StdAir
8
#include <
stdair/basic/BasConst_BookingClass.hpp
>
9
#include <
stdair/bom/CancellationStruct.hpp
>
10
#include <
stdair/bom/BookingClass.hpp
>
11
12
namespace
stdair
{
13
// ////////////////////////////////////////////////////////////////////
14
CancellationStruct::CancellationStruct
(
const
SegmentPath_T
& iSegPath,
15
const
ClassList_String_T
& iList,
16
const
PartySize_T
& iSize,
17
const
DateTime_T
& iDateTime)
18
: _segmentPath (iSegPath), _classList (iList), _partySize (iSize),
19
_datetime (iDateTime) {
20
}
21
22
// ////////////////////////////////////////////////////////////////////
23
CancellationStruct::CancellationStruct
(
const
SegmentPath_T
& iSegPath,
24
const
BookingClassIDList_T
& iIDList,
25
const
PartySize_T
& iSize,
26
const
DateTime_T
& iDateTime)
27
: _segmentPath (iSegPath), _classIDList (iIDList), _partySize (iSize),
28
_datetime (iDateTime) {
29
}
30
31
// ////////////////////////////////////////////////////////////////////
32
CancellationStruct::~CancellationStruct
() {
33
}
34
35
// ////////////////////////////////////////////////////////////////////
36
void
CancellationStruct::toStream
(std::ostream& ioOut)
const
{
37
ioOut <<
describe
();
38
}
39
40
// ////////////////////////////////////////////////////////////////////
41
void
CancellationStruct::fromStream
(std::istream& ioIn) {
42
}
43
44
// ////////////////////////////////////////////////////////////////////
45
const
std::string
CancellationStruct::describe
()
const
{
46
std::ostringstream oStr;
47
48
oStr <<
"Segment path: "
;
49
unsigned
short
idx = 0;
50
for
(SegmentPath_T::const_iterator lItSegmentPath = _segmentPath.begin();
51
lItSegmentPath != _segmentPath.end(); ++lItSegmentPath, ++idx) {
52
if
(idx != 0) {
53
oStr <<
"-"
;
54
}
55
const
std::string& lSegmentKey = *lItSegmentPath;
56
oStr << lSegmentKey;
57
}
58
if
(_classList ==
""
) {
59
oStr <<
";"
;
60
BookingClassIDList_T::const_iterator lItBookingClassIDList =
61
_classIDList.begin();
62
idx = 0;
63
for
(; lItBookingClassIDList != _classIDList.end();
64
++lItBookingClassIDList, ++idx) {
65
if
(idx != 0) {
66
oStr <<
"-"
;
67
}
68
const
BookingClassID_T
& lBookingClassID = *lItBookingClassIDList;
69
const
BookingClass
& lBookingClass = lBookingClassID.
getObject
();
70
const
ClassCode_T
& lClassCode = lBookingClass.
getClassCode
();
71
oStr << lClassCode;
72
}
73
oStr <<
";"
<< _partySize <<
";"
<< _datetime;
74
}
else
{
75
oStr <<
";"
<< _classList <<
";"
<< _partySize <<
";"
<< _datetime;
76
}
77
return
oStr.str();
78
}
79
80
// ////////////////////////////////////////////////////////////////////
81
const
std::string
CancellationStruct::display
()
const
{
82
std::ostringstream oStr;
83
84
// List of segment keys (one per segment)
85
unsigned
short
idx = 0;
86
for
(SegmentPath_T::const_iterator itSegPath = _segmentPath.begin();
87
itSegPath != _segmentPath.end(); ++itSegPath, ++idx) {
88
if
(idx != 0) {
89
oStr <<
" ; "
;
90
}
91
const
std::string& lSegmentKey = *itSegPath;
92
oStr <<
"["
<< idx <<
"] "
<< lSegmentKey;
93
}
94
if
(_classList ==
""
) {
95
oStr <<
";"
;
96
BookingClassIDList_T::const_iterator lItBookingClassIDList =
97
_classIDList.begin();
98
idx = 0;
99
for
(; lItBookingClassIDList != _classIDList.end();
100
++lItBookingClassIDList, ++idx) {
101
if
(idx != 0) {
102
oStr <<
"-"
;
103
}
104
const
BookingClassID_T
& lBookingClassID = *lItBookingClassIDList;
105
const
BookingClass
& lBookingClass = lBookingClassID.
getObject
();
106
const
ClassCode_T
& lClassCode = lBookingClass.
getClassCode
();
107
oStr << lClassCode;
108
}
109
oStr <<
";"
<< _partySize <<
";"
<< _datetime;
110
}
else
{
111
oStr <<
";"
<< _classList <<
";"
<< _partySize <<
";"
<< _datetime;
112
}
113
return
oStr.str();
114
}
115
}
BasConst_BookingClass.hpp
BookingClass.hpp
CancellationStruct.hpp
stdair
Handle on the StdAir library context.
Definition
BasChronometer.cpp:9
stdair::DateTime_T
boost::posix_time::ptime DateTime_T
Definition
stdair_date_time_types.hpp:26
stdair::BookingClassIDList_T
std::list< BookingClassID_T > BookingClassIDList_T
Definition
BomIDTypes.hpp:24
stdair::ClassCode_T
std::string ClassCode_T
Definition
stdair_basic_types.hpp:57
stdair::PartySize_T
short PartySize_T
Definition
stdair_basic_types.hpp:98
stdair::SegmentPath_T
KeyList_T SegmentPath_T
Definition
TravelSolutionTypes.hpp:26
stdair::BookingClassID_T
struct BomID< BookingClass > BookingClassID_T
Definition
BomIDTypes.hpp:21
stdair::ClassList_String_T
std::string ClassList_String_T
Definition
stdair_basic_types.hpp:114
stdair::BomID::getObject
BOM & getObject() const
Definition
BomID.hpp:68
stdair::BookingClass
Definition
BookingClass.hpp:24
stdair::BookingClass::getClassCode
const ClassCode_T & getClassCode() const
Definition
BookingClass.hpp:42
stdair::CancellationStruct::~CancellationStruct
~CancellationStruct()
Definition
CancellationStruct.cpp:32
stdair::CancellationStruct::display
const std::string display() const
Definition
CancellationStruct.cpp:81
stdair::CancellationStruct::toStream
void toStream(std::ostream &ioOut) const
Definition
CancellationStruct.cpp:36
stdair::CancellationStruct::fromStream
void fromStream(std::istream &ioIn)
Definition
CancellationStruct.cpp:41
stdair::CancellationStruct::CancellationStruct
CancellationStruct(const SegmentPath_T &, const ClassList_String_T &, const PartySize_T &, const DateTime_T &)
Definition
CancellationStruct.cpp:14
stdair::CancellationStruct::describe
const std::string describe() const
Definition
CancellationStruct.cpp:45
Generated for StdAir by
1.17.0