SPI  1.1.58
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 
289  SPILIBRARY_API virtual
290  SPI_RET_VAL DoReport(Report* ReportResult) = 0;
291 
298  SPILIBRARY_API virtual
299  SPI_RET_VAL DoEraseDB() = 0;
300 
312  SPILIBRARY_API virtual
313  SPI_RET_VAL DisplayCustomerDisplay(PPIDType DeviceID, vector<string> Messages) = 0;
314 
315 
322  SPILIBRARY_API virtual
323  SPI_RET_VAL ClearPinpadMap() = 0;
324 
332  SPILIBRARY_API virtual
333  SPI_RET_VAL CheckPinpadConnection(PPIDType PinpadID) = 0;
334 
339  SPILIBRARY_API virtual
340  void GetServiceVersion(std::string &Version) const = 0;
341 
346  SPILIBRARY_API virtual
347  string GetSerialID() const = 0;
348 
353  SPILIBRARY_API virtual
354  string GetRetailerID() const = 0;
355 
360  SPILIBRARY_API virtual
361  string GetRetailerName() const = 0;
362 
367  SPILIBRARY_API
368  string GetLastErrorMessage() const;
369 
375  SPILIBRARY_API virtual
376  string GetUIDbyVUID(std::string VUID) const = 0;
377 
382  SPILIBRARY_API
383  boolean IsServiceAvailable() const ;
384 
390  SPILIBRARY_API
391  boolean IsReadyForTransaction() const;
392 
402  SPILIBRARY_API
403  SPI_STATUS GetServiceStatus() const;
404 
409  SPILIBRARY_API
410  string GetName() const ;
411 
422  SPILIBRARY_API virtual
423  string GetProperty(ServiceProperty Property) const = 0;
424 
428  Service(string, Config &);
429 
433  virtual ~Service();
434 
438  APIHandle GetServiceHandle() const;
439 
440  protected:
442  };
443 
444  }
445 
446 }
447 
448 #endif
449