Go to the documentation of this file.00001 #ifndef __SIMFQT_CMD_FARERULEGENERATOR_HPP
00002 #define __SIMFQT_CMD_FARERULEGENERATOR_HPP
00003
00004
00005
00006
00007
00008 #include <stdair/command/CmdAbstract.hpp>
00009
00010 #include <simfqt/SIMFQT_Types.hpp>
00011
00012
00013 namespace stdair {
00014 class BomRoot;
00015 class FareRule;
00016 class AirportPair;
00017 class DatePeriod;
00018 class PosChannel;
00019 class TimePeriod;
00020 class FareFeatures;
00021 class AirlineClassList;
00022 }
00023
00024 namespace SIMFQT {
00025
00026
00027 struct FareRuleStruct;
00028 namespace FareParserHelper {
00029 struct doEndFare;
00030 }
00031
00033 class FareRuleGenerator : public stdair::CmdAbstract {
00034
00035
00036
00037
00038 friend class FareFileParser;
00039 friend struct FareParserHelper::doEndFare;
00040 friend class FareParser;
00041
00042 private:
00043
00052 static void createAirportPair (stdair::BomRoot&,
00053 const FareRuleStruct&);
00054
00063 static void createDateRange (stdair::AirportPair&,
00064 const FareRuleStruct&);
00065
00074 static void createPOSChannel (stdair::DatePeriod&,
00075 const FareRuleStruct&);
00076
00085 static void createTimeRange (stdair::PosChannel&,
00086 const FareRuleStruct&);
00087
00096 static void createFareFeatures (stdair::TimePeriod&,
00097 const FareRuleStruct&);
00098
00107 static void createAirlineClassList (stdair::FareFeatures&,
00108 const FareRuleStruct&);
00109
00110
00111
00112 };
00113
00114 }
00115 #endif // __SIMFQT_CMD_FARERULEGENERATOR_HPP