SPI  1.2111.2
Secured Payment Interface
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Service.h
Go to the documentation of this file.
1 
14 #ifndef __SERVICE_H__
15 #define __SERVICE_H__
16 
17 #include <stdio.h>
18 #include <vector>
19 #include <string>
20 #include <cstring>
21 
22 #include "SPIDEF.h"
23 #include "transaction.h"
24 #include "Config.h"
25 #include "Report.h"
26 using namespace std;
27 
28 namespace Modularity {
29  namespace SPI {
36  class Service {
37  public:
47  SPILIBRARY_API virtual
48  SPI_RET_VAL Init(string DeviceSerialNo) = 0;
49 
58  SPILIBRARY_API virtual
59  SPI_RET_VAL DoEstablishment(string Retailer) = 0;
60 
67  SPILIBRARY_API virtual
68  SPI_RET_VAL AbortDoEstablishment() = 0;
69 
86  SPILIBRARY_API virtual
87  SPI_RET_VAL AddPinpad(PPIDType PinPadID, Config & PinpadConfig, PP_Protocol Protocol, bool IsDirect) = 0;
88 
100  SPILIBRARY_API virtual
101  SPI_RET_VAL StartTransaction(Transaction *TransactionPtr) = 0;
102 
119  SPILIBRARY_API virtual
120  SPI_RET_VAL PollTransaction(Transaction *TransactionPtr, TransactionStatus & Status) = 0;
121 
131  SPILIBRARY_API virtual
132  SPI_RET_VAL CloseTransaction(Transaction *TransactionPtr) = 0;
133 
145  SPILIBRARY_API virtual
146  SPI_RET_VAL DoTransaction(Transaction *TransactionPtr) = 0;
147 
163  SPILIBRARY_API virtual
164  SPI_RET_VAL DoTransactionPhase1(Transaction *TransactionPtr) = 0;
165 
177  SPILIBRARY_API virtual
178  SPI_RET_VAL DoTransactionPhase2(Transaction *TransactionPtr) = 0;
179 
189  SPILIBRARY_API virtual
190  SPI_RET_VAL AbortTransaction(Transaction *TransactionPtr) = 0;
191 
201  SPILIBRARY_API virtual
202  SPI_RET_VAL RetrieveTransaction(Transaction *TransactionPtr, std::string UID) = 0;
203 
213  SPILIBRARY_API virtual
214  SPI_RET_VAL StartEndOfDay(Report* ReportResult) = 0;
215 
228  SPILIBRARY_API virtual
229  SPI_RET_VAL PollEndOfDay(Report* ReportResult, EndOfDayStatus & Status) = 0;
230 
231 
241  SPILIBRARY_API virtual
242  SPI_RET_VAL CloseEndOfDay(Report* ReportResult) = 0;
243 
244 
254  SPILIBRARY_API virtual
255  SPI_RET_VAL EndOfDay(Report* ReportResult) = 0;
256 
257 
266  SPILIBRARY_API virtual
267  SPI_RET_VAL AbortEndOfDay() = 0;
268 
276  SPILIBRARY_API virtual
277  ExtendedPeriodicStatus GetExtendedPeriodicStatus(CounterType &BlockNumber,std::string &Text) const = 0;
278 
279 
288  SPILIBRARY_API virtual
289  ExtendedPeriodicStatus GetExtendedPeriodicStatus2(CounterType &BlockNumber, std::string &Text, std::string &Retailer) const = 0;
290 
301  SPILIBRARY_API virtual
302  SPI_RET_VAL DoReport(Report* ReportResult) = 0;
303 
310  SPILIBRARY_API virtual
311  SPI_RET_VAL DoEraseDB() = 0;
312 
324  SPILIBRARY_API virtual
325  SPI_RET_VAL DisplayCustomerDisplay(PPIDType DeviceID, vector<string> Messages) = 0;
326 
327 
334  SPILIBRARY_API virtual
335  SPI_RET_VAL ClearPinpadMap() = 0;
336 
344  SPILIBRARY_API virtual
345  SPI_RET_VAL CheckPinpadConnection(PPIDType PinpadID) = 0;
346 
351  SPILIBRARY_API virtual
352  void GetServiceVersion(std::string &Version) const = 0;
353 
358  SPILIBRARY_API virtual
359  string GetSerialID() const = 0;
360 
365  SPILIBRARY_API virtual
366  string GetRetailerID() const = 0;
367 
372  SPILIBRARY_API virtual
373  string GetRetailerName() const = 0;
374 
379  SPILIBRARY_API
380  string GetLastErrorMessage() const;
381 
387  SPILIBRARY_API virtual
388  string GetUIDbyVUID(std::string VUID) const = 0;
389 
394  SPILIBRARY_API
395  boolean IsServiceAvailable() const ;
396 
402  SPILIBRARY_API virtual
403  boolean IsReadyForTransaction() const;
404 
414  SPILIBRARY_API virtual
415  SPI_STATUS GetServiceStatus() = 0;
416 
421  SPILIBRARY_API
422  string GetName() const ;
423 
434  SPILIBRARY_API virtual
435  string GetProperty(ServiceProperty Property) const = 0;
436 
444  SPILIBRARY_API virtual
445  SPI_RET_VAL AddSubRetailer(vector<string> SubRetailers) = 0;
446 
454  SPILIBRARY_API virtual
455  SPI_RET_VAL RemoveSubRetailer(string SubRetailer) = 0;
456 
462  SPILIBRARY_API virtual
463  std::vector<SubRetailer> GetSubRetailers() = 0;
464 
468  Service(string, Config &);
469 
473  virtual ~Service();
474 
478  APIHandle GetServiceHandle() const;
479 
480  protected:
482  };
483 
484  }
485 
486 }
487 
488 #endif
489