SPI  1.2404.0
Secured Payment Interface
SPI.h
Go to the documentation of this file.
1 
13 #ifndef __SPI__H_
14 #define __SPI__H_
15 
16 #include <vector>
17 #include <string>
18 #include <cstring>
19 
20 
21 #include "SPIDEF.h"
22 #include "Config.h"
23 #include "transaction.h"
24 #include "AshraitEMVTransaction.h"
25 #include "NayaxVendTransaction.h"
26 #include "NayaxEngineTransaction.h"
27 #include "CibusTransaction.h"
28 #include "MultipassTransaction.h"
29 #include "Service.h"
30 #include "Device.h"
31 #include "ReadCardData.h"
32 #include "EventData.h"
33 using std::string;
34 using std::vector;
35 
39 namespace Modularity {
43  namespace SPI {
47  class SPI
48  {
49 
50  public:
51 
57  SPILIBRARY_API void Start();
58 
67  SPILIBRARY_API Service* AddService(string ServiceName, ServiceID Id ,Config & ServiceConfig);
68 
76  SPILIBRARY_API SPI_RET_VAL RemoveService(string ServiceName);
77 
86  SPILIBRARY_API Device* AddDevice(string DeviceName, DeviceId Id ,Config & DeviceConfig);
87 
95  SPILIBRARY_API SPI_RET_VAL RemoveDevice(string DeviceName);
96 
102  SPILIBRARY_API Service* GetServiceHandler(string ServiceName);
103 
108  SPILIBRARY_API void GetSPIVersion(string &Version);
109 
115  SPILIBRARY_API void SetLogDirectory(string Directory);
116 
121  SPILIBRARY_API void SetAndroidPackageName(string Name);
122 
129  SPILIBRARY_API void SetLogLevel(SPILogLevel LogLevel);
130 
135  SPILIBRARY_API DcsStatus GetDcsStatus();
136 
137 
145  SPILIBRARY_API SPI_RET_VAL DoDcsActivation(string PhoneNumber, DcsActivationMode ActivationMode);
146 
155  SPILIBRARY_API SPI_RET_VAL DoDcsActivation(string User, string Password, DcsActivationMode ActivationMode);
156 
162  SPILIBRARY_API SPI_RET_VAL SendPowerUpEvent(EventData* Data);
163 
169  SPILIBRARY_API void SetLynxEngineEndpoint(string LynxEndpoint,string EngineEndpoint);
170 
171 
175  SPILIBRARY_API void ClearDcsActivation();
176 
181  SPILIBRARY_API void EnableJNILogger();
182 
183 
184 
192  SPILIBRARY_API void SetHardwareId(string Manufacture, string Model, string Serial, string Signature);
193 
198  SPILIBRARY_API SPI_RET_VAL KeepAlive();
199 
205  SPILIBRARY_API string GetStringDcsProperty(DcsProperty Property);
206 
212  SPILIBRARY_API ResultType GetIntDcsProperty(DcsProperty Property);
213 
217  SPILIBRARY_API SPI();
218 
222  SPILIBRARY_API ~SPI();
223 
228  SPILIBRARY_API string GetFingerprint();
229 
233  APIHandle GetSPIHandle() const;
234 
238  void SetWorkingDirectory(const std::string & Path) const;
239 
243  void SetInstanceId(const std::string Instance) const;
244 
250  SPILIBRARY_API void SetCustomAttribute(string Key, string Value);
251 
252 
253  private:
254  APIHandle SPIHandle;
257  };
258  }
259 }
260 
261 #endif
SPILIBRARY_API SPI()
Default Constructor.
This file conatins all requiered methods to perform on remoted device. Important to notice that all m...
This namespace contains avilible API from Modularity Inc.
SPILIBRARY_API string GetStringDcsProperty(DcsProperty Property)
Get a property from DCS as string.
APIHandle GetSPIHandle() const
Reserved for internal useage.
SPILIBRARY_API SPI_RET_VAL KeepAlive()
Do keep alive to dcs.
This class contains all the methods to Config a Service or a device when attached to a Service...
Definition: Config.h:33
SPILIBRARY_API SPI_RET_VAL SendPowerUpEvent(EventData *Data)
Blocking method to send power up event on activated instances.
SPILIBRARY_API SPI_RET_VAL DoDcsActivation(string PhoneNumber, DcsActivationMode ActivationMode)
Blocking method to start activation of a user with phone number on DCS system. If error achieved use ...
SPILIBRARY_API string GetFingerprint()
Get SPI fingerprint. Reserved for internal usage.
SPILIBRARY_API ResultType GetIntDcsProperty(DcsProperty Property)
Get a property from DCS as string.
SPILIBRARY_API void Start()
Start using the SPI object. This method is mandatory start of version 1.0.0 Befre Start() is called ...
SPILIBRARY_API Device * AddDevice(string DeviceName, DeviceId Id, Config &DeviceConfig)
Defines an active payment service and initilaizes it. Should be called before any operation is made w...
This file conatins all requiered methods to perform on a service. Important to notice that all method...
This file conatins all requiered methods for CCibus Transaction.
This class contains all the input data and output data of SPI.PowerUp(). All data in this class is re...
Definition: EventData.h:29
SPILIBRARY_API void SetLynxEngineEndpoint(string LynxEndpoint, string EngineEndpoint)
Set base endpoint to DCS enviorment.
SPILIBRARY_API void SetCustomAttribute(string Key, string Value)
Reserved for internal useage.
SPILIBRARY_API DcsStatus GetDcsStatus()
Get the DCS status of this machine.
This class contains all the operations that Avilible for a Service. Since this class is abstract...
Definition: Device.h:31
SPILIBRARY_API ~SPI()
Default Destructor.
SPILIBRARY_API void SetAndroidPackageName(string Name)
Set package name that uses SPI in Android based systems.
void SetInstanceId(const std::string Instance) const
Reserved for internal useage.
SPILIBRARY_API void ClearDcsActivation()
Clear DCS Activation Data.
This file conatins all requiered methods for ReadCard operation on Device interface.
SPILIBRARY_API SPI_RET_VAL RemoveService(string ServiceName)
Remove active payment service from the interface.
sint ResultType
Definition: SPIDEF.h:56
This file conatins all requiered methods for Config. A Config instance must be used whenever adding a...
SPILIBRARY_API void SetHardwareId(string Manufacture, string Model, string Serial, string Signature)
Set hardware id - Only for Android API.
This class contains all the operations that Avilible for a Service. Since this class is abstract...
Definition: Service.h:36
This file conatins all requiered methods for Ashrait Transaction.
This file conatins all defenitions which are used in SPI API.
This file conatins all requiered methods for Ashrait Transaction.
SPILIBRARY_API void SetLogDirectory(string Directory)
Set the directory where SPI and it&#39;s services logs will be saved. If not called, default path will be...
SPILIBRARY_API SPI_RET_VAL RemoveDevice(string DeviceName)
Remove active payment service from the interface.
SPILIBRARY_API Service * AddService(string ServiceName, ServiceID Id, Config &ServiceConfig)
Defines an active payment service and initilaizes it. Should be called before any operation is made w...
SPILIBRARY_API void GetSPIVersion(string &Version)
Retrieve SPI version into string.
SPILIBRARY_API Service * GetServiceHandler(string ServiceName)
Retrieves handle of active payment service instance according its name.
void * APIHandle
Definition: SPIDEF.h:41
SPILIBRARY_API void SetLogLevel(SPILogLevel LogLevel)
Set the log level to be saved in log files SPI and service. Default is Info. Must be set before start...
This class contains all the operations of the Payment Interface, Creation and Services management...
Definition: SPI.h:47
void SetWorkingDirectory(const std::string &Path) const
Reserved for internal useage.
SPILIBRARY_API void EnableJNILogger()
Enable JNI internal logger This method is reserved for internal use only.
This file conatins all requiered methods for Ashrait Transaction.
This file conatins all requiered methods for abstract SPI Transaction.
This file conatins all requiered methods for ReadCard operation on Device interface.