00001 #ifndef __RMOL_BOM_POLICYHELPER_HPP
00002 #define __RMOL_BOM_POLICYHELPER_HPP
00003
00004
00005
00006
00007 #include <stdair/stdair_inventory_types.hpp>
00008 #include <stdair/bom/PolicyTypes.hpp>
00009 #include <stdair/bom/BookingClassTypes.hpp>
00010 #include <stdair/bom/FareFamilyTypes.hpp>
00011
00012 #include <rmol/RMOL_Types.hpp>
00013
00014
00015 namespace stdair {
00016 class SegmentCabin;
00017 class Policy;
00018 class FareFamily;
00019 class BookingClass;
00020 class NestingNode;
00021 }
00022
00023 namespace RMOL {
00024
00028 class PolicyHelper {
00029 public:
00030
00035 static void
00036 diffBetweenTwoPolicies (stdair::NestingNode&, const stdair::Policy&,
00037 const stdair::Policy&);
00038
00042 static void
00043 computeLastNode (stdair::NestingNode&, const stdair::Policy&,
00044 const stdair::SegmentCabin&);
00045
00049 static bool isNested (const stdair::Policy&, const stdair::Policy&);
00050
00051
00052 private:
00053
00058 static const bool
00059 intersectionBetweenPolicyAndBookingClassList (const stdair::BookingClassList_T&,
00060 const stdair::Policy&,
00061 stdair::ClassCode_T&);
00062
00066 static void
00067 diffBetweenBookingClassAndPolicy (stdair::NestingNode&,
00068 const stdair::FareFamily&,
00069 const stdair::ClassCode_T&,
00070 const stdair::Policy&);
00071
00072 };
00073
00074 }
00075
00076 #endif // __RMOL_BOM_POLICYHELPER_HPP