SimFQT Logo  1.00.0
C++ Simulated Fare Quote System Library
 All Classes Namespaces Files Functions Variables Typedefs Friends Pages
FareRuleGenerator.hpp
Go to the documentation of this file.
1 #ifndef __SIMFQT_CMD_FARERULEGENERATOR_HPP
2 #define __SIMFQT_CMD_FARERULEGENERATOR_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // StdAir
8 #include <stdair/command/CmdAbstract.hpp>
9 // Simfqt
10 #include <simfqt/SIMFQT_Types.hpp>
11 
12 // Forward declarations
13 namespace stdair {
14  class BomRoot;
15  class FareRule;
16  class AirportPair;
17  class DatePeriod;
18  class PosChannel;
19  class TimePeriod;
20  class FareFeatures;
21  class AirlineClassList;
22 }
23 
24 namespace SIMFQT {
25 
26  // Forward declarations
27  struct FareRuleStruct;
28  namespace FareParserHelper {
29  struct doEndFare;
30  }
31 
33  class FareRuleGenerator : public stdair::CmdAbstract {
34 
35  // Only the following class may use methods of FareGenerator.
36  // Indeed, as those methods build the BOM, it is not good to expose
37  // them public.
38  friend class FareFileParser;
40  friend class FareParser;
41 
42  private:
43 
52  static void createAirportPair (stdair::BomRoot&,
53  const FareRuleStruct&);
54 
63  static void createDateRange (stdair::AirportPair&,
64  const FareRuleStruct&);
65 
74  static void createPOSChannel (stdair::DatePeriod&,
75  const FareRuleStruct&);
76 
85  static void createTimeRange (stdair::PosChannel&,
86  const FareRuleStruct&);
87 
96  static void createFareFeatures (stdair::TimePeriod&,
97  const FareRuleStruct&);
98 
107  static void createAirlineClassList (stdair::FareFeatures&,
108  const FareRuleStruct&);
109 
110 
111 
112  };
113 
114 }
115 #endif // __SIMFQT_CMD_FARERULEGENERATOR_HPP