$treeview $search $mathjax
batches
and test/stdair
directories. They are compiled along with the rest of the StdAir
project. See the User Guide (Users Guide) for more details on how to build the StdAir
project.
First, a BOM root object (i.e., a root for all the classes in the project) is instantiated by the stdair::STDAIR_ServiceContext
context object, when the stdair::STDAIR_Service
is itself instantiated. The corresponding StdAir
type (class) is stdair::BomRoot
.
In the following sample, that object is named ioBomRoot
, and is given as input/output parameter of the stdair::CmdBomManager::buildSampleBom()
method:
lBAKey
) of type (class) stdair::InventoryKey
has first to be instantiated.
Thanks to that key, an airline inventory object, i.e. of type (class) stdair::Inventory
, can be instantiated. Let us name that airline inventory object lBAInv
.
stdair::Inventory
) has to be linked with the root of the BOM tree (stdair::BomRoot
). That operation is as simple as using the stdair::FacBomManager::addToListAndMap()
method:
See the corresponding full program (cmd_bom_manager_cpp) for more details.
From the BomRoot
(of type stdair::BomRoot
) object instance, the list of airline inventories (of type stdair::Inventory
) can then be retrieved...
... and browsed:
See the corresponding full program (bom_display_cpp) for more details.
stdair.cpp
program is run (with the -b
option), the output should look like:
[D]../../batches/stdair.cpp:243: Welcome to stdair [D]../../../stdair/command/CmdBomManager.cpp:41: StdAir will build the BOM tree from built-in specifications. [D]../../batches/stdair.cpp:286: =============================================================== BomRoot: -- ROOT -- =============================================================== +++++++++++++++++++++++++++++++++++++++++++++++++ Inventory: BA +++++++++++++++++++++++++++++++++++++++++++++++++ ****************************************** FlightDate: BA9, 2011-Jun-10 ****************************************** ****************************************** Leg-Dates: ---------- Flight, Leg, BoardDate, BoardTime, OffDate, OffTime, Date Offset, Time Offset, Elapsed, Distance, Capacity, BA9 2011-Jun-10, LHR-BKK, 2011-Jun-10, 21:45:00, 2011-Jun-11, 15:40:00, 11:05:00, 1, 06:50:00, 9900, 0, BA9 2011-Jun-10, BKK-SYD, 2011-Jun-11, 17:05:00, 2011-Jun-12, 15:40:00, 09:05:00, 1, 13:30:00, 8100, 0, ****************************************** ****************************************** LegCabins: ---------- Flight, Leg, Cabin, OffedCAP, PhyCAP, RgdADJ, AU, UPR, SS, Staff, WL, Group, CommSpace, AvPool, Avl, NAV, GAV, ACP, ETB, BidPrice, BA9 2011-Jun-10, LHR-BKK 2011-Jun-10, Y, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 3.52965e-319, 0, 0, BA9 2011-Jun-10, BKK-SYD 2011-Jun-11, Y, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, ****************************************** ****************************************** Buckets: -------- Flight, Leg, Cabin, Yield, AU/SI, SS, AV, ****************************************** ****************************************** SegmentCabins: -------------- Flight, Segment, Cabin, FF, Bkgs, MIN, UPR, CommSpace, AvPool, BP, BA9 2011-Jun-10, LHR-SYD 2011-Jun-10, Y, EcoSaver, 0, 0, 0, 0, 9, 0, BA9 2011-Jun-10, LHR-BKK 2011-Jun-10, Y, EcoSaver, 0, 0, 0, 0, 9, 0, BA9 2011-Jun-10, BKK-SYD 2011-Jun-11, Y, EcoSaver, 0, 0, 0, 0, 9, 0, ****************************************** ****************************************** Subclasses: ----------- Flight, Segment, Cabin, FF, Subclass, MIN/AU (Prot), Nego, NS%, OB%, Bkgs, GrpBks (pdg), StfBkgs, WLBkgs, ETB, ClassAvl, RevAvl, SegAvl, BA9 2011-Jun-10, LHR-SYD 2011-Jun-10, Y, EcoSaver, Q, 0 (0), 0, 0, 0, 0, 0 (0), 0, 0, 0, 0, 0, 0, +++++++++++++++++++++++++++++++++++++++++++++++++ Inventory: AF +++++++++++++++++++++++++++++++++++++++++++++++++ ****************************************** FlightDate: AF84, 2011-Mar-20 ****************************************** ****************************************** Leg-Dates: ---------- Flight, Leg, BoardDate, BoardTime, OffDate, OffTime, Date Offset, Time Offset, Elapsed, Distance, Capacity, AF84 2011-Mar-20, CDG-SFO, 2011-Mar-20, 10:40:00, 2011-Mar-20, 12:50:00, 11:10:00, 0, -09:00:00, 9900, 0, ****************************************** ****************************************** LegCabins: ---------- Flight, Leg, Cabin, OffedCAP, PhyCAP, RgdADJ, AU, UPR, SS, Staff, WL, Group, CommSpace, AvPool, Avl, NAV, GAV, ACP, ETB, BidPrice, AF84 2011-Mar-20, CDG-SFO 2011-Mar-20, Y, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, ****************************************** ****************************************** Buckets: -------- Flight, Leg, Cabin, Yield, AU/SI, SS, AV, ****************************************** ****************************************** SegmentCabins: -------------- Flight, Segment, Cabin, FF, Bkgs, MIN, UPR, CommSpace, AvPool, BP, AF84 2011-Mar-20, CDG-SFO 2011-Mar-20, Y, EcoSaver, 0, 0, 0, 0, 9, 0, ****************************************** ****************************************** Subclasses: ----------- Flight, Segment, Cabin, FF, Subclass, MIN/AU (Prot), Nego, NS%, OB%, Bkgs, GrpBks (pdg), StfBkgs, WLBkgs, ETB, ClassAvl, RevAvl, SegAvl, AF84 2011-Mar-20, CDG-SFO 2011-Mar-20, Y, EcoSaver, Q, 0 (0), 0, 0, 0, 0, 0 (0), 0, 0, 0, 0, 0, 0,
See the corresponding full program (batch_stdair_cpp) for more details.
Inventory
object. The corresponding class has just to extend the stdair::Inventory
class:
The STL containers have to be defined accordingly too:
See the full class definition (test_archi_inv_hpp) and implementation (test_archi_inv_cpp) for more details.
The BOM root object (stdair::BomRoot
) is instantiated the classical way:
Then, the specific implementation of the airline inventory object (myprovider::Inventory
) can be instantiated the same way as a standard Inventory (stdair::Inventory
) would be:
Then, the specific implementation of the airline inventory object (myprovider::Inventory
) is linked to the root of the BOM tree (stdair::BomRoot
) the same way as the standard Inventory (stdair::Inventory
) would be:
Another specific airline inventory object is instantiated the same way:
From the BomRoot
(of type stdair::BomRoot
) object instance, the list of specific airline inventories (of type stdair::Inventory
) can then be retrieved...
... and browsed:
Inventory: BA Inventory: AF
See the corresponding full program (StandardAirlineITTestSuite_cpp) for more details.