$treeview $search $mathjax
00001 #ifndef __AIRINV_BOM_DCPEVENTSTRUCT_HPP 00002 #define __AIRINV_BOM_DCPEVENTSTRUCT_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <string> 00009 #include <vector> 00010 // StdAir 00011 #include <stdair/stdair_demand_types.hpp> 00012 #include <stdair/stdair_inventory_types.hpp> 00013 #include <stdair/basic/StructAbstract.hpp> 00014 #include <stdair/basic/BasParserTypes.hpp> 00015 // AirInv 00016 #include <airinv/AIRINV_Types.hpp> 00017 00018 namespace AIRINV { 00019 00021 struct DCPEventStruct : public stdair::StructAbstract { 00022 public: 00023 00025 DCPEventStruct (); 00026 00028 stdair::Date_T getDate() const; 00029 00031 stdair::Duration_T getTime() const; 00032 00034 const std::string describe() const; 00035 00037 const unsigned int getAirlineListSize () const { 00038 return _airlineCodeList.size(); 00039 } 00040 00042 const unsigned int getClassCodeListSize () const { 00043 return _classCodeList.size(); 00044 } 00045 00047 const stdair::AirlineCode_T& getFirstAirlineCode () const; 00048 00052 void beginAirline (); 00053 00056 bool hasNotReachedEndAirline () const; 00057 00059 stdair::AirlineCode_T getCurrentAirlineCode () const; 00060 00063 void iterateAirline (); 00064 00066 const std::string& getFirstClassCode () const; 00067 00071 void beginClassCode (); 00072 00075 bool hasNotReachedEndClassCode () const; 00076 00078 std::string getCurrentClassCode () const; 00079 00082 void iterateClassCode (); 00083 00084 public: 00085 // ////////////////// Attributes ///////////////// 00087 stdair::year_t _itYear; 00088 stdair::month_t _itMonth; 00089 stdair::day_t _itDay; 00090 00092 //long _itHours; 00093 stdair::hour_t _itHours; 00094 stdair::minute_t _itMinutes; 00095 stdair::second_t _itSeconds; 00096 00098 stdair::AirlineCodeList_T::iterator _itCurrentAirlineCode; 00099 00101 stdair::ClassList_StringList_T::iterator _itCurrentClassCode; 00102 00104 stdair::AirportCode_T _origin; 00105 00107 stdair::AirportCode_T _destination; 00108 00110 stdair::Date_T _dateRangeStart; 00111 00113 stdair::Date_T _dateRangeEnd; 00114 00116 stdair::Duration_T _timeRangeStart; 00117 00119 stdair::Duration_T _timeRangeEnd; 00120 00122 stdair::CabinCode_T _cabinCode; 00123 00125 stdair::CityCode_T _pos; 00126 00128 stdair::ChannelLabel_T _channel; 00129 00131 stdair::DayDuration_T _advancePurchase; 00132 00134 stdair::SaturdayStay_T _saturdayStay; 00135 00137 stdair::ChangeFees_T _changeFees; 00138 00140 stdair::NonRefundable_T _nonRefundable; 00141 00143 stdair::DayDuration_T _minimumStay; 00144 00146 stdair::PriceValue_T _DCP; 00147 00149 stdair::AirlineCode_T _airlineCode; 00150 00152 stdair::ClassCode_T _classCode; 00153 00155 stdair::AirlineCodeList_T _airlineCodeList; 00156 00158 //unsigned long int _nbOfAirlines; 00159 00161 stdair::ClassList_StringList_T _classCodeList; 00162 00163 }; 00164 00165 } 00166 #endif // __AIRINV_BOM_DCPEVENTSTRUCT_HPP