Telematics SDK - API Reference  v1.54.0

Data Structures

struct  telux::tel::ServingSystemInfo
 
struct  telux::tel::RFBandInfo
 
struct  telux::tel::DcStatus
 
struct  telux::tel::NetworkTimeInfo
 
class  telux::tel::IServingSystemManager
 
class  telux::tel::IServingSystemListener
 Listener class for getting radio access technology mode preference change notification. More...
 

Typedefs

using telux::tel::RatPreference = std::bitset< 16 >
 
using telux::tel::RatPreferenceCallback = std::function< void(RatPreference preference, telux::common::ErrorCode error)>
 
using telux::tel::ServiceDomainPreferenceCallback = std::function< void(ServiceDomainPreference preference, telux::common::ErrorCode error)>
 
using telux::tel::NetworkTimeResponseCallback = std::function< void(NetworkTimeInfo info, telux::common::ErrorCode error)>
 Serving System Manager class provides the API to request and set service domain preference and RAT preference. More...
 
using telux::tel::RFBandInfoCallback = std::function< void(RFBandInfo bandInfo, telux::common::ErrorCode error)>
 

Enumerations

enum  telux::tel::ServiceDomainPreference { telux::tel::ServiceDomainPreference::UNKNOWN = -1, telux::tel::ServiceDomainPreference::CS_ONLY, telux::tel::ServiceDomainPreference::PS_ONLY, telux::tel::ServiceDomainPreference::CS_PS }
 
enum  telux::tel::ServiceDomain {
  telux::tel::ServiceDomain::UNKNOWN = -1, telux::tel::ServiceDomain::NO_SRV, telux::tel::ServiceDomain::CS_ONLY, telux::tel::ServiceDomain::PS_ONLY,
  telux::tel::ServiceDomain::CS_PS, telux::tel::ServiceDomain::CAMPED
}
 
enum  telux::tel::RFBand {
  telux::tel::RFBand::INVALID = -1, telux::tel::RFBand::BC_0 = 0, telux::tel::RFBand::BC_1 = 1, telux::tel::RFBand::BC_3 = 3,
  telux::tel::RFBand::BC_4 = 4, telux::tel::RFBand::BC_5 = 5, telux::tel::RFBand::BC_6 = 6, telux::tel::RFBand::BC_7 = 7,
  telux::tel::RFBand::BC_8 = 8, telux::tel::RFBand::BC_9 = 9, telux::tel::RFBand::BC_10 = 10, telux::tel::RFBand::BC_11 = 11,
  telux::tel::RFBand::BC_12 = 12, telux::tel::RFBand::BC_13 = 13, telux::tel::RFBand::BC_14 = 14, telux::tel::RFBand::BC_15 = 15,
  telux::tel::RFBand::BC_16 = 16, telux::tel::RFBand::BC_17 = 17, telux::tel::RFBand::BC_18 = 18, telux::tel::RFBand::BC_19 = 19,
  telux::tel::RFBand::GSM_450 = 40, telux::tel::RFBand::GSM_480 = 41, telux::tel::RFBand::GSM_750 = 42, telux::tel::RFBand::GSM_850 = 43,
  telux::tel::RFBand::GSM_900_EXTENDED = 44, telux::tel::RFBand::GSM_900_PRIMARY = 45, telux::tel::RFBand::GSM_900_RAILWAYS = 46, telux::tel::RFBand::GSM_1800 = 47,
  telux::tel::RFBand::GSM_1900 = 48, telux::tel::RFBand::WCDMA_2100 = 80, telux::tel::RFBand::WCDMA_PCS_1900 = 81, telux::tel::RFBand::WCDMA_DCS_1800 = 82,
  telux::tel::RFBand::WCDMA_1700_US = 83, telux::tel::RFBand::WCDMA_850 = 84, telux::tel::RFBand::WCDMA_800 = 85, telux::tel::RFBand::WCDMA_2600 = 86,
  telux::tel::RFBand::WCDMA_900 = 87, telux::tel::RFBand::WCDMA_1700_JAPAN = 88, telux::tel::RFBand::WCDMA_1500_JAPAN = 90, telux::tel::RFBand::WCDMA_850_JAPAN = 91,
  telux::tel::RFBand::E_UTRA_OPERATING_BAND_1 = 120, telux::tel::RFBand::E_UTRA_OPERATING_BAND_2 = 121, telux::tel::RFBand::E_UTRA_OPERATING_BAND_3 = 122, telux::tel::RFBand::E_UTRA_OPERATING_BAND_4 = 123,
  telux::tel::RFBand::E_UTRA_OPERATING_BAND_5 = 124, telux::tel::RFBand::E_UTRA_OPERATING_BAND_6 = 125, telux::tel::RFBand::E_UTRA_OPERATING_BAND_7 = 126, telux::tel::RFBand::E_UTRA_OPERATING_BAND_8 = 127,
  telux::tel::RFBand::E_UTRA_OPERATING_BAND_9 = 128, telux::tel::RFBand::E_UTRA_OPERATING_BAND_10 = 129, telux::tel::RFBand::E_UTRA_OPERATING_BAND_11 = 130, telux::tel::RFBand::E_UTRA_OPERATING_BAND_12 = 131,
  telux::tel::RFBand::E_UTRA_OPERATING_BAND_13 = 132, telux::tel::RFBand::E_UTRA_OPERATING_BAND_14 = 133, telux::tel::RFBand::E_UTRA_OPERATING_BAND_17 = 134, telux::tel::RFBand::E_UTRA_OPERATING_BAND_33 = 135,
  telux::tel::RFBand::E_UTRA_OPERATING_BAND_34 = 136, telux::tel::RFBand::E_UTRA_OPERATING_BAND_35 = 137, telux::tel::RFBand::E_UTRA_OPERATING_BAND_36 = 138, telux::tel::RFBand::E_UTRA_OPERATING_BAND_37 = 139,
  telux::tel::RFBand::E_UTRA_OPERATING_BAND_38 = 140, telux::tel::RFBand::E_UTRA_OPERATING_BAND_39 = 141, telux::tel::RFBand::E_UTRA_OPERATING_BAND_40 = 142, telux::tel::RFBand::E_UTRA_OPERATING_BAND_18 = 143,
  telux::tel::RFBand::E_UTRA_OPERATING_BAND_19 = 144, telux::tel::RFBand::E_UTRA_OPERATING_BAND_20 = 145, telux::tel::RFBand::E_UTRA_OPERATING_BAND_21 = 146, telux::tel::RFBand::E_UTRA_OPERATING_BAND_24 = 147,
  telux::tel::RFBand::E_UTRA_OPERATING_BAND_25 = 148, telux::tel::RFBand::E_UTRA_OPERATING_BAND_41 = 149, telux::tel::RFBand::E_UTRA_OPERATING_BAND_42 = 150, telux::tel::RFBand::E_UTRA_OPERATING_BAND_43 = 151,
  telux::tel::RFBand::E_UTRA_OPERATING_BAND_23 = 152, telux::tel::RFBand::E_UTRA_OPERATING_BAND_26 = 153, telux::tel::RFBand::E_UTRA_OPERATING_BAND_32 = 154, telux::tel::RFBand::E_UTRA_OPERATING_BAND_125 = 155,
  telux::tel::RFBand::E_UTRA_OPERATING_BAND_126 = 156, telux::tel::RFBand::E_UTRA_OPERATING_BAND_127 = 157, telux::tel::RFBand::E_UTRA_OPERATING_BAND_28 = 158, telux::tel::RFBand::E_UTRA_OPERATING_BAND_29 = 159,
  telux::tel::RFBand::E_UTRA_OPERATING_BAND_30 = 160, telux::tel::RFBand::E_UTRA_OPERATING_BAND_66 = 161, telux::tel::RFBand::E_UTRA_OPERATING_BAND_250 = 162, telux::tel::RFBand::E_UTRA_OPERATING_BAND_46 = 163,
  telux::tel::RFBand::E_UTRA_OPERATING_BAND_27 = 164, telux::tel::RFBand::E_UTRA_OPERATING_BAND_31 = 165, telux::tel::RFBand::E_UTRA_OPERATING_BAND_71 = 166, telux::tel::RFBand::E_UTRA_OPERATING_BAND_47 = 167,
  telux::tel::RFBand::E_UTRA_OPERATING_BAND_48 = 168, telux::tel::RFBand::E_UTRA_OPERATING_BAND_67 = 169, telux::tel::RFBand::E_UTRA_OPERATING_BAND_68 = 170, telux::tel::RFBand::E_UTRA_OPERATING_BAND_49 = 171,
  telux::tel::RFBand::E_UTRA_OPERATING_BAND_85 = 172, telux::tel::RFBand::E_UTRA_OPERATING_BAND_72 = 173, telux::tel::RFBand::E_UTRA_OPERATING_BAND_73 = 174, telux::tel::RFBand::E_UTRA_OPERATING_BAND_86 = 175,
  telux::tel::RFBand::E_UTRA_OPERATING_BAND_53 = 176, telux::tel::RFBand::E_UTRA_OPERATING_BAND_87 = 177, telux::tel::RFBand::E_UTRA_OPERATING_BAND_88 = 178, telux::tel::RFBand::E_UTRA_OPERATING_BAND_70 = 179,
  telux::tel::RFBand::TDSCDMA_BAND_A = 200, telux::tel::RFBand::TDSCDMA_BAND_B = 201, telux::tel::RFBand::TDSCDMA_BAND_C = 202, telux::tel::RFBand::TDSCDMA_BAND_D = 203,
  telux::tel::RFBand::TDSCDMA_BAND_E = 204, telux::tel::RFBand::TDSCDMA_BAND_F = 205, telux::tel::RFBand::NR5G_BAND_1 = 250, telux::tel::RFBand::NR5G_BAND_2 = 251,
  telux::tel::RFBand::NR5G_BAND_3 = 252, telux::tel::RFBand::NR5G_BAND_5 = 253, telux::tel::RFBand::NR5G_BAND_7 = 254, telux::tel::RFBand::NR5G_BAND_8 = 255,
  telux::tel::RFBand::NR5G_BAND_20 = 256, telux::tel::RFBand::NR5G_BAND_28 = 257, telux::tel::RFBand::NR5G_BAND_38 = 258, telux::tel::RFBand::NR5G_BAND_41 = 259,
  telux::tel::RFBand::NR5G_BAND_50 = 260, telux::tel::RFBand::NR5G_BAND_51 = 261, telux::tel::RFBand::NR5G_BAND_66 = 262, telux::tel::RFBand::NR5G_BAND_70 = 263,
  telux::tel::RFBand::NR5G_BAND_71 = 264, telux::tel::RFBand::NR5G_BAND_74 = 265, telux::tel::RFBand::NR5G_BAND_75 = 266, telux::tel::RFBand::NR5G_BAND_76 = 267,
  telux::tel::RFBand::NR5G_BAND_77 = 268, telux::tel::RFBand::NR5G_BAND_78 = 269, telux::tel::RFBand::NR5G_BAND_79 = 270, telux::tel::RFBand::NR5G_BAND_80 = 271,
  telux::tel::RFBand::NR5G_BAND_81 = 272, telux::tel::RFBand::NR5G_BAND_82 = 273, telux::tel::RFBand::NR5G_BAND_83 = 274, telux::tel::RFBand::NR5G_BAND_84 = 275,
  telux::tel::RFBand::NR5G_BAND_85 = 276, telux::tel::RFBand::NR5G_BAND_257 = 277, telux::tel::RFBand::NR5G_BAND_258 = 278, telux::tel::RFBand::NR5G_BAND_259 = 279,
  telux::tel::RFBand::NR5G_BAND_260 = 280, telux::tel::RFBand::NR5G_BAND_261 = 281, telux::tel::RFBand::NR5G_BAND_12 = 282, telux::tel::RFBand::NR5G_BAND_25 = 283,
  telux::tel::RFBand::NR5G_BAND_34 = 284, telux::tel::RFBand::NR5G_BAND_39 = 285, telux::tel::RFBand::NR5G_BAND_40 = 286, telux::tel::RFBand::NR5G_BAND_65 = 287,
  telux::tel::RFBand::NR5G_BAND_86 = 288, telux::tel::RFBand::NR5G_BAND_48 = 289, telux::tel::RFBand::NR5G_BAND_14 = 290, telux::tel::RFBand::NR5G_BAND_13 = 291,
  telux::tel::RFBand::NR5G_BAND_18 = 292, telux::tel::RFBand::NR5G_BAND_26 = 293, telux::tel::RFBand::NR5G_BAND_30 = 294, telux::tel::RFBand::NR5G_BAND_29 = 295,
  telux::tel::RFBand::NR5G_BAND_53 = 296, telux::tel::RFBand::NR5G_BAND_46 = 297, telux::tel::RFBand::NR5G_BAND_91 = 298, telux::tel::RFBand::NR5G_BAND_92 = 299,
  telux::tel::RFBand::NR5G_BAND_93 = 300, telux::tel::RFBand::NR5G_BAND_94 = 301
}
 
enum  telux::tel::RFBandWidth {
  telux::tel::RFBandWidth::INVALID_BANDWIDTH = -1, telux::tel::RFBandWidth::LTE_BW_NRB_6 = 0, telux::tel::RFBandWidth::LTE_BW_NRB_15 = 1, telux::tel::RFBandWidth::LTE_BW_NRB_25 = 2,
  telux::tel::RFBandWidth::LTE_BW_NRB_50 = 3, telux::tel::RFBandWidth::LTE_BW_NRB_75 = 4, telux::tel::RFBandWidth::LTE_BW_NRB_100 = 5, telux::tel::RFBandWidth::NR5G_BW_NRB_5 = 6,
  telux::tel::RFBandWidth::NR5G_BW_NRB_10 = 7, telux::tel::RFBandWidth::NR5G_BW_NRB_15 = 8, telux::tel::RFBandWidth::NR5G_BW_NRB_20 = 9, telux::tel::RFBandWidth::NR5G_BW_NRB_25 = 10,
  telux::tel::RFBandWidth::NR5G_BW_NRB_30 = 11, telux::tel::RFBandWidth::NR5G_BW_NRB_40 = 12, telux::tel::RFBandWidth::NR5G_BW_NRB_50 = 13, telux::tel::RFBandWidth::NR5G_BW_NRB_60 = 14,
  telux::tel::RFBandWidth::NR5G_BW_NRB_80 = 15, telux::tel::RFBandWidth::NR5G_BW_NRB_90 = 16, telux::tel::RFBandWidth::NR5G_BW_NRB_100 = 17, telux::tel::RFBandWidth::NR5G_BW_NRB_200 = 18,
  telux::tel::RFBandWidth::NR5G_BW_NRB_400 = 19, telux::tel::RFBandWidth::GSM_BW_NRB_2 = 20, telux::tel::RFBandWidth::TDSCDMA_BW_NRB_2 = 21, telux::tel::RFBandWidth::WCDMA_BW_NRB_5 = 22,
  telux::tel::RFBandWidth::WCDMA_BW_NRB_10 = 23, telux::tel::RFBandWidth::NR5G_BW_NRB_70 = 24
}
 
enum  telux::tel::RatPrefType {
  telux::tel::PREF_CDMA_1X, telux::tel::PREF_CDMA_EVDO, telux::tel::PREF_GSM, telux::tel::PREF_WCDMA,
  telux::tel::PREF_LTE, telux::tel::PREF_TDSCDMA, telux::tel::PREF_NR5G
}
 
enum  telux::tel::EndcAvailability { telux::tel::EndcAvailability::UNKNOWN = -1, telux::tel::EndcAvailability::AVAILABLE, telux::tel::EndcAvailability::UNAVAILABLE }
 
enum  telux::tel::DcnrRestriction { telux::tel::DcnrRestriction::UNKNOWN = -1, telux::tel::DcnrRestriction::RESTRICTED, telux::tel::DcnrRestriction::UNRESTRICTED }
 

Detailed Description

Serving System Manager class provides the interface to request and set service domain preference and radio access technology mode preference for searching and registering (CS/PS domain, RAT and operation mode)


Data Structure Documentation

struct telux::tel::ServingSystemInfo

Defines current serving system information

Data Fields
RadioTechnology rat

Current serving RAT

ServiceDomain domain

Current service domain registered on system for the serving RAT

struct telux::tel::RFBandInfo

Defines information of RF bands.

Data Fields
RFBand band

Currently active band

uint32_t channel

Currently active channel

RFBandWidth bandWidth

Bandwidth information

struct telux::tel::DcStatus

Defines Dual Connectivity status

Data Fields
EndcAvailability endcAvailability

ENDC availability

DcnrRestriction dcnrRestriction

DCNR restriction

struct telux::tel::NetworkTimeInfo

Defines Network time information

Data Fields
uint16_t year

Year.

uint8_t month

Month. 1 is January and 12 is December.

uint8_t day

Day. Range: 1 to 31.

uint8_t hour

Hour. Range: 0 to 23.

uint8_t minute

Minute. Range: 0 to 59.

uint8_t second

Second. Range: 0 to 59.

uint8_t dayOfWeek

Day of the week. 0 is Monday and 6 is Sunday.

int8_t timeZone

Offset between UTC and local time in units of 15 minutes (signed value). Actual value = field value * 15 minutes.

uint8_t dstAdj

Daylight saving adjustment in hours to obtain local time. Possible values: 0, 1, and 2.

string nitzTime

Network Identity and Time Zone(NITZ) information in the form "yyyy/mm/dd,hh:mm:ss(+/-)tzh:tzm,dt

class telux::tel::IServingSystemManager

Public Member Functions

virtual bool isSubsystemReady ()=0
 
virtual std::future< bool > onSubsystemReady ()=0
 
virtual telux::common::ServiceStatus getServiceStatus ()=0
 
virtual telux::common::Status setRatPreference (RatPreference ratPref, common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status requestRatPreference (RatPreferenceCallback callback)=0
 
virtual telux::common::Status setServiceDomainPreference (ServiceDomainPreference serviceDomain, common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status requestServiceDomainPreference (ServiceDomainPreferenceCallback callback)=0
 
virtual telux::common::Status getSystemInfo (ServingSystemInfo &sysInfo)=0
 
virtual telux::tel::DcStatus getDcStatus ()=0
 
virtual telux::common::Status requestNetworkTime (NetworkTimeResponseCallback callback)=0
 
virtual telux::common::Status requestRFBandInfo (RFBandInfoCallback callback)=0
 
virtual telux::common::Status registerListener (std::weak_ptr< IServingSystemListener > listener)=0
 
virtual telux::common::Status deregisterListener (std::weak_ptr< IServingSystemListener > listener)=0
 
virtual ~IServingSystemManager ()
 

Constructor & Destructor Documentation

virtual telux::tel::IServingSystemManager::~IServingSystemManager ( )
virtual

Destructor of IServingSystemManager

Member Function Documentation

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

Checks the status of serving subsystem and returns the result.

Returns
True if serving subsystem is ready for service otherwise false.
Deprecated
Use IServingSystemManager::getServiceStatus() API.
virtual std::future<bool> telux::tel::IServingSystemManager::onSubsystemReady ( )
pure virtual

Wait for serving subsystem to be ready.

Returns
A future that caller can wait on to be notified when serving subsystem is ready.
Deprecated
Use InitResponseCb in PhoneFactory::getServingSystemManager instead, to get notified about subsystem readiness.
virtual telux::common::ServiceStatus telux::tel::IServingSystemManager::getServiceStatus ( )
pure virtual

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

Returns
SERVICE_AVAILABLE - If Serving System manager is ready for service. SERVICE_UNAVAILABLE - If Serving System manager is temporarily unavailable. SERVICE_FAILED - If Serving System manager encountered an irrecoverable failure.
virtual telux::common::Status telux::tel::IServingSystemManager::setRatPreference ( RatPreference  ratPref,
common::ResponseCallback  callback = nullptr 
)
pure virtual

Set the preferred radio access technology mode that the device should use to acquire service.

On platforms with Access control enabled, Caller needs to have TELUX_TEL_SRV_SYSTEM_CONFIG permission to invoke this API successfully.

Parameters
[in]ratPrefRadio access technology mode preference.
[in]callbackCallback function to get the response of set RAT mode preference.
Returns
Status of setRatPreference i.e. success or suitable error code.
virtual telux::common::Status telux::tel::IServingSystemManager::requestRatPreference ( RatPreferenceCallback  callback)
pure virtual

Request for preferred radio access technology mode.

On platforms with Access control enabled, Caller needs to have TELUX_TEL_SRV_SYSTEM_READ permission to invoke this API successfully.

Parameters
[in]callbackCallback function to get the response of request preferred RAT mode.
Returns
Status of requestRatPreference i.e. success or suitable error code.
virtual telux::common::Status telux::tel::IServingSystemManager::setServiceDomainPreference ( ServiceDomainPreference  serviceDomain,
common::ResponseCallback  callback = nullptr 
)
pure virtual

Initiate service domain preference like CS, PS or CS_PS and receive the response asynchronously.

On platforms with Access control enabled, Caller needs to have TELUX_TEL_SRV_SYSTEM_CONFIG permission to invoke this API successfully.

Parameters
[in]serviceDomainServiceDomainPreference.
[in]callbackCallback function to get the response of set service domain preference request.
Returns
Status of setServiceDomainPreference i.e. success or suitable error code.
virtual telux::common::Status telux::tel::IServingSystemManager::requestServiceDomainPreference ( ServiceDomainPreferenceCallback  callback)
pure virtual

Request for Service Domain Preference asynchronously.

On platforms with Access control enabled, Caller needs to have TELUX_TEL_SRV_SYSTEM_READ permission to invoke this API successfully.

Parameters
[in]callbackCallback function to get the response of request service domain preference.
Returns
Status of requestServiceDomainPreference i.e. success or suitable error code.
virtual telux::common::Status telux::tel::IServingSystemManager::getSystemInfo ( ServingSystemInfo sysInfo)
pure virtual

Get the Serving system information. Supports only 3GPP RATs.

On platforms with Access control enabled, Caller needs to have TELUX_TEL_SRV_SYSTEM_READ permission to invoke this API successfully.

Parameters
[out]sysInfoServing system information ServingSystemInfo
Returns
Status of getServingSystemInfo 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::tel::DcStatus telux::tel::IServingSystemManager::getDcStatus ( )
pure virtual

Request for Dual Connectivity status on 5G NR.

On platforms with Access control enabled, Caller needs to have TELUX_TEL_SRV_SYSTEM_READ permission to invoke this API successfully.

Returns
DcStatus
virtual telux::common::Status telux::tel::IServingSystemManager::requestNetworkTime ( NetworkTimeResponseCallback  callback)
pure virtual

Get network time information asynchronously.

On platforms with Access control enabled, Caller needs to have TELUX_TEL_SRV_SYSTEM_READ permission to invoke this API successfully.

Parameters
[in]callbackCallback function to get the response of get network time information request.
Returns
Status of requestNetworkTime 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::IServingSystemManager::requestRFBandInfo ( RFBandInfoCallback  callback)
pure virtual

Get the information about the band that the device is currently using.

On platforms with Access control enabled, Caller needs to have TELUX_TEL_SRV_SYSTEM_READ permission to invoke this API successfully.

Parameters
[in]callbackCallback function to get the response of get RF band information request.
Returns
Status of requestRFBandInfo 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::IServingSystemManager::registerListener ( std::weak_ptr< IServingSystemListener listener)
pure virtual

Register a listener for specific updates from serving system.

Parameters
[in]listenerPointer of IServingSystemListener object that processes the notification
Returns
Status of registerListener i.e success or suitable status code.
virtual telux::common::Status telux::tel::IServingSystemManager::deregisterListener ( std::weak_ptr< IServingSystemListener listener)
pure virtual

Deregister the previously added listener.

Parameters
[in]listenerPreviously registered IServingSystemListener that needs to be removed
Returns
Status of removeListener i.e. success or suitable status code
class telux::tel::IServingSystemListener

Listener class for getting radio access technology mode preference 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 onRatPreferenceChanged (RatPreference preference)
 
virtual void onServiceDomainPreferenceChanged (ServiceDomainPreference preference)
 
virtual void onSystemInfoChanged (ServingSystemInfo sysInfo)
 
virtual void onDcStatusChanged (DcStatus dcStatus)
 
virtual void onNetworkTimeChanged (NetworkTimeInfo info)
 
virtual void onRFBandInfoChanged (RFBandInfo bandInfo)
 
virtual ~IServingSystemListener ()
 
- Public Member Functions inherited from telux::common::IServiceStatusListener
virtual void onServiceStatusChange (ServiceStatus status)
 
virtual ~IServiceStatusListener ()
 

Constructor & Destructor Documentation

virtual telux::tel::IServingSystemListener::~IServingSystemListener ( )
virtual

Destructor of IServingSystemListener

Member Function Documentation

virtual void telux::tel::IServingSystemListener::onRatPreferenceChanged ( RatPreference  preference)
virtual

This function is called whenever RAT mode preference is changed.

On platforms with Access control enabled, Caller needs to have TELUX_TEL_SRV_SYSTEM_READ permission to receive this notification.

Parameters
[in]preferenceRatPreference
virtual void telux::tel::IServingSystemListener::onServiceDomainPreferenceChanged ( ServiceDomainPreference  preference)
virtual

This function is called whenever service domain preference is changed.

On platforms with Access control enabled, Caller needs to have TELUX_TEL_SRV_SYSTEM_READ permission to receive this notification.

Parameters
[in]preferenceServiceDomainPreference
virtual void telux::tel::IServingSystemListener::onSystemInfoChanged ( ServingSystemInfo  sysInfo)
virtual

This function is called whenever the Serving System information is changed. Supports only 3GPP RATs.

On platforms with Access control enabled, Caller needs to have TELUX_TEL_SRV_SYSTEM_READ permission to receive this notification.

Parameters
[in]sysInfoServingSystemInfo
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::IServingSystemListener::onDcStatusChanged ( DcStatus  dcStatus)
virtual

This function is called whenever the Dual Connnectivity status is changed on 5G NR.

On platforms with Access control enabled, Caller needs to have TELUX_TEL_SRV_SYSTEM_READ permission to receive this notification.

Parameters
[in]dcStatusDcStatus
virtual void telux::tel::IServingSystemListener::onNetworkTimeChanged ( NetworkTimeInfo  info)
virtual

This function is called whenever network time information is changed.

On platforms with Access control enabled, Caller needs to have TELUX_TEL_SRV_SYSTEM_READ permission to receive this notification.

Parameters
[in]infoNetwork time information NetworkTimeInfo
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::IServingSystemListener::onRFBandInfoChanged ( RFBandInfo  bandInfo)
virtual

This function is called whenever the RF band information changes.

On platforms with Access control enabled, Caller needs to have TELUX_TEL_SRV_SYSTEM_READ permission to receive this notification.

Parameters
[in]bandInfoRFBandInfo
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::RatPreference = typedef std::bitset<16>

16 bit mask that denotes which of the radio access technology mode preference defined in RatPrefType enum are used to set or get RAT preference.

using telux::tel::RatPreferenceCallback = typedef std::function<void(RatPreference preference, telux::common::ErrorCode error)>

This function is called with the response to requestRatPreference API.

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

Parameters
[in]preferenceRatPreference
[in]errorReturn code which indicates whether the operation succeeded or not ErrorCode
using telux::tel::ServiceDomainPreferenceCallback = typedef std::function<void(ServiceDomainPreference preference, telux::common::ErrorCode error)>

This function is called with the response to requestServiceDomainPreference API.

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

Parameters
[in]preferenceServiceDomainPreference
[in]errorReturn code which indicates whether the operation succeeded or not ErrorCode
using telux::tel::NetworkTimeResponseCallback = typedef std::function<void(NetworkTimeInfo info, telux::common::ErrorCode error)>

Serving System Manager class provides the API to request and set service domain preference and RAT preference.

This function is called with the response to requestNetworkTime API.

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

Parameters
[in]infoNetworkTimeInfo
[in]errorReturn code which indicates whether the operation succeeded or not ErrorCode
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
using telux::tel::RFBandInfoCallback = typedef std::function<void(RFBandInfo bandInfo, telux::common::ErrorCode error)>

This function is called with the response to requestRFBandInfo API.

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

Parameters
[in]bandInfoRFBandInfo
[in]errorReturn code which indicates whether the operation succeeded or not ErrorCode
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 service domain preference

Enumerator
UNKNOWN 
CS_ONLY 

Circuit-switched only

PS_ONLY 

Packet-switched only

CS_PS 

Circuit-switched and packet-switched

Defines service domain

Enumerator
UNKNOWN 

Unknown, when the information is not available

NO_SRV 

No Service

CS_ONLY 

Circuit-switched only

PS_ONLY 

Packet-switched only

CS_PS 

Circuit-switched and packet-switched

CAMPED 

Device camped on the network according to its provisioning, but not registered

enum telux::tel::RFBand
strong

Defines RF Bands.

Enumerator
INVALID 
BC_0 
BC_1 
BC_3 
BC_4 
BC_5 
BC_6 
BC_7 
BC_8 
BC_9 
BC_10 
BC_11 
BC_12 
BC_13 
BC_14 
BC_15 
BC_16 
BC_17 
BC_18 
BC_19 
GSM_450 
GSM_480 
GSM_750 
GSM_850 
GSM_900_EXTENDED 
GSM_900_PRIMARY 
GSM_900_RAILWAYS 
GSM_1800 
GSM_1900 
WCDMA_2100 
WCDMA_PCS_1900 
WCDMA_DCS_1800 
WCDMA_1700_US 
WCDMA_850 
WCDMA_800 
WCDMA_2600 
WCDMA_900 
WCDMA_1700_JAPAN 
WCDMA_1500_JAPAN 
WCDMA_850_JAPAN 
E_UTRA_OPERATING_BAND_1 
E_UTRA_OPERATING_BAND_2 
E_UTRA_OPERATING_BAND_3 
E_UTRA_OPERATING_BAND_4 
E_UTRA_OPERATING_BAND_5 
E_UTRA_OPERATING_BAND_6 
E_UTRA_OPERATING_BAND_7 
E_UTRA_OPERATING_BAND_8 
E_UTRA_OPERATING_BAND_9 
E_UTRA_OPERATING_BAND_10 
E_UTRA_OPERATING_BAND_11 
E_UTRA_OPERATING_BAND_12 
E_UTRA_OPERATING_BAND_13 
E_UTRA_OPERATING_BAND_14 
E_UTRA_OPERATING_BAND_17 
E_UTRA_OPERATING_BAND_33 
E_UTRA_OPERATING_BAND_34 
E_UTRA_OPERATING_BAND_35 
E_UTRA_OPERATING_BAND_36 
E_UTRA_OPERATING_BAND_37 
E_UTRA_OPERATING_BAND_38 
E_UTRA_OPERATING_BAND_39 
E_UTRA_OPERATING_BAND_40 
E_UTRA_OPERATING_BAND_18 
E_UTRA_OPERATING_BAND_19 
E_UTRA_OPERATING_BAND_20 
E_UTRA_OPERATING_BAND_21 
E_UTRA_OPERATING_BAND_24 
E_UTRA_OPERATING_BAND_25 
E_UTRA_OPERATING_BAND_41 
E_UTRA_OPERATING_BAND_42 
E_UTRA_OPERATING_BAND_43 
E_UTRA_OPERATING_BAND_23 
E_UTRA_OPERATING_BAND_26 
E_UTRA_OPERATING_BAND_32 
E_UTRA_OPERATING_BAND_125 
E_UTRA_OPERATING_BAND_126 
E_UTRA_OPERATING_BAND_127 
E_UTRA_OPERATING_BAND_28 
E_UTRA_OPERATING_BAND_29 
E_UTRA_OPERATING_BAND_30 
E_UTRA_OPERATING_BAND_66 
E_UTRA_OPERATING_BAND_250 
E_UTRA_OPERATING_BAND_46 
E_UTRA_OPERATING_BAND_27 
E_UTRA_OPERATING_BAND_31 
E_UTRA_OPERATING_BAND_71 
E_UTRA_OPERATING_BAND_47 
E_UTRA_OPERATING_BAND_48 
E_UTRA_OPERATING_BAND_67 
E_UTRA_OPERATING_BAND_68 
E_UTRA_OPERATING_BAND_49 
E_UTRA_OPERATING_BAND_85 
E_UTRA_OPERATING_BAND_72 
E_UTRA_OPERATING_BAND_73 
E_UTRA_OPERATING_BAND_86 
E_UTRA_OPERATING_BAND_53 
E_UTRA_OPERATING_BAND_87 
E_UTRA_OPERATING_BAND_88 
E_UTRA_OPERATING_BAND_70 
TDSCDMA_BAND_A 
TDSCDMA_BAND_B 
TDSCDMA_BAND_C 
TDSCDMA_BAND_D 
TDSCDMA_BAND_E 
TDSCDMA_BAND_F 
NR5G_BAND_1 
NR5G_BAND_2 
NR5G_BAND_3 
NR5G_BAND_5 
NR5G_BAND_7 
NR5G_BAND_8 
NR5G_BAND_20 
NR5G_BAND_28 
NR5G_BAND_38 
NR5G_BAND_41 
NR5G_BAND_50 
NR5G_BAND_51 
NR5G_BAND_66 
NR5G_BAND_70 
NR5G_BAND_71 
NR5G_BAND_74 
NR5G_BAND_75 
NR5G_BAND_76 
NR5G_BAND_77 
NR5G_BAND_78 
NR5G_BAND_79 
NR5G_BAND_80 
NR5G_BAND_81 
NR5G_BAND_82 
NR5G_BAND_83 
NR5G_BAND_84 
NR5G_BAND_85 
NR5G_BAND_257 
NR5G_BAND_258 
NR5G_BAND_259 
NR5G_BAND_260 
NR5G_BAND_261 
NR5G_BAND_12 
NR5G_BAND_25 
NR5G_BAND_34 
NR5G_BAND_39 
NR5G_BAND_40 
NR5G_BAND_65 
NR5G_BAND_86 
NR5G_BAND_48 
NR5G_BAND_14 
NR5G_BAND_13 
NR5G_BAND_18 
NR5G_BAND_26 
NR5G_BAND_30 
NR5G_BAND_29 
NR5G_BAND_53 
NR5G_BAND_46 
NR5G_BAND_91 
NR5G_BAND_92 
NR5G_BAND_93 
NR5G_BAND_94 

Defines RF Bandwidth Information.

Enumerator
INVALID_BANDWIDTH 

Invalid Value

LTE_BW_NRB_6 

LTE 1.4

LTE_BW_NRB_15 

LTE 3

LTE_BW_NRB_25 

LTE 5

LTE_BW_NRB_50 

LTE 10

LTE_BW_NRB_75 

LTE 15

LTE_BW_NRB_100 

LTE 20

NR5G_BW_NRB_5 

NR5G 5

NR5G_BW_NRB_10 

NR5G 10

NR5G_BW_NRB_15 

NR5G 15

NR5G_BW_NRB_20 

NR5G 20

NR5G_BW_NRB_25 

NR5G 25

NR5G_BW_NRB_30 

NR5G 30

NR5G_BW_NRB_40 

NR5G 40

NR5G_BW_NRB_50 

NR5G 50

NR5G_BW_NRB_60 

NR5G 60

NR5G_BW_NRB_80 

NR5G 80

NR5G_BW_NRB_90 

NR5G 90

NR5G_BW_NRB_100 

NR5G 100

NR5G_BW_NRB_200 

NR5G 200

NR5G_BW_NRB_400 

NR5G 400

GSM_BW_NRB_2 

GSM 0.2

TDSCDMA_BW_NRB_2 

TDSCDMA 1.6

WCDMA_BW_NRB_5 

WCDMA 5

WCDMA_BW_NRB_10 

WCDMA 10

NR5G_BW_NRB_70 

NR5G 70

Defines the radio access technology mode preference.

Enumerator
PREF_CDMA_1X 

CDMA_1X

PREF_CDMA_EVDO 

CDMA_EVDO

PREF_GSM 

GSM

PREF_WCDMA 

WCDMA

PREF_LTE 

LTE

PREF_TDSCDMA 

TDSCDMA

PREF_NR5G 

NR5G

Defines ENDC(E-UTRAN New Radio-Dual Connectivity) Availability status on 5G NR

Enumerator
UNKNOWN 

Status unknown

AVAILABLE 

ENDC is Available

UNAVAILABLE 

ENDC is not Available

Defines DCNR(Dual Connectivity with NR) Restriction status on 5G NR

Enumerator
UNKNOWN 

Status unknown

RESTRICTED 

DCNR is Rescticted

UNRESTRICTED 

DCNR is not Restricted