Telematics SDK - API Reference
v1.51.0
|
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.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_MULTISIM_MGMT permission to invoke this API successfully.
[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.
On platforms with Access control enabled, Caller needs to have TELUX_TEL_MULTISIM_MGMT permission to invoke this API successfully.
[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 () |
Public Member Functions inherited from telux::common::IServiceStatusListener | |
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 |