AirRAC Logo  1.00.3
C++ Simulated Revenue Accounting (RAC) System Library
YieldParserHelper.hpp
Go to the documentation of this file.
1 #ifndef __AIRRAC_CMD_YIELDPARSERHELPER_HPP
2 #define __AIRRAC_CMD_YIELDPARSERHELPER_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <string>
9 // Boost
10 #include <boost/spirit/include/qi.hpp>
11 // StdAir
12 #include <stdair/command/CmdAbstract.hpp>
13 // Airrac
14 #include <airrac/AIRRAC_Types.hpp>
16 
17 // Forward declarations
18 namespace stdair {
19  class BomRoot;
20 }
21 
22 namespace AIRRAC {
23 
24  namespace YieldParserHelper {
25 
26  // ///////////////////////////////////////////////////////////////////
27  // Semantic actions
28  // ///////////////////////////////////////////////////////////////////
35  };
36 
42  void operator() (unsigned int,
43  boost::spirit::qi::unused_type,
44  boost::spirit::qi::unused_type) const;
45  };
46 
52  void operator() (std::vector<char>,
53  boost::spirit::qi::unused_type,
54  boost::spirit::qi::unused_type) const;
55  };
56 
62  void operator() (std::vector<char>,
63  boost::spirit::qi::unused_type,
64  boost::spirit::qi::unused_type) const;
65  };
66 
72  void operator() (std::vector<char>,
73  boost::spirit::qi::unused_type,
74  boost::spirit::qi::unused_type) const;
75  };
76 
82  void operator() (boost::spirit::qi::unused_type,
83  boost::spirit::qi::unused_type,
84  boost::spirit::qi::unused_type) const;
85  };
86 
92  void operator() (boost::spirit::qi::unused_type,
93  boost::spirit::qi::unused_type,
94  boost::spirit::qi::unused_type) const;
95  };
96 
102  void operator() (boost::spirit::qi::unused_type,
103  boost::spirit::qi::unused_type,
104  boost::spirit::qi::unused_type) const;
105  };
106 
112  void operator() (boost::spirit::qi::unused_type,
113  boost::spirit::qi::unused_type,
114  boost::spirit::qi::unused_type) const;
115  };
116 
118  struct storePOS : public ParserSemanticAction {
122  void operator() (std::vector<char>,
123  boost::spirit::qi::unused_type,
124  boost::spirit::qi::unused_type) const;
125  };
126 
132  void operator() (char,
133  boost::spirit::qi::unused_type,
134  boost::spirit::qi::unused_type) const;
135  };
136 
142  void operator() (std::vector<char>,
143  boost::spirit::qi::unused_type,
144  boost::spirit::qi::unused_type) const;
145  };
146 
152  void operator() (double,
153  boost::spirit::qi::unused_type,
154  boost::spirit::qi::unused_type) const;
155  };
156 
162  void operator() (std::vector<char>,
163  boost::spirit::qi::unused_type,
164  boost::spirit::qi::unused_type) const;
165  };
166 
172  void operator() (std::vector<char>,
173  boost::spirit::qi::unused_type,
174  boost::spirit::qi::unused_type) const;
175  };
176 
180  doEndYield (stdair::BomRoot&, YieldRuleStruct&);
182  void operator() (boost::spirit::qi::unused_type,
183  boost::spirit::qi::unused_type,
184  boost::spirit::qi::unused_type) const;
186  stdair::BomRoot& _bomRoot;
187  };
188 
189  }
190 
192  //
193  // Entry class for the file parser
194  //
196 
202  class YieldFileParser : public stdair::CmdAbstract {
203  public:
205  YieldFileParser (stdair::BomRoot&,
206  const stdair::Filename_T& iYieldInputFilename);
207 
209  void generateYieldStore ();
210 
211  private:
213  void init();
214 
215  private:
216 
217  // Attributes
219  stdair::Filename_T _filename;
220 
222  stdair::BomRoot& _bomRoot;
223 
225  YieldRuleStruct _yieldRule;
226  };
227 
228 }
229 #endif // __AIRRAC_CMD_YIELDPARSERHELPER_HPP
AIRRAC::YieldParserHelper::storeYieldId
Definition: YieldParserHelper.hpp:38
AIRRAC::YieldRuleStruct
Utility Structure for the parsing of Flight-Date structures.
Definition: YieldRuleStruct.hpp:24
AIRRAC::YieldParserHelper::storeClass
Definition: YieldParserHelper.hpp:168
AIRRAC::YieldParserHelper::storeCabinCode::operator()
void operator()(char, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Definition: YieldParserHelper.cpp:217
AIRRAC::YieldParserHelper::storeClass::storeClass
storeClass(YieldRuleStruct &)
Definition: YieldParserHelper.cpp:290
AIRRAC::YieldParserHelper::storeAirlineCode::operator()
void operator()(std::vector< char >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Definition: YieldParserHelper.cpp:275
AIRRAC::YieldParserHelper::storeYieldId::operator()
void operator()(unsigned int, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Definition: YieldParserHelper.cpp:39
AIRRAC::YieldParserHelper::storeOrigin
Definition: YieldParserHelper.hpp:48
AIRRAC::YieldFileParser
Definition: YieldParserHelper.hpp:202
AIRRAC::YieldParserHelper::storeAirlineCode::storeAirlineCode
storeAirlineCode(YieldRuleStruct &)
Definition: YieldParserHelper.cpp:270
AIRRAC_Types.hpp
AIRRAC::YieldParserHelper::storeDateRangeEnd::operator()
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Definition: YieldParserHelper.cpp:134
AIRRAC::YieldParserHelper::storeTripType::storeTripType
storeTripType(YieldRuleStruct &)
Definition: YieldParserHelper.cpp:91
AIRRAC::YieldParserHelper::storeOrigin::storeOrigin
storeOrigin(YieldRuleStruct &)
Definition: YieldParserHelper.cpp:59
AIRRAC::YieldParserHelper::ParserSemanticAction
Definition: YieldParserHelper.hpp:30
AIRRAC::YieldParserHelper::storeEndRangeTime::operator()
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Definition: YieldParserHelper.cpp:173
AIRRAC::YieldParserHelper::storeDateRangeEnd::storeDateRangeEnd
storeDateRangeEnd(YieldRuleStruct &)
Definition: YieldParserHelper.cpp:129
AIRRAC::YieldParserHelper::storeYield
Definition: YieldParserHelper.hpp:148
stdair
Forward declarations.
Definition: AIRRAC_Service.hpp:15
AIRRAC::YieldParserHelper::doEndYield::doEndYield
doEndYield(stdair::BomRoot &, YieldRuleStruct &)
Definition: YieldParserHelper.cpp:314
AIRRAC::YieldParserHelper::storeClass::operator()
void operator()(std::vector< char >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Definition: YieldParserHelper.cpp:295
AIRRAC::YieldFileParser::YieldFileParser
YieldFileParser(stdair::BomRoot &, const stdair::Filename_T &iYieldInputFilename)
Definition: YieldParserHelper.cpp:507
AIRRAC::YieldParserHelper::storeDestination::operator()
void operator()(std::vector< char >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Definition: YieldParserHelper.cpp:80
AIRRAC::YieldParserHelper::storeYield::operator()
void operator()(double, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Definition: YieldParserHelper.cpp:259
AIRRAC::YieldParserHelper::storeDateRangeStart::operator()
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Definition: YieldParserHelper.cpp:118
AIRRAC::YieldParserHelper::storeEndRangeTime::storeEndRangeTime
storeEndRangeTime(YieldRuleStruct &)
Definition: YieldParserHelper.cpp:168
AIRRAC::YieldParserHelper::storeDateRangeStart
Definition: YieldParserHelper.hpp:78
AIRRAC::YieldParserHelper::storeStartRangeTime
Definition: YieldParserHelper.hpp:98
AIRRAC::YieldParserHelper::storePOS::storePOS
storePOS(YieldRuleStruct &)
Definition: YieldParserHelper.cpp:186
AIRRAC::YieldParserHelper::storeYield::storeYield
storeYield(YieldRuleStruct &)
Definition: YieldParserHelper.cpp:254
AIRRAC::YieldParserHelper::storeStartRangeTime::operator()
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Definition: YieldParserHelper.cpp:155
AIRRAC::YieldParserHelper::storeDestination
Definition: YieldParserHelper.hpp:58
AIRRAC::YieldParserHelper::storeTripType::operator()
void operator()(std::vector< char >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Definition: YieldParserHelper.cpp:96
AIRRAC
Definition: AIRRAC_Service.hpp:22
AIRRAC::YieldParserHelper::doEndYield
Definition: YieldParserHelper.hpp:178
AIRRAC::YieldParserHelper::storeStartRangeTime::storeStartRangeTime
storeStartRangeTime(YieldRuleStruct &)
Definition: YieldParserHelper.cpp:150
AIRRAC::YieldParserHelper::ParserSemanticAction::_yieldRule
YieldRuleStruct & _yieldRule
Definition: YieldParserHelper.hpp:34
AIRRAC::YieldParserHelper::storeTripType
Definition: YieldParserHelper.hpp:68
AIRRAC::YieldParserHelper::storeAirlineCode
Definition: YieldParserHelper.hpp:158
AIRRAC::YieldParserHelper::storeDateRangeStart::storeDateRangeStart
storeDateRangeStart(YieldRuleStruct &)
Definition: YieldParserHelper.cpp:113
AIRRAC::YieldParserHelper::doEndYield::operator()
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Definition: YieldParserHelper.cpp:321
YieldRuleStruct.hpp
AIRRAC::YieldParserHelper::storeChannel
Definition: YieldParserHelper.hpp:138
AIRRAC::YieldParserHelper::storeOrigin::operator()
void operator()(std::vector< char >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Definition: YieldParserHelper.cpp:64
AIRRAC::YieldParserHelper::storeCabinCode
Definition: YieldParserHelper.hpp:128
AIRRAC::YieldParserHelper::storeEndRangeTime
Definition: YieldParserHelper.hpp:108
AIRRAC::YieldParserHelper::storePOS::operator()
void operator()(std::vector< char >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Definition: YieldParserHelper.cpp:191
AIRRAC::YieldParserHelper::storeChannel::operator()
void operator()(std::vector< char >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Definition: YieldParserHelper.cpp:238
AIRRAC::YieldParserHelper::storeChannel::storeChannel
storeChannel(YieldRuleStruct &)
Definition: YieldParserHelper.cpp:233
AIRRAC::YieldParserHelper::doEndYield::_bomRoot
stdair::BomRoot & _bomRoot
Definition: YieldParserHelper.hpp:186
AIRRAC::YieldParserHelper::storeYieldId::storeYieldId
storeYieldId(YieldRuleStruct &)
Definition: YieldParserHelper.cpp:34
AIRRAC::YieldFileParser::generateYieldStore
void generateYieldStore()
Definition: YieldParserHelper.cpp:529
AIRRAC::YieldParserHelper::storePOS
Definition: YieldParserHelper.hpp:118
AIRRAC::YieldParserHelper::storeDestination::storeDestination
storeDestination(YieldRuleStruct &)
Definition: YieldParserHelper.cpp:75
AIRRAC::YieldParserHelper::storeCabinCode::storeCabinCode
storeCabinCode(YieldRuleStruct &)
Definition: YieldParserHelper.cpp:212
AIRRAC::YieldParserHelper::storeDateRangeEnd
Definition: YieldParserHelper.hpp:88
AIRRAC::YieldParserHelper::ParserSemanticAction::ParserSemanticAction
ParserSemanticAction(YieldRuleStruct &)
Definition: YieldParserHelper.cpp:28