00001 #ifndef __STDAIR_BOM_CANCELLATIONSTRUCT_HPP 00002 #define __STDAIR_BOM_CANCELLATIONSTRUCT_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <iosfwd> 00009 #include <string> 00010 #include <vector> 00011 // StdAir 00012 #include <stdair/stdair_basic_types.hpp> 00013 #include <stdair/basic/StructAbstract.hpp> 00014 #include <stdair/bom/BookingClassTypes.hpp> 00015 #include <stdair/bom/TravelSolutionTypes.hpp> 00016 00017 namespace stdair { 00018 00022 struct CancellationStruct : public StructAbstract { 00023 public: 00024 // /////////// Getters /////////////// 00026 const SegmentPath_T& getSegmentPath() const { 00027 return _segmentPath; 00028 } 00029 00031 const ClassList_String_T& getClassList() const { 00032 return _classList; 00033 } 00034 00036 const PartySize_T& getPartySize() const { 00037 return _partySize; 00038 } 00039 00041 const DateTime_T& getCancellationDateTime() const { 00042 return _datetime; 00043 } 00044 00045 public: 00046 // /////////// Display support method ///////////// 00052 void toStream (std::ostream& ioOut) const; 00053 00058 void fromStream (std::istream& ioIn); 00059 00063 const std::string describe() const; 00064 00068 const std::string display() const; 00069 00070 00071 public: 00072 // //////////// Constructors & Destructor /////////////// 00076 CancellationStruct (const SegmentPath_T&, const ClassList_String_T&, 00077 const PartySize_T&, const DateTime_T&); 00078 00082 ~CancellationStruct(); 00083 00084 00085 private: 00086 // ///////////////////// Attributes ////////////////////// 00090 SegmentPath_T _segmentPath; 00091 00095 ClassList_String_T _classList; 00096 00100 PartySize_T _partySize; 00101 00105 DateTime_T _datetime; 00106 }; 00107 00108 } 00109 #endif // __STDAIR_BOM_CANCELLATIONSTRUCT_HPP