AirInv Logo  1.00.0
C++ Simulated Airline Inventory Management System library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AIRINV_Types.hpp
Go to the documentation of this file.
1 #ifndef __AIRINV_AIRINV_TYPES_HPP
2 #define __AIRINV_AIRINV_TYPES_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <map>
9 // Boost
10 #include <boost/shared_ptr.hpp>
11 // StdAir
12 #include <stdair/stdair_exceptions.hpp>
13 #include <stdair/stdair_file.hpp>
14 #include <stdair/stdair_inventory_types.hpp>
15 
16 namespace AIRINV {
17 
18  // Forward declarations
19  class AIRINV_Service;
20  class AIRINV_Master_Service;
21 
22 
23  // ///////// Exceptions ///////////
24 
29  : public stdair::ParsingFileFailedException {
30  public:
34  InventoryFileParsingFailedException (const std::string& iWhat)
35  : stdair::ParsingFileFailedException (iWhat) {}
36  };
37 
42  : public stdair::ParsingFileFailedException {
43  public:
47  ScheduleFileParsingFailedException (const std::string& iWhat)
48  : stdair::ParsingFileFailedException (iWhat) {}
49  };
50 
56  public:
60  MissingPartnerFlightDateWithinScheduleFile (const std::string& iWhat)
62  };
63 
68  : public stdair::ParsingFileFailedException {
69  public:
73  FRAT5FileParsingFailedException (const std::string& iWhat)
74  : stdair::ParsingFileFailedException (iWhat) {}
75  };
76 
81  : public stdair::ParsingFileFailedException {
82  public:
86  FFDisutilityFileParsingFailedException (const std::string& iWhat)
87  : stdair::ParsingFileFailedException (iWhat) {}
88  };
89 
94  class SegmentDateNotFoundException : public stdair::ParserException {
95  public:
99  SegmentDateNotFoundException (const std::string& iWhat)
100  : stdair::ParserException (iWhat) {}
101  };
102 
106  class InventoryInputFileNotFoundException : public stdair::FileNotFoundException {
107  public:
111  InventoryInputFileNotFoundException (const std::string& iWhat)
112  : stdair::FileNotFoundException (iWhat) {}
113  };
114 
118  class ScheduleInputFileNotFoundException : public stdair::FileNotFoundException {
119  public:
123  ScheduleInputFileNotFoundException (const std::string& iWhat)
124  : stdair::FileNotFoundException (iWhat) {}
125  };
126 
130  class FRAT5InputFileNotFoundException : public stdair::FileNotFoundException {
131  public:
135  FRAT5InputFileNotFoundException (const std::string& iWhat)
136  : stdair::FileNotFoundException (iWhat) {}
137  };
138 
142  class FFDisutilityInputFileNotFoundException : public stdair::FileNotFoundException {
143  public:
147  FFDisutilityInputFileNotFoundException (const std::string& iWhat)
148  : stdair::FileNotFoundException (iWhat) {}
149  };
150 
154  class FlightDateDuplicationException : public stdair::ObjectCreationgDuplicationException {
155  public:
159  FlightDateDuplicationException (const std::string& iWhat)
160  : stdair::ObjectCreationgDuplicationException (iWhat) {}
161  };
162 
166  class BookingException : public stdair::RootException {
167  };
168 
172  class InventoryNotFoundException : public stdair::ObjectNotFoundException {
173  public:
177  InventoryNotFoundException (const std::string& iWhat)
178  : stdair::ObjectNotFoundException (iWhat) {}
179  };
180 
184  class FlightDateNotFoundException : public stdair::ObjectNotFoundException {
185  public:
189  FlightDateNotFoundException (const std::string& iWhat)
190  : stdair::ObjectNotFoundException (iWhat) {}
191  };
192 
193 
194  // //////// Type definitions /////////
198  class InventoryFilePath : public stdair::InputFilePath {
199  public:
203  explicit InventoryFilePath (const stdair::Filename_T& iFilename)
204  : stdair::InputFilePath (iFilename) {}
205  };
206 
210  typedef boost::shared_ptr<AIRINV_Service> AIRINV_ServicePtr_T;
211 
215  typedef boost::shared_ptr<AIRINV_Master_Service> AIRINV_Master_ServicePtr_T;
216 
221  typedef std::map<const stdair::AirlineCode_T,
223 
227  typedef std::map<const stdair::DTD_T, double> FRAT5Curve_T;
228 
229 }
230 #endif // __AIRINV_AIRINV_TYPES_HPP