OpenTREP Logo  0.07.7
C++ Open Travel Request Parsing Library
OPENTREP_Service.hpp
Go to the documentation of this file.
1 #ifndef __OPENTREP_SVC_OPENTREP_SERVICE_HPP
2 #define __OPENTREP_SVC_OPENTREP_SERVICE_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <iosfwd>
9 #include <string>
10 // OpenTREP
12 #include <opentrep/DBType.hpp>
15 
16 namespace OPENTREP {
17 
18  // Forward declaration
19  class OPENTREP_ServiceContext;
20 
21 
26  public:
27  // /////////// Business Methods /////////////
34 
46 
58  NbOfMatches_T interpretTravelRequest (const std::string& iTravelQuery,
60 
61 
73  typedef std::pair<const TravelDBFilePath_T,
75  typedef std::pair<const PORFilePath_T, const DBFilePathPair_T> FilePathSet_T;
77 
84 
93 
94  public:
95  // ////////// Interaction with the SQL database //////////
104  bool createSQLDBUser();
105 
119 
127  void createSQLDBTables();
128 
132  void createSQLDBIndexes();
133 
140 
147 
154 
161 
178 
186 
197 
208 
219 
230 
241 
252 
253 
254  public:
255  // ////////// Constructors and destructors //////////
265  OPENTREP_Service (std::ostream& ioLogStream, const TravelDBFilePath_T&,
266  const DBType&, const SQLDBConnectionString_T&,
267  const DeploymentNumber_T&);
268 
283  OPENTREP_Service (std::ostream& ioLogStream, const PORFilePath_T&,
284  const TravelDBFilePath_T&, const DBType&,
288  const shouldAddPORInSQLDB_T&);
289 
294 
295 
296  private:
297  // /////// Construction and Destruction helper methods ///////
306 
316  void init (std::ostream& ioLogStream, const TravelDBFilePath_T&,
317  const DBType&, const SQLDBConnectionString_T&,
318  const DeploymentNumber_T&);
319 
334  void init (std::ostream& ioLogStream, const PORFilePath_T&,
335  const TravelDBFilePath_T&,
336  const DBType&, const SQLDBConnectionString_T&,
339 
343  void finalise();
344 
345 
346  private:
347  // ///////// Service Context /////////
351  OPENTREP_ServiceContext* _opentrepServiceContext;
352  };
353 }
354 #endif // __OPENTREP_SVC_OPENTREP_SERVICE_HPP
OPENTREP::OPENTREP_Service::getDeploymentNumber
const DeploymentNumber_T & getDeploymentNumber() const
Definition: OPENTREP_Service.cpp:160
OPENTREP::shouldIndexNonIATAPOR_T
bool shouldIndexNonIATAPOR_T
Definition: OPENTREP_Types.hpp:136
OPENTREP::OPENTREP_Service::getFilePaths
FilePathSet_T getFilePaths() const
Definition: OPENTREP_Service.cpp:176
OPENTREP::OPENTREP_Service::listByGeonameID
NbOfMatches_T listByGeonameID(const GeonamesID_T &, LocationList_T &)
Definition: OPENTREP_Service.cpp:850
OPENTREP::NbOfDBEntries_T
unsigned int NbOfDBEntries_T
Definition: OPENTREP_Types.hpp:680
OPENTREP::WordList_T
std::list< Word_T > WordList_T
Definition: OPENTREP_Types.hpp:690
OPENTREP::OPENTREP_Service
Interface for the OPENTREP Services.
Definition: OPENTREP_Service.hpp:25
OPENTREP::OPENTREP_Service::checkXapianDBOnFileSystem
bool checkXapianDBOnFileSystem(const TravelDBFilePath_T &) const
Definition: OPENTREP_Service.cpp:203
OPENTREP::UNLOCode_T
Definition: OPENTREP_Types.hpp:225
OPENTREP::OPENTREP_Service::toggleShouldIncludeAllPORFlag
OPENTREP::shouldIndexNonIATAPOR_T toggleShouldIncludeAllPORFlag()
Definition: OPENTREP_Service.cpp:472
OPENTREP::OPENTREP_Service::DBFilePathPair_T
std::pair< const TravelDBFilePath_T, const SQLDBConnectionString_T > DBFilePathPair_T
Definition: OPENTREP_Service.hpp:74
OPENTREP::ICAOCode_T
Definition: OPENTREP_Types.hpp:170
OPENTREP::OPENTREP_Service::interpretTravelRequest
NbOfMatches_T interpretTravelRequest(const std::string &iTravelQuery, LocationList_T &, WordList_T &)
Definition: OPENTREP_Service.cpp:961
OPENTREP::OPENTREP_Service::~OPENTREP_Service
~OPENTREP_Service()
Definition: OPENTREP_Service.cpp:70
OPENTREP::UICCode_T
unsigned int UICCode_T
Definition: OPENTREP_Types.hpp:238
OPENTREP::IATACode_T
Definition: OPENTREP_Types.hpp:154
OPENTREP::PORFilePath_T
Definition: OPENTREP_Types.hpp:37
OPENTREP::SQLDBConnectionString_T
Definition: OPENTREP_Types.hpp:56
OPENTREP::NbOfMatches_T
unsigned short NbOfMatches_T
Definition: OPENTREP_Types.hpp:715
LocationList.hpp
OPENTREP::OPENTREP_Service::drawRandomLocations
NbOfMatches_T drawRandomLocations(const NbOfMatches_T &iNbOfDraws, LocationList_T &)
Definition: OPENTREP_Service.cpp:239
OPENTREP::OPENTREP_Service::createSQLDBTables
void createSQLDBTables()
Definition: OPENTREP_Service.cpp:339
OPENTREP::LocationList_T
std::list< Location > LocationList_T
Definition: LocationList.hpp:13
OPENTREP::OPENTREP_Service::toggleShouldIndexPORInXapianFlag
OPENTREP::shouldIndexPORInXapian_T toggleShouldIndexPORInXapianFlag()
Definition: OPENTREP_Service.cpp:502
OPENTREP::shouldAddPORInSQLDB_T
bool shouldAddPORInSQLDB_T
Definition: OPENTREP_Types.hpp:146
OPENTREP
Definition: BasChronometer.cpp:10
OPENTREP::OPENTREP_Service::createSQLDBIndexes
void createSQLDBIndexes()
Definition: OPENTREP_Service.cpp:389
OPENTREP::OPENTREP_Service::insertIntoDBAndXapian
NbOfDBEntries_T insertIntoDBAndXapian()
Definition: OPENTREP_Service.cpp:897
OPENTREP::OPENTREP_Service::listByIcaoCode
NbOfMatches_T listByIcaoCode(const ICAOCode_T &, LocationList_T &)
Definition: OPENTREP_Service.cpp:657
OPENTREP::OPENTREP_Service::FilePathSet_T
std::pair< const PORFilePath_T, const DBFilePathPair_T > FilePathSet_T
Definition: OPENTREP_Service.hpp:75
OPENTREP::OPENTREP_Service::listByIataCode
NbOfMatches_T listByIataCode(const IATACode_T &, LocationList_T &)
Definition: OPENTREP_Service.cpp:608
OPENTREP::OPENTREP_ServiceContext
Class holding the context of the OpenTrep services.
Definition: OPENTREP_ServiceContext.hpp:28
OPENTREP::OPENTREP_Service::listByFaaCode
NbOfMatches_T listByFaaCode(const FAACode_T &, LocationList_T &)
Definition: OPENTREP_Service.cpp:705
DBType.hpp
OPENTREP::OPENTREP_Service::toggleShouldAddPORInSQLDBFlag
OPENTREP::shouldAddPORInSQLDB_T toggleShouldAddPORInSQLDBFlag()
Definition: OPENTREP_Service.cpp:533
OPENTREP::OPENTREP_Service::getNbOfPORFromDB
NbOfDBEntries_T getNbOfPORFromDB()
Definition: OPENTREP_Service.cpp:562
OPENTREP::OPENTREP_Service::listByUICCode
NbOfMatches_T listByUICCode(const UICCode_T &, LocationList_T &)
Definition: OPENTREP_Service.cpp:803
OPENTREP::OPENTREP_Service::toggleDeploymentNumber
OPENTREP::DeploymentNumber_T toggleDeploymentNumber()
Definition: OPENTREP_Service.cpp:440
OPENTREP::DeploymentNumber_T
unsigned short DeploymentNumber_T
Definition: OPENTREP_Types.hpp:108
OPENTREP::OPENTREP_Service::getIndexSize
NbOfDBEntries_T getIndexSize()
Definition: OPENTREP_Service.cpp:210
OPENTREP::TravelDBFilePath_T
Definition: OPENTREP_Types.hpp:46
OPENTREP::OPENTREP_Service::listByUNLOCode
NbOfMatches_T listByUNLOCode(const UNLOCode_T &, LocationList_T &)
Definition: OPENTREP_Service.cpp:753
OPENTREP::OPENTREP_Service::createSQLDBUser
bool createSQLDBUser()
Definition: OPENTREP_Service.cpp:270
OPENTREP::OPENTREP_Service::setSQLDBConnectString
void setSQLDBConnectString(const SQLDBConnectionString_T &)
Definition: OPENTREP_Service.cpp:322
DistanceErrorRule.hpp
OPENTREP::shouldIndexPORInXapian_T
bool shouldIndexPORInXapian_T
Definition: OPENTREP_Types.hpp:141
OPENTREP::DBType
Enumeration of database types.
Definition: DBType.hpp:17
OPENTREP_Types.hpp
OPENTREP::GeonamesID_T
unsigned int GeonamesID_T
Definition: OPENTREP_Types.hpp:182
OPENTREP::FAACode_T
Definition: OPENTREP_Types.hpp:199