Go to the documentation of this file.00001 #ifndef __AIRRAC_CMD_YIELDRULEGENERATOR_HPP
00002 #define __AIRRAC_CMD_YIELDRULEGENERATOR_HPP
00003
00004
00005
00006
00007
00008 #include <stdair/command/CmdAbstract.hpp>
00009
00010 #include <airrac/AIRRAC_Types.hpp>
00011
00012 namespace stdair {
00013 class BomRoot;
00014 class YieldRule;
00015 class AirportPair;
00016 class DatePeriod;
00017 class PosChannel;
00018 class TimePeriod;
00019 class YieldFeatures;
00020 class AirlineClassList;
00021 }
00022
00023 namespace AIRRAC {
00024
00025
00026 struct YieldRuleStruct;
00027 namespace YieldParserHelper {
00028 struct doEndYield;
00029 }
00030
00032 class YieldRuleGenerator : public stdair::CmdAbstract {
00033
00034
00035
00036 friend class YieldFileParser;
00037 friend struct YieldParserHelper::doEndYield;
00038 friend class YieldParser;
00039
00040 private:
00041
00050 static void createAirportPair (stdair::BomRoot&,
00051 const YieldRuleStruct&);
00052
00061 static void createDateRange (stdair::AirportPair&,
00062 const YieldRuleStruct&);
00063
00072 static void createPOSChannel (stdair::DatePeriod&,
00073 const YieldRuleStruct&);
00074
00083 static void createTimeRange (stdair::PosChannel&,
00084 const YieldRuleStruct&);
00085
00094 static void createYieldFeatures (stdair::TimePeriod&,
00095 const YieldRuleStruct&);
00096
00105 static void createAirlineClassList (stdair::YieldFeatures&,
00106 const YieldRuleStruct&);
00107
00108
00109 };
00110
00111 }
00112 #endif // __AIRRAC_CMD_YIELDRULEGENERATOR_HPP