Telematics SDK - Interface Specification
v1.46.62
|
Data Structures | |
struct | telux::tel::SlotStatus |
class | telux::tel::IMultiSimManager |
MultiSimManager allows to perform operation pertaining to devices which have more than one SIM/UICC card. Clients should check if the subsystem is ready before invoking any of the APIs as follows. More... | |
class | telux::tel::IMultiSimListener |
Listener class for getting high capability change notification. The listener method can be invoked from multiple different threads. Client needs to make sure that implementation is thread-safe. More... | |
Typedefs | |
using | telux::tel::HighCapabilityCallback = std::function< void(int slotId, telux::common::ErrorCode error)> |
using | telux::tel::SlotStatusCallback = std::function< void(std::map< SlotId, SlotStatus > slotStatus, telux::common::ErrorCode error)> |
Enumerations | |
enum | telux::tel::SlotState { telux::tel::SlotState::UNKNOWN = -1, telux::tel::SlotState::INACTIVE, telux::tel::SlotState::ACTIVE } |
This section contains APIs related to Multi SIM DSDA Configuration.
struct telux::tel::SlotStatus |
class telux::tel::IMultiSimManager |
MultiSimManager allows to perform operation pertaining to devices which have more than one SIM/UICC card. Clients should check if the subsystem is ready before invoking any of the APIs as follows.
bool isReady = MultiSimManager->isSubsystemReady();
Public Member Functions | |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | getSlotCount (int &count)=0 |
virtual telux::common::Status | requestHighCapability (HighCapabilityCallback callback)=0 |
virtual telux::common::Status | setHighCapability (int slotId, common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | switchActiveSlot (SlotId slotId, common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | requestSlotStatus (SlotStatusCallback callback)=0 |
virtual telux::common::Status | registerListener (std::weak_ptr< IMultiSimListener > listener)=0 |
virtual telux::common::Status | deregisterListener (std::weak_ptr< IMultiSimListener > listener)=0 |
virtual | ~IMultiSimManager () |
|
virtual |
|
pure virtual |
Checks the status of Multi SIM subsystem and returns the result.
|
pure virtual |
Wait for Multi SIM subsystem to be ready.
|
pure virtual |
Get SIM slot count. The count can be used to determine whether the device supports multi SIM.
[out] | count | Slot count. |
|
pure virtual |
Request to find out which SIM/slot is allowed to use advance Radio Technology like 5G at a time. For example SIM/slot with high capability may allowed to use RAT capabilities like 5G/4G/3G/2G while the SIM/slot with low capability may be allowed to use RAT capabilities like 4G/2G.
[in] | callback | Callback function to get the response of request high capability. |
|
pure virtual |
Set SIM/slot with high capability asynchronously. On dual SIM devices, only one SIM may be allowed to use advanced Radio technology like 5G at a time. This API sets the SIM/slot that should be allowed the highest RAT capability. The other SIM/slot will be given lower RAT capabilities. For example, SIM in slot1 will be allowed 2G/3G/4G/5G and the SIM in slot2 will be allowed only 2G/4G.
[in] | slotId | Slot set with high capablity. |
[in] | callback | Callback function to get the response of set high capability request. |
|
pure virtual |
Choose the physical SIM slot to be used by modem on Single-SIM TCU platforms. After switching the slot, only the SIM on chosen physical slot can be used for WWAN functionality.
[in] | slotId | physical slot to be made active |
[in] | callback | Callback function to get the response of slot switch request |
|
pure virtual |
Request the status of physical slots.
[in] | callback | Callback function to get the response of slot status request |
|
pure virtual |
Register a listener for specific events in the Multi SIM subsystem.
[in] | listener | Pointer to IMultiSimListener object that processes the notification |
|
pure virtual |
Deregister the previously added listener.
[in] | listener | Pointer to IMultiSimListener object that needs to be deregistered. |
class telux::tel::IMultiSimListener |
Listener class for getting high capability change notification. The listener method can be invoked from multiple different threads. Client needs to make sure that implementation is thread-safe.
Public Member Functions | |
virtual void | onHighCapabilityChanged (int slotId) |
virtual void | onSlotStatusChanged (std::map< SlotId, SlotStatus > slotStatus) |
virtual | ~IMultiSimListener () |
![]() | |
virtual void | onServiceStatusChange (ServiceStatus status) |
virtual | ~IServiceStatusListener () |
|
virtual |
Destructor of IMultiSimListener
|
virtual |
This function is called whenever there is change in high capability for SIM/slot.
[in] | slotId | SIM corresponding to slot identifier has high capability now. |
|
virtual |
This function is called whenever there is change in physical SIM slots status.
[in] | slotStatus | list of slots status SlotStatus |
using telux::tel::HighCapabilityCallback = typedef std::function<void(int slotId, telux::common::ErrorCode error)> |
This function is called in the response to requestHighCapability API.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | slotId | SIM corresponding to slot identifier has high capability. |
[in] | error | Return code which indicates whether the operation succeeded or not ErrorCode |
using telux::tel::SlotStatusCallback = typedef std::function<void(std::map<SlotId, SlotStatus> slotStatus, telux::common::ErrorCode error)> |
This function is called in response to requestSlotStatus API.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | slotStatus | list of slots status SlotStatus |
[in] | error | Return code which indicates whether the operation succeeded or not ErrorCode |
|
strong |