Telematics SDK - Interface Specification  v1.46.10
IMS Settings

Data Structures

struct  telux::tel::ImsServiceConfig
 
class  telux::tel::IImsSettingsManager
 ImsSettingsManager allows IMS settings. For example enabling or disabling IMS service, VOIMS service. More...
 
class  telux::tel::IImsSettingsListener
 Listener class for getting IMS service configuration change notifications. 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::ImsServiceConfigValidity = std::bitset< 32 >
 
using telux::tel::ImsServiceConfigCb = std::function< void(SlotId slotId, ImsServiceConfig config, telux::common::ErrorCode error)>
 

Enumerations

enum  telux::tel::ImsServiceConfigType { telux::tel::IMSSETTINGS_VOIMS = 1, telux::tel::IMSSETTINGS_IMS_SERVICE = 2 }
 

Detailed Description

This section contains APIs related to IMS Configuration.


Data Structure Documentation

struct telux::tel::ImsServiceConfig

Defines the selected IMS service configuration parameters and their corresponding value

Data Fields
ImsServiceConfigValidity configValidityMask

Indicates the configurations type. Bit set to 1 denotes the config is valid.

bool imsServiceEnabled

Enable/Disable IMS service

bool voImsEnabled

Enable/Disable VOIMS service

class telux::tel::IImsSettingsManager

ImsSettingsManager allows IMS settings. For example enabling or disabling IMS service, VOIMS service.

Public Member Functions

virtual telux::common::ServiceStatus getServiceStatus ()=0
 
virtual telux::common::Status requestServiceConfig (SlotId slotId, ImsServiceConfigCb callback)=0
 
virtual telux::common::Status setServiceConfig (SlotId slotId, ImsServiceConfig config, common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status registerListener (std::weak_ptr< IImsSettingsListener > listener)=0
 
virtual telux::common::Status deregisterListener (std::weak_ptr< IImsSettingsListener > listener)=0
 
virtual ~IImsSettingsManager ()
 

Constructor & Destructor Documentation

virtual telux::tel::IImsSettingsManager::~IImsSettingsManager ( )
virtual

Member Function Documentation

virtual telux::common::ServiceStatus telux::tel::IImsSettingsManager::getServiceStatus ( )
pure virtual

This status indicates whether the IImsSettingsManager object is in a usable state.

Returns
SERVICE_AVAILABLE - If IMS settings manager is ready for service. SERVICE_UNAVAILABLE - If IMS settings manager is temporarily unavailable. SERVICE_FAILED - If IMS settings manager encountered an irrecoverable failure.
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::IImsSettingsManager::requestServiceConfig ( SlotId  slotId,
ImsServiceConfigCb  callback 
)
pure virtual

Request the IMS service configurations

Parameters
[in]slotIdSlot for which the IMS service configurations is requested.
[in]callbackCallback function to get the response of request IMS service configurations.
Returns
Status of requestServiceConfig 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::IImsSettingsManager::setServiceConfig ( SlotId  slotId,
ImsServiceConfig  config,
common::ResponseCallback  callback = nullptr 
)
pure virtual

To configure the IMS service configurations. Also specifiy whether configuration needs to be enabled or disabled.

Parameters
[in]slotIdSlot for which the IMS service configuration is intended.
[in]configIndicates which configuration are configured currently and whether the config is enabled or disabled. ImsServiceConfig.
[in]callbackCallback function to get the response of set IMS service configuration request.
Returns
Status of setServiceConfig 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::IImsSettingsManager::registerListener ( std::weak_ptr< IImsSettingsListener listener)
pure virtual

Register a listener for specific events in the IMS settings subsystem.

Parameters
[in]listenerPointer to IImsSettingsListener 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::IImsSettingsManager::deregisterListener ( std::weak_ptr< IImsSettingsListener listener)
pure virtual

Deregister the previously added listener.

Parameters
[in]listenerPointer to IImsSettingsListener 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::IImsSettingsListener

Listener class for getting IMS service configuration change notifications. 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 onImsServiceConfigsChange (SlotId slotId, ImsServiceConfig config)
 
virtual void onServiceStatusChange (telux::common::ServiceStatus status)
 
virtual ~IImsSettingsListener ()
 

Constructor & Destructor Documentation

virtual telux::tel::IImsSettingsListener::~IImsSettingsListener ( )
virtual

Destructor of IImsSettingsListener

Member Function Documentation

virtual void telux::tel::IImsSettingsListener::onImsServiceConfigsChange ( SlotId  slotId,
ImsServiceConfig  config 
)
virtual

This function is called whenever any IMS service configuration is changed.

Parameters
[in]slotIdSIM corresponding to slot identifier for which the IMS service configuration has changed.
[in]configIndicates which configuration is valid and whether the config is enabled or disabled. ImsServiceConfig.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual void telux::tel::IImsSettingsListener::onServiceStatusChange ( telux::common::ServiceStatus  status)
virtual

This function is called when IImsSettingsManager service status changes.

Parameters
[in]status- ServiceStatus
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

Typedef Documentation

using telux::tel::ImsServiceConfigValidity = typedef std::bitset<32>

32 bit mask that denotes which of the IMS settings configuration parameters defined in ImsServiceConfigType enum are configured currently. For example, if the client selects the VOIMS configuration, 1st bit position is set.

using telux::tel::ImsServiceConfigCb = typedef std::function<void(SlotId slotId, ImsServiceConfig config, telux::common::ErrorCode error)>

This function is called in the response to requestServiceConfig API.

The callback can be invoked from multiple different threads. The implementation should be thread safe.

Parameters
[in]slotIdSlot for which the IMS service configuration is intended.
[in]configIndicates which configuration is valid and whether the configuration is enabled or disabled. ImsServiceConfig.
[in]errorReturn code which indicates whether the operation succeeded or not .
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

Enumeration Type Documentation

Defines the IMS service configuration parameters

Enumerator
IMSSETTINGS_VOIMS 

Voice calling support on LTE

IMSSETTINGS_IMS_SERVICE 

IMS Normal Registration configuration