$treeview $search $mathjax
AirInv Logo  1.00.0
$projectbrief
$projectbrief
$searchbox

DCPEventStruct.hpp

Go to the documentation of this file.
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