AirRAC Logo  0.2.0
C++ Simulated Revenue Accounting (RAC) System Library
AIRRAC_Types.hpp
Go to the documentation of this file.
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