Telematics SDK - Interface Specification  v1.26.8
Network Selection

Data Structures

struct  telux::tel::PreferredNetworkInfo
 
struct  telux::tel::OperatorStatus
 
class  telux::tel::INetworkSelectionManager
 Network Selection Manager class provides the interface to get and set network selection mode, preferred network list and scan available networks. More...
 
class  telux::tel::OperatorInfo
 
class  telux::tel::INetworkSelectionListener
 Listener class for getting network selection mode change notification. More...
 

Enumerations

enum  telux::tel::RatType {
  telux::tel::UMTS = 15, telux::tel::LTE = 14, telux::tel::LTE = 3, telux::tel::GSM = 7,
  telux::tel::GSM = 1
}
 
enum  telux::tel::NetworkSelectionMode { telux::tel::NetworkSelectionMode::UNKNOWN = -1, telux::tel::NetworkSelectionMode::AUTOMATIC = 0, telux::tel::NetworkSelectionMode::MANUAL = 1 }
 
enum  telux::tel::InUseStatus { telux::tel::InUseStatus::UNKNOWN, telux::tel::InUseStatus::CURRENT_SERVING, telux::tel::InUseStatus::AVAILABLE }
 
enum  telux::tel::RoamingStatus { telux::tel::RoamingStatus::UNKNOWN, telux::tel::RoamingStatus::HOME, telux::tel::RoamingStatus::ROAM }
 
enum  telux::tel::ForbiddenStatus { telux::tel::ForbiddenStatus::UNKNOWN, telux::tel::ForbiddenStatus::FORBIDDEN, telux::tel::ForbiddenStatus::NOT_FORBIDDEN }
 
enum  telux::tel::PreferredStatus { telux::tel::PreferredStatus::UNKNOWN, telux::tel::PreferredStatus::PREFERRED, telux::tel::PreferredStatus::NOT_PREFERRED }
 

Detailed Description

Network Selection Manager provides the interface to get and set network selection mode (Manual or Automatic), scan available networks and set and get preferred networks list.


Data Structure Documentation

struct telux::tel::PreferredNetworkInfo

Defines the preferred network information

Data Fields
uint16_t mcc

mobile country code

uint16_t mnc

mobile network code

RatMask ratMask

bit mask denotes which of the radio access technologies are set

struct telux::tel::OperatorStatus

Defines status of network operator

Data Fields
InUseStatus inUse

In-use status of network operator

RoamingStatus roaming

Roaming status of network operator

ForbiddenStatus forbidden

Forbidden status of network operator

PreferredStatus preferred

Preferred status of network operator

class telux::tel::INetworkSelectionManager

Network Selection Manager class provides the interface to get and set network selection mode, preferred network list and scan available networks.

Public Member Functions

virtual bool isSubsystemReady ()=0
 
virtual std::future< bool > onSubsystemReady ()=0
 
virtual telux::common::Status requestNetworkSelectionMode (SelectionModeResponseCallback callback)=0
 
virtual telux::common::Status setNetworkSelectionMode (NetworkSelectionMode selectMode, std::string mcc, std::string mnc, common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status requestPreferredNetworks (PreferredNetworksCallback callback)=0
 
virtual telux::common::Status setPreferredNetworks (std::vector< PreferredNetworkInfo > preferredNetworksInfo, bool clearPrevious, common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status performNetworkScan (NetworkScanCallback callback)=0
 
virtual telux::common::Status registerListener (std::weak_ptr< INetworkSelectionListener > listener)=0
 
virtual telux::common::Status deregisterListener (std::weak_ptr< INetworkSelectionListener > listener)=0
 
virtual ~INetworkSelectionManager ()
 

Constructor & Destructor Documentation

virtual telux::tel::INetworkSelectionManager::~INetworkSelectionManager ( )
virtual

Member Function Documentation

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

Checks the status of network subsystem and returns the result.

Returns
True if network subsystem is ready for service otherwise false.
virtual std::future<bool> telux::tel::INetworkSelectionManager::onSubsystemReady ( )
pure virtual

Wait for network subsystem to be ready.

Returns
A future that caller can wait on to be notified when network subsystem is ready.
virtual telux::common::Status telux::tel::INetworkSelectionManager::requestNetworkSelectionMode ( SelectionModeResponseCallback  callback)
pure virtual

Get current network selection mode (i.e Manual or Automatic) asynchronously.

Parameters
[in]callbackCallback function to get the response of get network selection mode request.
Returns
Status of requestNetworkSelectionMode i.e. success or suitable error code.
virtual telux::common::Status telux::tel::INetworkSelectionManager::setNetworkSelectionMode ( NetworkSelectionMode  selectMode,
std::string  mcc,
std::string  mnc,
common::ResponseCallback  callback = nullptr 
)
pure virtual

Set current network selection mode and receive the response asynchronously.

Parameters
[in]selectModeSelection mode for a network i.e. automatic or manual. If selection mode is automatic then MCC and MNC are ignored. If it is manual, client has to explicitly pass MCC and MNC as arguments.
[in]callbackOptional callback function to get the response of set network selection mode request.
[in]mccMobile Country Code (Applicable only for MANUAL selection mode).
[in]mncMobile Network Code (Applicable only for MANUAL selection mode).
Returns
Status of setNetworkSelectionMode i.e. success or suitable error code.
virtual telux::common::Status telux::tel::INetworkSelectionManager::requestPreferredNetworks ( PreferredNetworksCallback  callback)
pure virtual

Get 3GPP preferred network list and static 3GPP preferred network list asynchronously. Higher priority networks appear first in the list. The networks that appear in the 3GPP Preferred Networks list get higher priority than the networks in the static 3GPP preferred networks list.

Parameters
[in]callbackCallback function to get the response of get preferred networks request.
Returns
Status of requestPreferredNetworks i.e. success or suitable error code.
virtual telux::common::Status telux::tel::INetworkSelectionManager::setPreferredNetworks ( std::vector< PreferredNetworkInfo preferredNetworksInfo,
bool  clearPrevious,
common::ResponseCallback  callback = nullptr 
)
pure virtual

Set 3GPP preferred network list and receive the response asynchronously. It overrides the existing preferred network list. The preferred network list affects network selection selection when automatic registration is performed by the device. Higher priority networks should appear first in the list.

Parameters
[in]preferredNetworksInfoList of 3GPP preferred networks.
[in]clearPreviousIf flag is false then new 3GPP preferred network list is appended to existing preferred network list. If flag is true then old list is flushed and new 3GPP preferred network list is added.
[in]callbackCallback function to get the response of set preferred network list request.
Returns
Status of setPreferredNetworks i.e. success or suitable error code.
virtual telux::common::Status telux::tel::INetworkSelectionManager::performNetworkScan ( NetworkScanCallback  callback)
pure virtual

Perform the network scan and returns a list of available networks.

Parameters
[in]callbackCallback function to get the response of perform network scan request
Returns
Status of performNetworkScan i.e. success or suitable error code.
virtual telux::common::Status telux::tel::INetworkSelectionManager::registerListener ( std::weak_ptr< INetworkSelectionListener listener)
pure virtual

Register a listener for specific updates from network access service.

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

Deregister the previously added listener.

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

Operator Info class provides operator name, MCC, MNC and network status.

Public Member Functions

 OperatorInfo (std::string networkName, std::string mcc, std::string mnc, OperatorStatus operatorStatus)
 
std::string getName ()
 
std::string getMcc ()
 
std::string getMnc ()
 
OperatorStatus getStatus ()
 

Constructor & Destructor Documentation

telux::tel::OperatorInfo::OperatorInfo ( std::string  networkName,
std::string  mcc,
std::string  mnc,
OperatorStatus  operatorStatus 
)

Member Function Documentation

std::string telux::tel::OperatorInfo::getName ( )

Get Operator name or description

Returns
Operator name.
std::string telux::tel::OperatorInfo::getMcc ( )

Get mcc from the operator numeric.

Returns
MCC.
std::string telux::tel::OperatorInfo::getMnc ( )

Get mnc from operator numeric.

Returns
MNC.
OperatorStatus telux::tel::OperatorInfo::getStatus ( )

Get status of operator.

Returns
status of the operator OperatorStatus.
class telux::tel::INetworkSelectionListener

Listener class for getting network selection mode change notification.

The methods in listener can be invoked from multiple different threads. Client needs to make sure that implementation is thread-safe.

Public Member Functions

virtual void onSelectionModeChanged (NetworkSelectionMode mode)
 
virtual ~INetworkSelectionListener ()
 

Constructor & Destructor Documentation

virtual telux::tel::INetworkSelectionListener::~INetworkSelectionListener ( )
virtual

Member Function Documentation

virtual void telux::tel::INetworkSelectionListener::onSelectionModeChanged ( NetworkSelectionMode  mode)
virtual

This function is called whenever network selection mode is changed.

Parameters
[in]modeNetwork selection mode NetworkSelectionMode

Enumeration Type Documentation

Defines network RAT type for preferred networks. Each value represents corresponding bit for RatMask bitset.

Enumerator
UMTS 

UMTS

LTE 

LTE

LTE 
GSM 

GSM

GSM 

Defines network selection mode

Enumerator
UNKNOWN 

Unknown

AUTOMATIC 

Device registers according to provisioned mcc and mnc

MANUAL 

Device registers to specified network as per provided mcc and mnc

Defines in-use status of network operator

Enumerator
UNKNOWN 

Unknown

CURRENT_SERVING 

Current serving

AVAILABLE 

Available

Defines roaming status of network operator

Enumerator
UNKNOWN 

Unknown

HOME 

Home

ROAM 

Roaming

Defines forbidden status of network operator

Enumerator
UNKNOWN 

Unknown

FORBIDDEN 

Forbidden

NOT_FORBIDDEN 

Not forbidden

Defines preferred status of network operator

Enumerator
UNKNOWN 

Unknown

PREFERRED 

Preferred

NOT_PREFERRED 

Not preferred