Telematics SDK - Interface Specification
v1.46.62
|
Data Structures | |
struct | telux::tel::CustomHeader |
class | telux::tel::IHttpTransactionListener |
The interface listens for indication to perform HTTP request and send back the response for HTTP request to modem. More... | |
class | telux::tel::IHttpTransactionManager |
IHttpTransactionManager is the interface to service HTTP related requests from the modem for SIM profile update related operations. More... | |
class | telux::tel::SimProfile |
SimProfile class represents single eUICC profile on the card. More... | |
class | telux::tel::ISimProfileListener |
The interface listens for profile download indication and keep track of download and install progress of profile. More... | |
class | telux::tel::ISimProfileManager |
ISimProfileManager is a primary interface for remote eUICCs (eSIMs or embedded SIMs) provisioning.This interface provides APIs to add, delete, set profile, update nickname, provide user consent, get Eid on the eUICC. More... | |
Typedefs | |
using | telux::tel::PolicyRuleMask = std::bitset< 16 > |
using | telux::tel::ResetOptionMask = std::bitset< 64 > |
using | telux::tel::ProfileListResponseCb = std::function< void(const std::vector< std::shared_ptr< SimProfile >> &profiles, telux::common::ErrorCode error)> |
using | telux::tel::EidResponseCb = std::function< void(std::string eid, telux::common::ErrorCode error)> |
using | telux::tel::ServerAddressResponseCb = std::function< void(std::string smdpAddress, std::string smdsAddress, telux::common::ErrorCode error)> |
This section contains APIs related to Remote SIM provisioning.
struct telux::tel::CustomHeader |
class telux::tel::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 (const std::string &url, uint32_t tokenId, const std::vector< CustomHeader > &headers, const std::vector< uint8_t > &reqPayload) |
virtual | ~IHttpTransactionListener () |
![]() | |
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] | 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::tel::IHttpTransactionManager |
IHttpTransactionManager is the interface to service HTTP related requests from the modem for SIM profile update related operations.
Public Member Functions | |
virtual telux::common::ServiceStatus | getServiceStatus ()=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)=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 |
This status indicates whether the IHttpTransactionManager object is in a usable state.
|
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. |
|
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 deregistered. |
class telux::tel::SimProfile |
SimProfile class represents single eUICC profile on the card.
Public Member Functions | |
SimProfile (int profileId, ProfileType profileType, 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 () |
ProfileType | getType () |
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::tel::SimProfile::SimProfile | ( | int | profileId, |
ProfileType | profileType, | ||
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::tel::SimProfile::getSlotId | ( | ) |
Get slot id associated for this profile
int telux::tel::SimProfile::getProfileId | ( | ) |
Get profile identifier. The profile identifier is not persistently unique. It is unique for given snapshot of SIM profiles state. The profile identifier could change when any profile is deleted and added.
ProfileType telux::tel::SimProfile::getType | ( | ) |
Get profile Type.
const std::string& telux::tel::SimProfile::getIccid | ( | ) |
Get profile ICCID.
bool telux::tel::SimProfile::isActive | ( | ) |
Indicates the profile state whether active or not.
const std::string& telux::tel::SimProfile::getNickName | ( | ) |
Get profile nick name.
const std::string& telux::tel::SimProfile::getSPN | ( | ) |
Get profile service provider name.
const std::string& telux::tel::SimProfile::getName | ( | ) |
Get profile name.
IconType telux::tel::SimProfile::getIconType | ( | ) |
Get profile icon type.
std::vector<uint8_t> telux::tel::SimProfile::getIcon | ( | ) |
Get profile icon content.
ProfileClass telux::tel::SimProfile::getClass | ( | ) |
Get profile class.
PolicyRuleMask telux::tel::SimProfile::getPolicyRule | ( | ) |
Get profile policy rules.
std::string telux::tel::SimProfile::toString | ( | ) |
Get the text related informative representation of this object.
class telux::tel::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 | onDownloadStatus (SlotId slotId, DownloadStatus status, DownloadErrorCause cause) |
virtual void | onUserDisplayInfo (SlotId slotId, bool userConsentRequired, PolicyRuleMask mask) |
virtual void | onConfirmationCodeRequired (SlotId slotId, std::string profileName) |
virtual | ~ISimProfileListener () |
![]() | |
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] | status | telux::tel::DownloadStatus. |
[in] | cause | telux::tel::DownloadErrorCause. |
|
virtual |
This function is invoked when information about user consent and profile policy rules is received. The client application is expected to provide user consent for download and install profile by calling telux::tel::ISimProfileManager::provideUserConsent if user consent is expected.
[in] | slotId | Slot on which profile get downloaded and installed. |
[in] | userConsentRequired | User consent required or not. If true it means user is expected to provide consent for download and install. |
[in] | mask | telux::tel::PprMask (Profile policy rules Mask) |
|
virtual |
This function is invoked when confirmation code is required. The client application is expected to provide confirmation code for download and install profile by calling telux::tel::ISimProfileManager::provideConfirmationCode
[in] | slotId | Slot on which profile get downloaded and installed. |
[in] | profileName | Profile name corresponding to which confirmation code is required. |
class telux::tel::ISimProfileManager |
ISimProfileManager is a primary interface for remote eUICCs (eSIMs or embedded SIMs) provisioning.This interface provides APIs to add, delete, set profile, update nickname, provide user consent, get Eid on the eUICC.
Public Member Functions | |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | addProfile (SlotId slotId, const std::string &activationCode, const std::string &confirmationCode="", bool userConsentSupported=false, common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | deleteProfile (SlotId slotId, int profileId, common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | setProfile (SlotId slotId, int profileId, bool enable=false, common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | updateNickName (SlotId slotId, int profileId, const std::string &nickName, common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | requestProfileList (SlotId slotId, ProfileListResponseCb callback)=0 |
virtual telux::common::Status | requestEid (SlotId slotId, EidResponseCb callback)=0 |
virtual telux::common::Status | provideUserConsent (SlotId slotId, bool userConsent, UserConsentReasonType reason, common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | provideConfirmationCode (SlotId slotId, std::string code, common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | requestServerAddress (SlotId slotId, ServerAddressResponseCb callback)=0 |
virtual telux::common::Status | setServerAddress (SlotId slotId, const std::string &smdpAddress, common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | memoryReset (SlotId slotId, ResetOptionMask mask, common::ResponseCallback callback=nullptr)=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] | slotId | Slot identifier corresponding to the card. |
[in] | activationCode | Activation code. |
[in] | confirmationCode | Optional confirmation code required for downloading the profile. |
[in] | userConsentSupported | Optional User consent supported or not. |
[in] | callback | Optional callback function to get the result of add profile. |
|
pure virtual |
Delete profile from eUICC card.
[in] | slotId | Slot identifier corresponding to the card. |
[in] | profileId | Profile identifier |
[in] | callback | Optional callback function to get the result of delete profile. |
|
pure virtual |
Enable or disable profile which allows to switch to other profile on eUICC card.
[in] | slotId | Slot identifier corresponding to the card. |
[in] | profileId | Profile identifier. |
[in] | enable | Indicates whether a profile must be enabled or disabled. true - Enable and false - Disable. |
[in] | callback | Optional callback function to get the result of set profile. |
|
pure virtual |
Update nick name of the profile
[in] | slotId | Slot identifier corresponding to the card. |
[in] | profileId | Profile identifier |
[in] | nickName | New nick name for profile. |
[in] | callback | Optional callback function to get the result of update nickname. |
|
pure virtual |
Request list of profiles supported by the eUICC card.
[in] | slotId | Slot identifier corresponding to the card. |
[in] | callback | Callback function to get the result of request profile list. |
|
pure virtual |
Request eUICC identifier(EID) for the slot.
[in] | slotId | Slot identifier corresponding to the card. |
[in] | callback | Callback function to get the result of request EID. |
|
pure virtual |
Provide user consent required for downloading and installing profile. This API should be called in response to telux::tel::ISimProfileListener::onUserDisplayInfo.
[in] | slotId | Slot identifier corresponding to the card. |
[in] | userConsent | Consent for proļ¬le download and install. True means user consent given to download and install. |
[in] | reason | Reason for not providing user consent to download and install. telux::tel::UserConsentReasonType |
[in] | callback | Optional callback function to get the result of user consent request. |
|
pure virtual |
Provide confirmation code required for downloading and installing profile. This API should be called in response to telux::tel::ISimProfileListener::onConfirmationCodeRequired.
[in] | slotId | Slot identifier corresponding to the card. |
[in] | code | Confirmation code for profile download and install. |
[in] | callback | Optional callback function to get the result of confirmation request. |
|
pure virtual |
Get Subscription Manager Data Preparation (SM-DP+) address and the Subscription Manager Discovery Server (SMDS) address configured on the eUICC.
[in] | slotId | Slot identifier corresponding to the card. |
[in] | callback | Callback function to get the result of server address request. |
|
pure virtual |
Set Subscription Manager Data Preparation (SM-DP+) address on the eUICC. If SMDP+ address length is zero then the existing SM-DP+ address on the eUICC is removed
[in] | slotId | Slot identifier corresponding to the card. |
[in] | smdpAddress | SM-DP+ address to be configured on the eUICC. |
[in] | callback | Optional Callback function to get the result of set SM-DP+ request. |
|
pure virtual |
Resets the memory of the eUICC card based on telux::tel::ResetOptionMask.
[in] | slotId | Slot identifier corresponding to the card. |
[in] | mask | Memory reset options mask telux::tel::ResetOptionMask |
[in] | callback | Optional Callback function to get the result of memory reset request. |
|
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::tel::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.
using telux::tel::ResetOptionMask = typedef std::bitset<64> |
64 bit mask that denotes which of the reset options defined in @ ref ResetOption enum are used.
using telux::tel::ProfileListResponseCb = typedef std::function<void( const std::vector<std::shared_ptr<SimProfile>> &profiles, telux::common::ErrorCode error)> |
This function is called with the response to requestProfileList API.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | info | Profiles information telux::tel::SimProfile. |
[in] | error | Return code which indicates whether the operation succeeded or not. telux::common::ErrorCode. |
using telux::tel::EidResponseCb = typedef std::function<void(std::string eid, telux::common::ErrorCode error)> |
This function is called with the response to requestEid API.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | eid | eUICC identifier. |
[in] | error | Return code which indicates whether the operation succeeded or not. telux::common::ErrorCode. |
using telux::tel::ServerAddressResponseCb = typedef std::function<void(std::string smdpAddress, std::string smdsAddress, telux::common::ErrorCode error)> |
This function is called with the response to requestServerAddress API.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | smdpAddress | Configured SM-DP+ address on the eUICC. |
[in] | smdsAddress | Configured SMDS address on the eUICC. |
[in] | error | Return code which indicates whether the operation succeeded or not. telux::common::ErrorCode. |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
Indicates profile download error cause.
|
strong |
Defines profile policy rules(PPR). Each value represents corresponding bit for PprMask bitset.