00001 #ifndef __AIRRAC_AIRRAC_TYPES_HPP 00002 #define __AIRRAC_AIRRAC_TYPES_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <vector> 00009 #include <string> 00010 // StdAir 00011 #include <stdair/stdair_exceptions.hpp> 00012 #include <stdair/stdair_file.hpp> 00013 00014 namespace AIRRAC { 00015 00016 // ///////// Exceptions /////////// 00017 class AirportPairNotFoundException : public stdair::ObjectNotFoundException { 00018 public: 00020 AirportPairNotFoundException (const std::string& iWhat) 00021 : stdair::ObjectNotFoundException (iWhat) {} 00022 }; 00023 00024 class PosOrChannelNotFoundException : public stdair::ObjectNotFoundException { 00025 public: 00027 PosOrChannelNotFoundException (const std::string& iWhat) 00028 : stdair::ObjectNotFoundException (iWhat) {} 00029 }; 00030 00031 class FlightDateNotFoundException : public stdair::ObjectNotFoundException { 00032 public: 00034 FlightDateNotFoundException (const std::string& iWhat) 00035 : stdair::ObjectNotFoundException (iWhat) {} 00036 }; 00037 00038 class FlightTimeNotFoundException : public stdair::ObjectNotFoundException { 00039 public: 00041 FlightTimeNotFoundException (const std::string& iWhat) 00042 : stdair::ObjectNotFoundException (iWhat) {} 00043 }; 00044 00045 class FeaturesNotFoundException : public stdair::ObjectNotFoundException { 00046 public: 00048 FeaturesNotFoundException (const std::string& iWhat) 00049 : stdair::ObjectNotFoundException (iWhat) {} 00050 }; 00051 00052 class AirlineNotFoundException : public stdair::ObjectNotFoundException { 00053 public: 00055 AirlineNotFoundException (const std::string& iWhat) 00056 : stdair::ObjectNotFoundException (iWhat) {} 00057 }; 00058 00059 class YieldInputFileNotFoundException : public stdair::FileNotFoundException { 00060 public: 00062 YieldInputFileNotFoundException (const std::string& iWhat) 00063 : stdair::FileNotFoundException (iWhat) {} 00064 }; 00065 00066 class YieldFileParsingFailedException : public stdair::ParsingFileFailedException { 00067 public: 00069 YieldFileParsingFailedException (const std::string& iWhat) 00070 : stdair::ParsingFileFailedException (iWhat) {} 00071 }; 00072 00073 class QuotingException : public stdair::RootException { 00074 }; 00075 00076 // ///////// Files /////////// 00080 class YieldFilePath : public stdair::InputFilePath { 00081 public: 00085 explicit YieldFilePath (const stdair::Filename_T& iFilename) 00086 : stdair::InputFilePath (iFilename) {} 00087 }; 00088 00089 // //////// Type definitions specific to AirRAC ///////// 00093 class AIRRAC_Service; 00094 typedef boost::shared_ptr<AIRRAC_Service> AIRRAC_ServicePtr_T; 00095 00096 00100 typedef unsigned int YieldID_T; 00101 } 00102 #endif // __AIRRAC_AIRRAC_TYPES_HPP 00103