AirInv Logo  1.00.0
C++ Simulated Airline Inventory Management System library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FlightPeriodStruct.hpp
Go to the documentation of this file.
1 #ifndef __AIRINV_BOM_FLIGHTPERIODSTRUCT_HPP
2 #define __AIRINV_BOM_FLIGHTPERIODSTRUCT_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <string>
9 // StdAir
10 #include <stdair/stdair_inventory_types.hpp>
11 #include <stdair/basic/StructAbstract.hpp>
12 #include <stdair/bom/DoWStruct.hpp>
13 // AirInv
15 #include <airinv/bom/LegStruct.hpp>
20 
21 namespace AIRINV {
22 
24  struct FlightPeriodStruct : public stdair::StructAbstract {
25 
27  stdair::Date_T getDate() const;
28 
30  stdair::Duration_T getTime() const;
31 
33  const std::string describe() const;
34 
37  void addAirport (const stdair::AirportCode_T&);
38 
40  void buildSegments ();
41 
48  void addSegmentCabin (const SegmentStruct&,
49  const SegmentCabinStruct&);
50 
56  void addSegmentCabin (const SegmentCabinStruct&);
57 
64  void addFareFamily (const SegmentStruct&,
65  const SegmentCabinStruct&,
66  const FareFamilyStruct&);
67 
73  void addFareFamily (const SegmentCabinStruct&,
74  const FareFamilyStruct&);
75 
78 
79  // Attributes
80  stdair::AirlineCode_T _airlineCode;
81  stdair::FlightNumber_T _flightNumber;
82  stdair::DatePeriod_T _dateRange;
83  stdair::DoWStruct _dow;
86 
92 
94  stdair::Date_T _dateRangeStart;
95  stdair::Date_T _dateRangeEnd;
96  unsigned int _itYear;
97  unsigned int _itMonth;
98  unsigned int _itDay;
100 
102  long _itHours;
105 
110 
115  };
116 
117 }
118 #endif // __AIRINV_BOM_FLIGHTPERIODSTRUCT_HPP