00001 #ifndef __SIMFQT_SIMFQT_TYPES_HPP 00002 #define __SIMFQT_SIMFQT_TYPES_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <vector> 00009 #include <string> 00010 // Boost 00011 #include <boost/shared_ptr.hpp> 00012 // StdAir 00013 #include <stdair/stdair_exceptions.hpp> 00014 #include <stdair/stdair_file.hpp> 00015 00016 namespace SIMFQT { 00017 00018 // Forward declarations 00019 class SIMFQT_Service; 00020 00021 00022 // ///////// Exceptions /////////// 00026 class FareFileParsingFailedException 00027 : public stdair::ParsingFileFailedException { 00028 public: 00032 FareFileParsingFailedException (const std::string& iWhat) 00033 : stdair::ParsingFileFailedException (iWhat) {} 00034 }; 00035 00039 class AirportPairNotFoundException : public stdair::ObjectNotFoundException { 00040 public: 00044 AirportPairNotFoundException (const std::string& iWhat) 00045 : stdair::ObjectNotFoundException (iWhat) {} 00046 }; 00047 00051 class PosOrChannelNotFoundException : public stdair::ObjectNotFoundException { 00052 public: 00056 PosOrChannelNotFoundException (const std::string& iWhat) 00057 : stdair::ObjectNotFoundException (iWhat) {} 00058 }; 00059 00063 class FlightDateNotFoundException : public stdair::ObjectNotFoundException { 00064 public: 00068 FlightDateNotFoundException (const std::string& iWhat) 00069 : stdair::ObjectNotFoundException (iWhat) {} 00070 }; 00071 00075 class FlightTimeNotFoundException : public stdair::ObjectNotFoundException { 00076 public: 00080 FlightTimeNotFoundException (const std::string& iWhat) 00081 : stdair::ObjectNotFoundException (iWhat) {} 00082 }; 00083 00087 class FeaturesNotFoundException : public stdair::ObjectNotFoundException { 00088 public: 00092 FeaturesNotFoundException (const std::string& iWhat) 00093 : stdair::ObjectNotFoundException (iWhat) {} 00094 }; 00095 00099 class AirlineNotFoundException : public stdair::ObjectNotFoundException { 00100 public: 00104 AirlineNotFoundException (const std::string& iWhat) 00105 : stdair::ObjectNotFoundException (iWhat) {} 00106 }; 00107 00111 class FareInputFileNotFoundException : public stdair::FileNotFoundException { 00112 public: 00116 FareInputFileNotFoundException (const std::string& iWhat) 00117 : stdair::FileNotFoundException (iWhat) {} 00118 }; 00119 00123 class QuotingException : public stdair::RootException { 00124 }; 00125 00126 // ///////// Files /////////// 00130 class FareFilePath : public stdair::InputFilePath { 00131 public: 00135 explicit FareFilePath (const stdair::Filename_T& iFilename) 00136 : stdair::InputFilePath (iFilename) {} 00137 }; 00138 00139 // //////// Type definitions specific to SimFQT ///////// 00143 typedef unsigned int FareQuoteID_T; 00144 00148 typedef boost::shared_ptr<SIMFQT_Service> SIMFQT_ServicePtr_T; 00149 } 00150 #endif // __SIMFQT_SIMFQT_TYPES_HPP