Telematics SDK - Interface Specification
v1.37.0
|
Data Structures | |
struct | telux::rsp::CustomHeader |
class | telux::rsp::IHttpTransactionListener |
The interface listens for indication to perform HTTP request and send back the response for HTTP request to modem. More... | |
class | telux::rsp::IHttpTransactionManager |
IHttpTransactionManager is the interface to service HTTP related requests from the modem, for Sim profile update related operations. More... | |
class | telux::rsp::SimProfile |
SimProfile class represents single eUICC profile on the card. More... | |
class | telux::rsp::SimProfileFactory |
SimProfileFactory is the central factory to create all eUICC manager class instances. More... | |
class | telux::rsp::ISimProfileListener |
The interface listens for profile download indication and keep track of download and install progress of profile. More... | |
class | telux::rsp::ISimProfileManager |
ISimProfileManager is a primary interface for remote eUICCs (eSIMs or embedded SIMs) provisioning.This interface provides APIs to add, delete, set profile on the eUICC. More... | |
Typedefs | |
using | telux::rsp::PolicyRuleMask = std::bitset< 16 > |
This section contains APIs related to Remote SIM provisioning.
struct telux::rsp::CustomHeader |
class telux::rsp::IHttpTransactionListener |
The interface listens for indication to perform HTTP request and send back the response for HTTP request to modem.
The methods in the listener can be invoked from multiple threads. It is client's responsibility to make sure the implementation is thread safe.
Public Member Functions | |
virtual void | onNewHttpRequest (int slotId, const std::string &url, int tokenId, const std::vector< CustomHeader > &headers, const std::string &reqPayload) |
virtual | ~IHttpTransactionListener () |
Public Member Functions inherited from telux::common::IServiceStatusListener | |
virtual void | onServiceStatusChange (ServiceStatus status) |
virtual | ~IServiceStatusListener () |
|
virtual |
Destructor of IHttpTransactionListener
|
virtual |
An application handling this indication should perform the HTTP request and call the IHttpTransactionManager::sendHttpTransactionReq to provide the result of the HTTP transaction.
[in] | slotId | Slot identifier corresponding to the card. |
[in] | url | URL to sent HTTP post request. |
[in] | tokenId | Token identifier. |
[in] | headers | Header information to be sent along with HTTP post request. |
[in] | reqPayload | Request payload. |
class telux::rsp::IHttpTransactionManager |
IHttpTransactionManager is the interface to service HTTP related requests from the modem, for Sim profile update related operations.
Public Member Functions | |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | sendHttpTransactionResult (uint32_t token, HttpResult result, const std::vector< CustomHeader > &headers, const std::vector< uint8_t > &response, common::ResponseCallback callback=nullptr, int slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | registerListener (std::weak_ptr< IHttpTransactionListener > listener)=0 |
virtual telux::common::Status | deregisterListener (std::weak_ptr< IHttpTransactionListener > listener)=0 |
virtual | ~IHttpTransactionManager () |
|
virtual |
Destructor for IHttpTransactionManager
|
pure virtual |
Checks if the eUICC subsystem is ready.
|
pure virtual |
Wait for eUICC subsystem to be ready.
|
pure virtual |
Send the result of HTTP Post request transaction to modem.
[in] | token | Token identifier for request and response pair. |
[in] | result | HTTP transaction request result. |
[in] | headers | Custom Headers in HTTP Response. |
[in] | response | HTTP response payload. |
[in] | callback | Callback function to get the result of send HTTP transaction request. |
[in] | slotId | Slot identifier corresponding to the card. |
|
pure virtual |
Register a listener for specific events like perform HTTP Post request.
[in] | listener | Pointer of IHttpTransactionListener object that processes the notification. |
|
pure virtual |
De-register the listener.
[in] | listener | Pointer of IHttpTransactionListener object that needs to be removed. |
class telux::rsp::SimProfile |
SimProfile class represents single eUICC profile on the card.
Public Member Functions | |
SimProfile (int profileId, const std::string &iccid, bool isActive, const std::string &nickName, const std::string &spn, const std::string &name, IconType iconType, std::vector< uint8_t > icon, ProfileClass profileClass, PolicyRuleMask policyRuleMask) | |
int | getSlotId () |
int | getProfileId () |
const std::string & | getIccid () |
bool | isActive () |
const std::string & | getNickName () |
const std::string & | getSPN () |
const std::string & | getName () |
IconType | getIconType () |
std::vector< uint8_t > | getIcon () |
ProfileClass | getClass () |
PolicyRuleMask | getPolicyRule () |
std::string | toString () |
telux::rsp::SimProfile::SimProfile | ( | int | profileId, |
const std::string & | iccid, | ||
bool | isActive, | ||
const std::string & | nickName, | ||
const std::string & | spn, | ||
const std::string & | name, | ||
IconType | iconType, | ||
std::vector< uint8_t > | icon, | ||
ProfileClass | profileClass, | ||
PolicyRuleMask | policyRuleMask | ||
) |
int telux::rsp::SimProfile::getSlotId | ( | ) |
Get slot id associated for this profile
int telux::rsp::SimProfile::getProfileId | ( | ) |
Get profile identifier.
const std::string& telux::rsp::SimProfile::getIccid | ( | ) |
Get profile ICCID.
bool telux::rsp::SimProfile::isActive | ( | ) |
Indicates the profile state whether active or not.
const std::string& telux::rsp::SimProfile::getNickName | ( | ) |
Get profile nick name.
const std::string& telux::rsp::SimProfile::getSPN | ( | ) |
Get profile service provider name.
const std::string& telux::rsp::SimProfile::getName | ( | ) |
Get profile name.
IconType telux::rsp::SimProfile::getIconType | ( | ) |
Get profile icon type.
std::vector<uint8_t> telux::rsp::SimProfile::getIcon | ( | ) |
Get profile icon content.
ProfileClass telux::rsp::SimProfile::getClass | ( | ) |
Get profile class.
PolicyRuleMask telux::rsp::SimProfile::getPolicyRule | ( | ) |
Get profile policy rules.
std::string telux::rsp::SimProfile::toString | ( | ) |
Get the text related informative representation of this object.
class telux::rsp::SimProfileFactory |
SimProfileFactory is the central factory to create all eUICC manager class instances.
Public Member Functions | |
std::shared_ptr < ISimProfileManager > | getSimProfileManager () |
std::shared_ptr < IHttpTransactionManager > | getHttpTransactionManager () |
Static Public Member Functions | |
static SimProfileFactory & | getInstance () |
|
static |
Get SIM Profile Factory instance.
std::shared_ptr<ISimProfileManager> telux::rsp::SimProfileFactory::getSimProfileManager | ( | ) |
Get SimProfileManager. SimProfileManager is a primary interface for remote eUICC(eSIM) provisioning and local profile assistance.
std::shared_ptr<IHttpTransactionManager> telux::rsp::SimProfileFactory::getHttpTransactionManager | ( | ) |
Get HttpTransactionManager. HttpTransactionManager is a primary interface for sending the response for HTTP post request to modem and listen for indication for HTTP post request to download the profile.
class telux::rsp::ISimProfileListener |
The interface listens for profile download indication and keep track of download and install progress of profile.
The methods in the listener can be invoked from multiple threads. It is client's responsibility to make sure the implementation is thread safe.
Public Member Functions | |
virtual void | onAddProfileUpdate (int slotId, bool userConsentRequired, DownloadStatus status, uint8_t percentage, DownloadErrorCause cause, PolicyRuleMask mask) |
virtual | ~ISimProfileListener () |
Public Member Functions inherited from telux::common::IServiceStatusListener | |
virtual void | onServiceStatusChange (ServiceStatus status) |
virtual | ~IServiceStatusListener () |
|
virtual |
Destructor of ISimProfileListener
|
virtual |
This function is called when indication about status of profile download and installation comes.
[in] | slotId | Slot on which profile get downloaded and installed. |
[in] | userConsentRequired | User consent required or not. |
[in] | status | ProfileDownloadStatus. |
[in] | percentage | Download and installation percentage. |
[in] | cause | ProfileDownloadErrorCause. |
[in] | mask | PprMask (Profile policy rules Mask) |
class telux::rsp::ISimProfileManager |
ISimProfileManager is a primary interface for remote eUICCs (eSIMs or embedded SIMs) provisioning.This interface provides APIs to add, delete, set profile on the eUICC.
Public Member Functions | |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | addProfile (const std::string &activationCode, common::ResponseCallback callback=nullptr, const std::string &confirmationCode="", bool userConsentSupported=false, int slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | deleteProfile (int profileId, common::ResponseCallback callback=nullptr, int slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | setProfile (int profileId, bool enable, common::ResponseCallback callback=nullptr, int slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | updateNickName (int profileId, const std::string &nickName, common::ResponseCallback callback=nullptr, int slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | requestProfileList (ProfileListResponseCb=nullptr, int slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | registerListener (std::weak_ptr< ISimProfileListener > listener)=0 |
virtual telux::common::Status | deregisterListener (std::weak_ptr< ISimProfileListener > listener)=0 |
virtual | ~ISimProfileManager () |
|
virtual |
Destructor for ISimProfileManager
|
pure virtual |
Checks if the eUICC subsystem is ready.
|
pure virtual |
Wait for eUICC subsystem to be ready.
|
pure virtual |
Add new profile to eUICC card and download and install the profile on eUICC.
[in] | activationCode | Activation code. |
[in] | callback | Callback function to get the result of add profile. |
[in] | confirmationCode | Optional confirmation code required for downloading the profile. |
[in] | userConsentSupported | Optional User consent supported or not. |
[in] | slotId | Slot identifier corresponding to the card. |
|
pure virtual |
Delete profile from eUICC card.
[in] | profileId | Profile identifier |
[in] | callback | Callback function to get the result of delete profile. |
[in] | slotId | Slot identifier corresponding to the card. |
|
pure virtual |
Enable or disable profile which allows to switch to other profile on eUICC card.
[in] | profileId | Profile identifier. |
[in] | enable | Indicates whether a profile must be enabled or disabled. true - Enable and false - Disable. |
[in] | callback | Callback function to get the result of set profile. |
[in] | slotId | Slot identifier corresponding to the card. |
|
pure virtual |
Update nick name of the profile
[in] | profileId | Profile identifier |
[in] | nickName | New nick name for profile. |
[in] | callback | Callback function to get the result of update nickname. |
[in] | slotId | Slot identifier corresponding to the card. |
|
pure virtual |
Request list of profiles supported by the eUICC card.
[in] | callback | Callback function to get the result of request profile list. |
[in] | slotId | Slot identifier corresponding to the card. |
|
pure virtual |
Register a listener to listen for status of specific events like download and installation of profile on eUICC.
[in] | listener | Pointer of ISimProfileListener object that processes the notification. |
|
pure virtual |
De-register the listener.
[in] | listener | Pointer of ISimProfileListener object that needs to be removed |
using telux::rsp::PolicyRuleMask = typedef std::bitset<16> |
16 bit mask that denotes which of the profile policy rules(PPR) defined in Policy Rule Type enum are used.
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
Indicates profile download status.
|
strong |
Defines profile policy rules(PPR). Each value represents corresponding bit for PprMask bitset.