AppCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ETimeTicketFacade.h
Go to the documentation of this file.
1 #ifndef EM_CARDFACADEETIMETICKETFACADE_H
2 #define EM_CARDFACADEETIMETICKETFACADE_H
3 
4 #include <list>
5 #include <vector>
6 #include <string>
7 #include <stdint.h>
8 #include "appcore/cardfacade/ECardFacadeDefines.h"
9 
10 class EMoneyData;
11 
12 namespace EM
13 {
14  namespace PT
15  {
16  class EDataCollection;
17  class EAplRequest;
18  }
19 
20  namespace CardFacade
21  {
23  {
24  public:
25  typedef std::list<unsigned long> ZoneList;
26  typedef ZoneList::iterator ZoneListIter;
27  typedef ZoneList::const_iterator ZoneListConstIter;
28 
30  virtual ~ETimeTicketFacade();
31 
32  virtual bool GetTariffTicketNumber( unsigned char ticketIndex, unsigned short &tariffTicketNumber ) = 0;
33  virtual bool SetTariffTicketNumber( unsigned char ticketIndex, unsigned short tariffTicketNumber ) = 0;
34 
35  virtual bool GetTicketTariffProfile( unsigned char ticketIndex, unsigned char &tariffProfile ) = 0;
36  virtual bool SetTicketTariffProfile( unsigned char ticketIndex, unsigned char tariffProfile ) = 0;
37 
38  virtual bool GetTicketCustomerProfile( unsigned char ticketIndex, unsigned char &customerProfile ) = 0;
39  virtual bool SetTicketCustomerProfile( unsigned char ticketIndex, unsigned char customerProfile ) = 0;
40 
41  virtual bool GetTimeTicketsCount( short &timeTicketsCount ) = 0;
42  virtual bool SetTimeTicketsCount( short timeTicketsCount ) = 0;
43 
44  virtual bool GetAvailableTimeTicketSlots( short &timeTicketSlots ) = 0;
45 
46  virtual bool GetValidityStartTime( unsigned char ticketIndex, unsigned long &validityStartTime ) = 0;
47  virtual bool SetValidityStartTime( unsigned char ticketIndex, unsigned long validityFrom ) = 0;
48 
49  virtual bool GetValidityEndTime( unsigned char ticketIndex, unsigned long &validityEndTime ) = 0;
50  virtual bool SetValidityEndTime( unsigned char ticketIndex, unsigned long validityTo ) = 0;
51 
52  virtual bool GetProvider( unsigned char ticketIndex, short &provider ) = 0;
53  virtual bool SetProvider( unsigned char ticketIndex, short provider ) = 0;
54 
55  virtual bool GetTimeTicketNumber( unsigned char ticketIndex, unsigned short &timeTicketNumber ) = 0;
56  virtual bool SetTimeTicketNumber( unsigned char ticketIndex, unsigned short timeTicketNumber ) = 0;
57 
58  virtual bool GetTimeTicketPreviousNumber( unsigned char ticketIndex, unsigned short &timeTicketNumber ) = 0;
59  virtual bool SetTimeTicketPreviousNumber( unsigned char ticketIndex, unsigned short timeTicketNumber ) = 0;
60 
61  virtual bool GetPriceListRowNumber( unsigned char ticketIndex, unsigned short &priceListRowNumber ) = 0;
62  virtual bool SetPriceListRowNumber( unsigned char ticketIndex, unsigned short priceListRowNumber ) = 0;
63 
64  virtual bool GetAvailableJourneyCount( unsigned char ticketIndex, unsigned short &availableJourneyCount ) = 0;
65  virtual bool SetAvailableJourneyCount( unsigned char ticketIndex, unsigned short availableJourneyCount ) = 0;
66 
67  virtual bool GetJourneyCount( unsigned short ticketIndex, unsigned short &journeyCount ) = 0;
68  virtual bool SetJourneyCount( unsigned char ticketIndex, unsigned short journeyCount ) = 0;
69 
70  virtual bool GetTicketType( unsigned char ticketIndex, ECardFacadeDefines::TimeTicketType &ticketType ) = 0;
71  virtual bool SetTicketType( unsigned char ticketIndex, ECardFacadeDefines::TimeTicketType ticketType ) = 0;
72 
73  virtual bool SetZoneSize( unsigned char ticketIndex, unsigned char zoneSize ) = 0;
74 
75  virtual bool GetCheckInZone( unsigned char ticketIndex, unsigned short &checkinZone ) = 0;
76  virtual bool SetCheckInZone( unsigned char ticketIndex, unsigned short checkinZone ) = 0;
77 
78  virtual bool GetCheckOutZone( unsigned char ticketIndex, unsigned short &checkoutZone ) = 0;
79  virtual bool SetCheckOutZone( unsigned char ticketIndex, unsigned short checkOutZone ) = 0;
80 
81  virtual bool GetUrbanTransportIdentificationNumber( unsigned char ticketIndex, long &urbanTransportIdentificationNumber ) = 0;
82  virtual bool SetUrbanTransportIdentificationNumber( unsigned char ticketIndex, long urbanTransport ) = 0;
83 
84  virtual bool GetPrice( unsigned char ticketIndex, EMoneyData &price ) = 0;
85  virtual bool SetPrice( unsigned char ticketIndex, const EMoneyData &price ) = 0;
86 
87  virtual bool GetPriceUnit( unsigned char ticketIndex, unsigned char &priceUnit ) = 0;
88  virtual bool SetPriceUnit( unsigned char ticketIndex, unsigned char priceUnit ) = 0;
89 
90  virtual bool IsTimeTicketValid( unsigned char ticketIndex, bool &valid ) = 0;
91  virtual bool SetTimeTicketValid( unsigned char ticketIndex, bool valid ) = 0;
92 
93  virtual bool GetRestrictDayOfWeek( unsigned char ticketIndex, unsigned char &restrictDayOfWeek ) = 0;
94  virtual bool SetRestrictDayOfWeek( unsigned char ticketIndex, unsigned char restrictDayOfWeek ) = 0;
95 
96  virtual bool GetPaymentType( unsigned char ticketIndex, unsigned char& paymentType ) = 0;
97  virtual bool SetPaymentType( unsigned char ticketIndex, unsigned char paymentType ) = 0;
98 
99  virtual bool GetCountryCode( unsigned char ticketIndex, unsigned short &countryCodeInBCD ) = 0;
100  virtual bool SetCountryCode( unsigned char ticketIndex, unsigned short countryCodeInBCD ) = 0;
101 
102  virtual bool GetNetworkCode( unsigned char ticketIndex, unsigned short &networkCodeInBCD ) = 0;
103  virtual bool SetNetworkCode( unsigned char ticketIndex, unsigned short networkCodeInBCD ) = 0;
104 
105  virtual bool GetZoneList( unsigned char ticketIndex, ZoneList &zoneList ) = 0;
106  virtual bool SetZoneList( unsigned char ticketIndex, const ZoneList &zoneList ) = 0;
107 
108  virtual bool GetZoneBitCollection(unsigned char ticketIndex, std::vector<unsigned char> &bitCollection) = 0;
109  virtual bool SetZoneBitCollection(unsigned char ticketIndex, const std::vector<unsigned char> &bitCollection) = 0;
110 
111  virtual bool GetRouteNumber( unsigned char ticketIndex, unsigned short &routeNumber ) = 0;
112  virtual bool SetRouteNumber( unsigned char ticketIndex, unsigned short routeNumber ) = 0;
113 
114  virtual bool GetActivationFlag( unsigned char ticketIndex, bool &activationFlag ) = 0;
115  virtual bool SetActivationFlag( unsigned char ticketIndex, bool activationFlag ) = 0;
116 
117  virtual bool GetDeviceSNR( unsigned char ticketIndex, unsigned long &snr ) = 0;
118  virtual bool SetDeviceSNR( unsigned char ticketIndex, unsigned long snr ) = 0;
119 
120  virtual bool GetDriverNumber( unsigned char ticketIndex, unsigned long &driverNumber ) = 0;
121  virtual bool SetDriverNumber( unsigned char ticketIndex, unsigned long driverNumber ) = 0;
122 
123  virtual bool IsHourTimeTicket( unsigned char ticketIndex, bool &hourTimeTicketFlag ) = 0;
124 
125  virtual bool SetUrbanTransportFlag( unsigned char ticketIndex, bool isUrbanTransportEnabled ) = 0;
126  virtual bool SetSubUrbanTransportFlag(unsigned char ticketIndex, bool isSuburbanTransportEnabled ) = 0;
127 
128  virtual bool GetFileNumber( unsigned char ticketIndex, unsigned long &fileNumber ) = 0;
129  virtual bool SetFileNumber( unsigned char ticketIndex, unsigned long fileNumber ) = 0;
130 
131  virtual bool GetCouponRestrictCode( const unsigned char ticketIndex, unsigned char &couponRestrictCode ) = 0;
132  virtual bool SetCouponRestrictCode( const unsigned char ticketIndex, const unsigned char couponRestrictCode ) = 0;
133 
134  virtual bool GetCouponKilometers( const unsigned char ticketIndex, unsigned char &couponKilometers ) = 0;
135  virtual bool SetCouponKilometers( const unsigned char ticketIndex, const unsigned char couponKilometers ) = 0;
136 
137  virtual bool GetRestrictLineType( const unsigned char ticketIndex, unsigned char &couponRestrictLineType ) = 0;
138  virtual bool SetRestrictLineType( const unsigned char ticketIndex, const unsigned char couponRestrictLineType ) = 0;
139 
140  virtual bool GetFlagIsIdsCoupon( const unsigned char ticketIndex, bool &isIdsCoupon ) = 0;
141  virtual bool SetFlagIsIdsCoupon( const unsigned char ticketIndex, const bool isIdsCoupon ) = 0;
142 
143  virtual bool GetFlagIsBaggageTicket( const unsigned char ticketIndex, bool &baggageTicket ) = 0;
144  virtual bool SetFlagIsBaggageTicket( const unsigned char ticketIndex, bool baggageTicket ) = 0;
145 
146  virtual bool GetIndexOfPairedTimeTicket( const unsigned char ticketIndex, unsigned char &indexOfPairedTimeTicket ) = 0;
147 
148  virtual bool IsTimeTicketFeatureEnabled( ECardFacadeDefines::TimeTicketFeatures feature, unsigned char ticketIndex, bool &enabled ) = 0;
149 
150  virtual void Clear();
151 
152  virtual bool IsModifiedData();
153 
154  virtual bool AddDataToWriteRequest( EM::PT::EDataCollection *writeRequest );
155  virtual bool AddDataTypeToReadRequest( PT::EAplRequest *readRequest ) = 0;
156 
157  virtual void Init();
158 
159  bool IsCardFeatureEnabled( ECardFacadeDefines::TimeTicketCardFeatures feature, bool &enabled );
160 
161  virtual unsigned short GetRequiredDataReadOperation() const = 0;
162 
163  virtual bool CreateSnapshotData( const unsigned char ticketIndex, std::string &data );
164  virtual bool FillFromSnapshot( const unsigned char ticketIndex, const std::string &data );
165 
166  protected:
167  //FIXME: JBR these methods are also in EOneWayTicketFacade and EPurceFacade, so they should probably be in some ancestor class
168  virtual int GetCurrencyCoeficient( const unsigned char priceUnit ) const;
169  virtual long ConvertPriceToCardCoeficient( const EMoneyData &price, const unsigned char priceUnit ) const;
170 
171  void SetCardFeature( uint64_t features );
172  private:
174 
175  class DataClass;
176  DataClass *d;
177 
179  };
180  }
181 }
182 
183 #endif
EEventTripTicketPr __EDATAPTR d
Definition: EEventTripTicket.h:96
void SetPrice(unsigned long value)
Definition: ETimeTicketFacade.h:22
TimeTicketCardFeatures
Definition: ECardFacadeDefines.h:113
std::list< unsigned long > ZoneList
Definition: ETimeTicketFacade.h:25
ZoneList::const_iterator ZoneListConstIter
Definition: ETimeTicketFacade.h:27
__ECLASS DataClass
Definition: EEventUpdateCustomerData.h:35
TimeTicketType
The TimeTicketType enum.
Definition: ECardFacadeDefines.h:190
unsigned long GetPrice()
#define DLL_API
Definition: ECardFacadeDefines.h:8
SYSTEM INCLUDES.
Definition: CardFacadeManagerXML.h:6
TimeTicketFeatures
Definition: ECardFacadeDefines.h:124
ZoneList::iterator ZoneListIter
Definition: ETimeTicketFacade.h:26
void Init(__ESTRING path)