SPI  1.1.28
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 
269 
280  SPILIBRARY_API virtual
281  SPI_RET_VAL DoReport(Report* ReportResult) = 0;
282 
289  SPILIBRARY_API virtual
290  SPI_RET_VAL DoEraseDB() = 0;
291 
303  SPILIBRARY_API virtual
304  SPI_RET_VAL DisplayCustomerDisplay(PPIDType DeviceID, vector<string> Messages) = 0;
305 
306 
313  SPILIBRARY_API virtual
314  SPI_RET_VAL ClearPinpadMap() = 0;
315 
323  SPILIBRARY_API virtual
324  SPI_RET_VAL CheckPinpadConnection(PPIDType PinpadID) = 0;
325 
330  SPILIBRARY_API virtual
331  void GetServiceVersion(std::string &Version) const = 0;
332 
337  SPILIBRARY_API virtual
338  string GetSerialID() const = 0;
339 
344  SPILIBRARY_API virtual
345  string GetRetailerID() const = 0;
346 
351  SPILIBRARY_API virtual
352  string GetRetailerName() const = 0;
353 
358  SPILIBRARY_API
359  string GetLastErrorMessage() const;
360 
366  SPILIBRARY_API virtual
367  string GetUIDbyVUID(std::string VUID) const = 0;
368 
373  SPILIBRARY_API
374  boolean IsServiceAvailable() const ;
375 
381  SPILIBRARY_API
382  boolean IsReadyForTransaction() const;
383 
393  SPILIBRARY_API
394  SPI_STATUS GetServiceStatus() const;
395 
400  SPILIBRARY_API
401  string GetName() const ;
402 
406  Service(string, Config &);
407 
411  virtual ~Service();
412 
416  APIHandle GetServiceHandle() const;
417 
418  protected:
420  };
421 
422  }
423 
424 }
425 
426 #endif
427