Telematics SDK - Interface Specification  v1.36.0
 All Data Structures Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
Telematics_multi_sim

Data Structures

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...
 

Detailed Description


Data Structure Documentation

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 registerListener (std::weak_ptr< IMultiSimListener > listener)=0
 
virtual telux::common::Status deregisterListener (std::weak_ptr< IMultiSimListener > listener)=0
 
virtual ~IMultiSimManager ()
 

Constructor & Destructor Documentation

virtual telux::tel::IMultiSimManager::~IMultiSimManager ( )
virtual

Member Function Documentation

virtual bool telux::tel::IMultiSimManager::isSubsystemReady ( )
pure virtual

Checks the status of Multi SIM subsystem and returns the result.

Returns
If true MultiSimManager is ready.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual std::future<bool> telux::tel::IMultiSimManager::onSubsystemReady ( )
pure virtual

Wait for Multi SIM subsystem to be ready.

Returns
A future that caller can wait on to be notified when Multi SIM subsystem is ready.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::tel::IMultiSimManager::getSlotCount ( int &  count)
pure virtual

Get SIM slot count. The count can be used to determine whether the device supports multi SIM.

Parameters
[out]countSlot count.
Returns
Status of getSlotCount i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::tel::IMultiSimManager::requestHighCapability ( HighCapabilityCallback  callback)
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.

Parameters
[in]callbackCallback function to get the response of request high capability.
Returns
Status of requestHighCapability i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::tel::IMultiSimManager::setHighCapability ( int  slotId,
common::ResponseCallback  callback = nullptr 
)
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.

Parameters
[in]slotIdSlot set with high capablity.
[in]callbackCallback function to get the response of set high capability request.
Returns
Status of setHighCapability i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::tel::IMultiSimManager::registerListener ( std::weak_ptr< IMultiSimListener listener)
pure virtual

Register a listener for specific events in the Multi SIM subsystem.

Parameters
[in]listenerPointer to IMultiSimListener object that processes the notification
Returns
Status of registerListener i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::tel::IMultiSimManager::deregisterListener ( std::weak_ptr< IMultiSimListener listener)
pure virtual

Deregister the previously added listener.

Parameters
[in]listenerPointer to IMultiSimListener object that needs to be deregistered.
Returns
Status of deregisterListener i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
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 ~IMultiSimListener ()
 
- Public Member Functions inherited from telux::common::IServiceStatusListener
virtual void onServiceStatusChange (ServiceStatus status)
 
virtual ~IServiceStatusListener ()
 

Constructor & Destructor Documentation

virtual telux::tel::IMultiSimListener::~IMultiSimListener ( )
virtual

Destructor of IMultiSimListener

Member Function Documentation

virtual void telux::tel::IMultiSimListener::onHighCapabilityChanged ( int  slotId)
virtual

This function is called whenever there is change in high capability for SIM/slot.

Parameters
[in]slotIdSIM corresponding to slot identifier has high capability now.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.