Vesna
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
PassengerCounterInterface.h
Go to the documentation of this file.
1 #ifndef PASSENGERCOUNTERINTERFACE_H
2 #define PASSENGERCOUNTERINTERFACE_H
3 
4 // SYSTEM INCLUDES
5 #include <utility>
6 #include <cstdint>
7 
8 // QT INCLUDES
9 #include <QSharedPointer>
10 
11 // BASE INCLUDES
13 
14 namespace EM
15 {
16  namespace TicketIssueLogic
17  {
18  class ETicketIssueLogicOutputData;
19  }
20 }
21 
57 
59 {
60 public:
61  PassengerCounterInterface( const PassengerCounterDefines::PassengerCounterType passengerCounterType, PassengerCountBusinessLogic *passengerCountBusinessLogic );
63 
71  virtual void IssueIn( const bool sameLineTrip, const bool currentTripIsContinousForPrevisousTrip, const long continousTripOffset );
72 
77  virtual void EvaluatePostIssueData( const std::vector<const EM::TicketIssueLogic::ETicketIssueLogicOutputData *> *outputDataCol ) = 0;
78 
85  virtual void PassengersGotIn( const uint16_t count, const uint16_t checkOutBusStopTripOrder ) = 0;
86 
94  virtual void CancelPassengersGotIn( const uint16_t count, const int32_t busStopLineOrder ) = 0;
95 
99  virtual void OnAutomaticPassengerCountResultsArrived( const uint16_t boardedCount, const uint16_t alightedCount ) = 0;
100 
104  virtual void OnAutomaticPassengerCountResultsArrived( const uint8_t fullness, const uint16_t capacity, const uint16_t passengerCount, const QString &calculationTime, const uint32_t busStopID, const uint8_t busStopOrder ) = 0;
105 
110  virtual QString GetAutomaticCountingResult() const = 0;
111 
112  virtual void OnBusStopDeparture( const long busStopTripOrder ) = 0;
113 
120  PassengersCount GetPassengersCountsSum( const bool includeActualBusStop = false ) const;
121 
128  PassengersCount GetPassengersGettingOutAtBusStop( const uint16_t busStopLineOrder ) const;
129 
136 
142  std::vector<PassengersCount> GetGettingOutPassengersCounts() const;
143 
149 
151 
152 protected:
156 
157 private:
159 
160  class DataClass;
161  QSharedPointer<DataClass> d;
162 
164 };
165 
166 #endif // PASSENGERCOUNTERINTERFACE_H
std::vector< PassengersCount > GetGettingOutPassengersCounts() const
GetGettingOutPassengersCounts returns number of passengers who are getting out at every bus stop of t...
Definition: PassengerCounterInterface.cpp:170
PassengerCounterType
Definition: PassengerCounterDefines.h:23
PassengersCount GetPassengersGettingOutAtCurrentBusStop() const
GetPassengersGettingOutAtCurrentBusStop returns number of passengers who bought ticket to the bus sto...
Definition: PassengerCounterInterface.cpp:158
virtual void OnBusStopDeparture(const long busStopTripOrder)=0
PassengerCountBusinessLogic * GetPassengerCountBusinessLogic()
Definition: PassengerCounterInterface.cpp:216
PassengersCountsVector & GetGettingOutPassengersCountsVector()
Definition: PassengerCounterInterface.cpp:206
Definition: PassengerCountBusinessLogic.h:19
PassengerCounterInterface(const PassengerCounterDefines::PassengerCounterType passengerCounterType, PassengerCountBusinessLogic *passengerCountBusinessLogic)
Definition: PassengerCounterInterface.cpp:41
virtual void IssueIn(const bool sameLineTrip, const bool currentTripIsContinousForPrevisousTrip, const long continousTripOffset)
IssueIn - Initializes passenger count structures on event IssueIn, creates record for each bus stop o...
Definition: PassengerCounterInterface.cpp:50
PassengerCounterDefines::PassengerCounterType GetPassengerCounterType() const
GetPassengerCounterType.
Definition: PassengerCounterInterface.cpp:182
const PassengersCountsVector & GetConstGettingOutPassengersCountsVector() const
Definition: PassengerCounterInterface.cpp:211
virtual QString GetAutomaticCountingResult() const =0
GetAutomaticCountingResult - returns value based on AutomaticPassengerCountingResultMeaning in Projec...
long PassengersCount
Definition: PassengerCounterDefines.h:11
virtual void EvaluatePostIssueData(const std::vector< const EM::TicketIssueLogic::ETicketIssueLogicOutputData * > *outputDataCol)=0
EvaluatePostIssueData - adding passengers by Ticket Issue output data.
virtual void OnAutomaticPassengerCountResultsArrived(const uint16_t boardedCount, const uint16_t alightedCount)=0
OnAutomaticPassengerCountResultsArrived - processes results from irma matrix automatic counters...
Definition: PassengerCounterInterface.h:58
std::vector< std::pair< LineBusStopOrder, PassengersCount > > PassengersCountsVector
Definition: PassengerCounterDefines.h:17
Definition: AutomaticCardHandlingBusinessLogic.h:6
virtual void CancelPassengersGotIn(const uint16_t count, const int32_t busStopLineOrder)=0
if valid busStopLineOrder was entered, method decrements getting out passangers for that bus stop ...
PassengersCount GetPassengersGettingOutAtBusStop(const uint16_t busStopLineOrder) const
GetPassengersGettingOutAtBusStop returns number of passengers who bought ticket to bus stop with the ...
Definition: PassengerCounterInterface.cpp:141
Definition: PassengerCounterInterface.cpp:23
virtual ~PassengerCounterInterface()
Definition: PassengerCounterInterface.cpp:46
virtual void PassengersGotIn(const uint16_t count, const uint16_t checkOutBusStopTripOrder)=0
if valid checkOutBusStopTripOrder was entered, method adds getting out passangers for that bus stop ...
void TryToBackupPassengersCount()
Definition: PassengerCounterInterface.cpp:187
PassengersCount GetPassengersCountsSum(const bool includeActualBusStop=false) const
GetPassengersCountsSum - method returns passangers count determined by actual trip index...
Definition: PassengerCounterInterface.cpp:123