1#ifndef __TRADEMGEN_TRADEMGEN_SERVICE_HPP
2#define __TRADEMGEN_TRADEMGEN_SERVICE_HPP
8#include <stdair/stdair_basic_types.hpp>
9#include <stdair/stdair_demand_types.hpp>
10#include <stdair/stdair_maths_types.hpp>
11#include <stdair/stdair_json.hpp>
12#include <stdair/stdair_service_types.hpp>
13#include <stdair/basic/DemandGenerationMethod.hpp>
14#include <stdair/bom/BookingRequestTypes.hpp>
15#include <stdair/bom/EventTypes.hpp>
16#include <stdair/bom/EventStruct.hpp>
18#include <sevmgr/SEVMGR_Types.hpp>
25 struct ProgressStatusSet;
28 struct BookingRequestStruct;
29 struct DemandCharacteristics;
30 struct DemandDistribution;
32 struct TravelSolutionStruct;
38 class TRADEMGEN_ServiceContext;
39 struct DemandStreamKey;
64 const stdair::RandomSeed_T&);
98 SEVMGR::SEVMGR_ServicePtr_T,
99 const stdair::RandomSeed_T&);
241 stdair::BookingRequestStruct
298 stdair::ProgressStatusSet&,
299 const stdair::DemandGenerationMethod&)
const;
330 stdair::BookingRequestPtr_T
332 const stdair::DemandGenerationMethod&)
const;
359 stdair::ProgressStatusSet
popEvent (stdair::EventStruct&)
const;
375 const stdair::PartySize_T&,
376 const stdair::DateTime_T&,
377 const stdair::Date_T&)
const;
394 const stdair::ProgressStatus&
getProgressStatus (
const stdair::EventType::EN_EventType&)
const;
407 std::string
jsonHandler (
const stdair::JSONString&)
const;
426 std::string
list ()
const;
434 std::string
list (
const stdair::EventType::EN_EventType&)
const;
468 stdair::STDAIR_ServicePtr_T initStdAirService (
const stdair::BasLogParams&,
469 const stdair::BasDBParams&);
480 stdair::STDAIR_ServicePtr_T initStdAirService (
const stdair::BasLogParams&);
485 void initSEVMGRService();
495 void addStdAirService (stdair::STDAIR_ServicePtr_T ioSTDAIR_ServicePtr,
496 const bool iOwnStdairService);
503 void addSEVMGRService (SEVMGR::SEVMGR_ServicePtr_T ioSEVMGR_ServicePtr);
511 void initServiceContext (
const stdair::RandomSeed_T&);
519 void initTrademgenService();
Class holding the context of the Trademgen services.
class holding the services related to Travel Demand Generation.
bool hasDemandStream(const stdair::DemandStreamKeyStr_T &) const
stdair::BookingRequestStruct buildSampleBookingRequest(const bool isForCRS=false)
std::string jsonHandler(const stdair::JSONString &) const
const bool stillHavingRequestsToBeGenerated(const stdair::DemandStreamKeyStr_T &, stdair::ProgressStatusSet &, const stdair::DemandGenerationMethod &) const
std::string displayDemandStream() const
const stdair::Count_T & getActualTotalNumberOfRequestsToBeGenerated() const
void buildComplementaryLinks(stdair::BomRoot &)
void clonePersistentBom()
std::string csvDisplay() const
const stdair::ProgressStatus & getProgressStatus() const
void parseAndLoad(const DemandFilePath &)
stdair::ProgressStatusSet popEvent(stdair::EventStruct &) const
bool generateCancellation(const stdair::TravelSolutionStruct &, const stdair::PartySize_T &, const stdair::DateTime_T &, const stdair::Date_T &) const
const stdair::Count_T & getExpectedTotalNumberOfRequestsToBeGenerated() const
stdair::Count_T generateFirstRequests(const stdair::DemandGenerationMethod &) const
stdair::BookingRequestPtr_T generateNextRequest(const stdair::DemandStreamKeyStr_T &, const stdair::DemandGenerationMethod &) const
void displayAirlineListFromDB() const