Telematics SDK - API Reference
v1.54.0
|
Modules | |
net | |
Data Structures | |
struct | telux::data::IpFamilyInfo |
struct | telux::data::QosFilterRule |
struct | telux::data::TrafficFlowTemplate |
struct | telux::data::TftChangeInfo |
struct | telux::data::BitRateInfo |
class | telux::data::IDataConnectionManager |
IDataConnectionManager is a primary interface for cellular connectivity This interface provides APIs for start and stop data call connections, get data call information and listener for monitoring data calls. It also provides interface to Subsystem Restart events by registering as listener. Notifications will be received when modem is ready/not ready. More... | |
class | telux::data::IDataCall |
Represents single established data call on the device. More... | |
class | telux::data::IDataConnectionListener |
struct | telux::data::DataRestrictMode |
struct | telux::data::PortInfo |
struct | telux::data::ProfileParams |
struct | telux::data::DataCallStats |
struct | telux::data::IpAddrInfo |
struct | telux::data::DataCallEndReason |
struct | telux::data::VlanConfig |
struct | telux::data::FlowDataRate |
struct | telux::data::QosIPFlowInfo |
class | telux::data::DataFactory |
DataFactory is the central factory to create all data classes. More... | |
class | telux::data::IDataFilterListener |
Listener class for listening to filtering mode notifications, like Data filtering mode change. Client need to implement these methods. The methods in listener can be invoked from multiple threads. So the client needs to make sure that the implementation is thread-safe. More... | |
class | telux::data::IDataFilterManager |
IDataFilterManager class provides interface to enable/disable the data restrict filters and register for data restrict filter. The filtering can be done at any time. One such use case is to do it when we want the AP to suspend so that we are not waking up the AP due to spurious incoming messages. Also to make sure the DataRestrict mode is enabled. More... | |
class | telux::data::DataProfile |
DataProfile class represents single data profile on the modem. More... | |
class | telux::data::IDataProfileListener |
Listener class for getting profile change notification. More... | |
class | telux::data::IDataProfileManager |
class | telux::data::IDataCreateProfileCallback |
class | telux::data::IDataProfileListCallback |
Interface for getting list of DataProfile using callback. Client needs to implement this interface to get single shot responses for commands like get profile list and query profile. More... | |
class | telux::data::IDataProfileCallback |
struct | telux::data::BandInterferenceConfig |
class | telux::data::IDataSettingsManager |
Data Settings Manager class provides APIs related to the data subsystem settings. For example, ability to reset current network settings to factory settings, setting backhaul priority, and enabling roaming per PDN. More... | |
class | telux::data::IDataSettingsListener |
struct | telux::data::IPv4Info |
struct | telux::data::IPv6Info |
struct | telux::data::UdpInfo |
struct | telux::data::TcpInfo |
struct | telux::data::IcmpInfo |
struct | telux::data::EspInfo |
class | telux::data::IIpFilter |
A IP filter class to add specific filters like what data will be allowed from the modem to the application processor. Only data packets that match the filter will be sent to the apps processor. Also used to configure Firewall rules. More... | |
class | telux::data::IUdpFilter |
This class represents a IP Filter for the UDP, get the new instance from telux::data::DataFactory. More... | |
class | telux::data::ITcpFilter |
This class represents a IP Filter for the TCP, get the new instance from telux::data::DataFactory. More... | |
class | telux::data::IIcmpFilter |
This class represents a IP Filter for the ICMP, get the new instance from telux::data::DataFactory. More... | |
class | telux::data::IEspFilter |
This class represents a IP Filter for the ESP, get the new instance from telux::data::DataFactory. More... | |
struct | telux::data::RoamingStatus |
Roaming Status. More... | |
struct | telux::data::ServiceStatus |
Data Service Status Info. More... | |
class | telux::data::IServingSystemManager |
Serving System Manager class provides APIs related to the serving system for data functionality. For example, ability to query or be notified about the state of the platform's WWAN PS data serving information. More... | |
class | telux::data::IServingSystemListener |
Listener class for data serving system change notification. More... | |
union | telux::data::DataCallEndReason.__unnamed__ |
Macros | |
#define | PROFILE_ID_MAX 0x7FFFFFFF |
#define | MAX_QOS_FILTERS 16 |
#define | IP_PROT_UNKNOWN 0xFF |
Typedefs | |
using | telux::data::DataCallResponseCb = std::function< void(const std::shared_ptr< IDataCall > &dataCall, telux::common::ErrorCode error)> |
using | telux::data::StatisticsResponseCb = std::function< void(const DataCallStats dataStats, telux::common::ErrorCode error)> |
using | telux::data::DataCallListResponseCb = std::function< void(const std::vector< std::shared_ptr< IDataCall >> &dataCallList, telux::common::ErrorCode error)> |
using | telux::data::DefaultProfileIdResponseCb = std::function< void(int profileId, SlotId slotId, telux::common::ErrorCode error)> |
using | telux::data::TrafficFlowTemplateCb = std::function< void(const std::vector< std::shared_ptr< TrafficFlowTemplate >> &tft, telux::common::ErrorCode error)> |
using | telux::data::requestDataCallBitRateResponseCb = std::function< void(BitRateInfo &bitRate, telux::common::ErrorCode error)> |
using | telux::data::requestRoamingModeResponseCb = std::function< void(bool isRoamingEnabled, int profileId, telux::common::ErrorCode error)> |
using | telux::data::ApnTypes = std::bitset< 16 > |
using | telux::data::IpProtocol = uint8_t |
using | telux::data::QosFlowId = uint32_t |
using | telux::data::QosIPFlowMask = std::bitset< 16 > |
using | telux::data::QosFlowMask = std::bitset< 16 > |
using | telux::data::DataRestrictModeCb = std::function< void(DataRestrictMode mode, telux::common::ErrorCode error)> |
using | telux::data::RequestBackhaulPrefResponseCb = std::function< void(const std::vector< BackhaulType > backhaulPref, telux::common::ErrorCode error)> |
using | telux::data::RequestBandInterferenceConfigResponseCb = std::function< void(bool isEnabled, std::shared_ptr< BandInterferenceConfig > config, telux::common::ErrorCode error)> |
using | telux::data::requestWwanConnectivityConfigResponseCb = std::function< void(SlotId slotId, bool isAllowed, telux::common::ErrorCode error)> |
using | telux::data::TypeOfService = uint8_t |
using | telux::data::TrafficClass = uint8_t |
using | telux::data::FlowLabel = uint32_t |
using | telux::data::RequestServiceStatusResponseCb = std::function< void(ServiceStatus serviceStatus, telux::common::ErrorCode error)> |
using | telux::data::RequestRoamingStatusResponseCb = std::function< void(RoamingStatus roamingStatus, telux::common::ErrorCode error)> |
using | telux::data::RequestNrIconTypeResponseCb = std::function< void(NrIconType type, telux::common::ErrorCode error)> |
This section contains APIs related to Cellular Data Services.
struct telux::data::IpFamilyInfo |
IP Family related Info
Data Fields | ||
---|---|---|
DataCallStatus | status | |
IpAddrInfo | addr |
struct telux::data::QosFilterRule |
struct telux::data::TrafficFlowTemplate |
QOS TFT Flow info
Data Fields | ||
---|---|---|
QosFlowId | qosId |
Mandatory defines current flow id |
QosFlowStateChangeEvent | stateChange |
Flow state change event |
QosFlowMask | mask |
bitmask to denote which of the optional fields in TrafficFlowTemplate are valid |
QosIPFlowInfo | txGrantedFlow |
Optional |
QosIPFlowInfo | rxGrantedFlow | |
uint32_t | txFiltersLength | |
QosFilterRule | txFilters[MAX_QOS_FILTERS] | |
uint32_t | rxFiltersLength | |
QosFilterRule | rxFilters[MAX_QOS_FILTERS] |
struct telux::data::TftChangeInfo |
QOS TFT flow change info
Data Fields | ||
---|---|---|
shared_ptr< TrafficFlowTemplate > | tft |
TFT flow info TrafficFlowTemplate |
QosFlowStateChangeEvent | stateChange |
Flow state change event |
struct telux::data::BitRateInfo |
class telux::data::IDataConnectionManager |
IDataConnectionManager is a primary interface for cellular connectivity This interface provides APIs for start and stop data call connections, get data call information and listener for monitoring data calls. It also provides interface to Subsystem Restart events by registering as listener. Notifications will be received when modem is ready/not ready.
|
virtual |
Destructor for IDataConnectionManager
|
pure virtual |
Returns current initialization status of data connection manager.
|
pure virtual |
Checks if the data subsystem is ready.
|
pure virtual |
Wait for data subsystem to be ready.
|
pure virtual |
Set a profile as default which results in following: Traffic from devices tethered to MDM via default network interfaces such as eth0, ecm0, and mhi0 will be directed to rmnet_data that was brought up with default profile. Traffic initiated within MDM or EAP that is destined for WAN network and is not bound to a WAN interface will be routed by default to WAN network corresponding to the default profile ID
On platforms with Access control enabled, Caller needs to have TELUX_DATA_SETTING permission to invoke this API successfully.
[in] | operationType | telux::data::OperationType |
[in] | profileId | Profile identifier to be set as default |
[in] | callback | optional callback to get the response setDefaultProfile |
|
pure virtual |
Get current default profile
[in] | operationType | telux::data::OperationType |
[in] | callback | callback to get the response getDefaultProfile |
|
pure virtual |
Enable roaming mode for profile id. If disabled, any client attempt to bring up data call on such profile id will be prevented by system when device is in roaming area. System will report NO_NETWORK_FOUND error in such scenario. if enabled, clients can bring up data call made on such profile id and slot id successfully even if device is in roaming area. Configuration changes will be persistant across multiple boots.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_SETTING permission to invoke this API successfully.
[in] | enable | enable/disable roaming mode (True: enable, False:disable). |
[in] | profileId | profile id on which roaming mode to be enabled/disabled. |
[in] | operationType | telux::data::OperationType |
[in] | callback | optional. Callback to get response for enableRoamingMode. |
|
pure virtual |
Request current roaming mode for profile id.
[in] | profileId | profile id on which roaming mode is requested. |
[in] | operationType | telux::data::OperationType |
[in] | callback | callback to get response for requestRoamingMode. |
|
pure virtual |
Starts a data call corresponding to default or specified profile identifier.
This will bring up data call connection based on specified profile identifier, IP family type, and operation type (local/remote). This is an asynchronous API. If telux::common::Status::SUCCESS is returned, client provided callback will be invoked at later time with error code and DataCall object associated with requested call. Clients might receive additional notification for the final data call status. For details see telux::data::DataCallResponseCb.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_CALL_OPS permission to invoke this API successfully.
[in] | profileId | Profile identifier corresponding to which data call bring up will be done. Use IDataProfileManager::requestProfileList to get list of available profiles. |
[in] | ipFamilyType | Identifies IP family type |
[out] | callback | Optional callback to get the response of start data call. |
[in] | operationType | Optional telux::data::OperationType |
[in] | apn | Deprecated and currently unused |
|
pure virtual |
Tear down data call connection based on specified profile identifier, IP family type, and operation type (local/remote). This is an asynchronous API. If telux::common::Status::SUCCESS is returned, client provided callback will be invoked at later time with error code and DataCall object associated with requested call. Clients might receive additional notification for the final data call status. For details see telux::data::DataCallResponseCb.
This will tear down specific data call connection based on profile identifier.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_CALL_OPS permission to invoke this API successfully.
[in] | profileId | Profile identifier corresponding to which data call tear down will be done. Use data profile manager to get the list of available profiles. |
[in] | ipFamilyType | Identifies IP family type |
[out] | callback | Optional callback to get the response of stop data call |
[in] | operationType | Optional telux::data::OperationType |
[in] | apn | Deprecated and currently unused |
|
pure virtual |
Register a listener for specific events in the Connection Manager like establishment of new data call, data call info change and call failure.
[in] | listener | pointer of IDataConnectionListener object that processes the notification |
|
pure virtual |
Removes a previously added listener.
[in] | listener | pointer of IDataConnectionListener object that needs to be removed |
|
pure virtual |
Get associated slot id for the Data Connection Manager.
|
pure virtual |
Request list of data calls available in the system
[out] | operationType | telux::data::OperationType |
[out] | callback | Callback with list of supported data calls |
class telux::data::IDataCall |
Represents single established data call on the device.
Public Member Functions | |
virtual const std::string & | getInterfaceName ()=0 |
virtual DataCallEndReason | getDataCallEndReason ()=0 |
virtual DataCallStatus | getDataCallStatus ()=0 |
virtual IpFamilyInfo | getIpv4Info ()=0 |
virtual IpFamilyInfo | getIpv6Info ()=0 |
virtual TechPreference | getTechPreference ()=0 |
virtual std::list< IpAddrInfo > | getIpAddressInfo ()=0 |
virtual IpFamilyType | getIpFamilyType ()=0 |
virtual int | getProfileId ()=0 |
virtual SlotId | getSlotId ()=0 |
virtual OperationType | getOperationType ()=0 |
virtual telux::common::Status | requestTrafficFlowTemplate (IpFamilyType ipFamilyType, TrafficFlowTemplateCb callback)=0 |
virtual telux::common::Status | requestDataCallStatistics (StatisticsResponseCb callback=nullptr)=0 |
virtual telux::common::Status | resetDataCallStatistics (telux::common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | requestDataCallBitRate (requestDataCallBitRateResponseCb callback)=0 |
virtual | ~IDataCall () |
virtual DataBearerTechnology | getCurrentBearerTech ()=0 |
|
virtual |
Destructor for IDataCall
|
pure virtual |
Get interface name associated with the data call.
|
pure virtual |
Get failure reason for the data call.
|
pure virtual |
Get data call status like connected, disconnected and IP address changes.
|
pure virtual |
Get IPv4 Family info like connected, disconnected and IP address changes.
|
pure virtual |
Get IPv6 Family info like connected, disconnected and IP address changes.
|
pure virtual |
Get the technology on which the call was brought up.
|
pure virtual |
Get list of IP address information.
|
pure virtual |
Get IP Family Type i.e. IPv4, IPv6 or Both
|
pure virtual |
Get Profile Id
|
pure virtual |
Get Slot Id
|
pure virtual |
Get data operation used for the DataCall.
|
pure virtual |
Get the current installed QOS Traffic flow template information.
[in] | ipFamilyType | - IP Family type IpFamilyType. TFT's are installed per IP Family. |
[in] | callback | - callback function to get the result of API. |
|
pure virtual |
Request the data transfer statistics for data call corresponding to specified profile identifier.
[in] | callback | Optional callback to get the response of request Data Call Statistics |
|
pure virtual |
Reset data transfer statistics for data call corresponding to specified profile identifier.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_CALL_PROPS permission to invoke this API successfully.
[in] | callback | optional callback to get the response of reset Data call statistics |
|
pure virtual |
Request data call bit rate in (bits/sec).
[out] | callback | callback to be called with bit rate results requestDataCallBitRateResponseCb |
|
pure virtual |
Get the bearer technology on which earlier data call was brought up like LTE, WCDMA and etc. This is synchronous API called by client to get bearer technology corresponding to data call.
class telux::data::IDataConnectionListener |
Interface for Data connection listener object. Client needs to implement this interface to get access to data services notifications like onNewDataCall, onDataCallStatusChanged and onDataCallFailure.
The methods in listener can be invoked from multiple different threads. The implementation should be thread safe.
The notification delivery mechanism uses the same thread to deliver all the queued notifications to ensure they are delivered in order. Considering this, the thread on which the notifications are delivered should not be blocked for longer operations since this would result in delay in delivery of further notifications that are in the queue waiting to be dispatched.
Public Member Functions | |
virtual void | onDataCallInfoChanged (const std::shared_ptr< IDataCall > &dataCall) |
virtual void | onHwAccelerationChanged (const ServiceState state) |
virtual void | onTrafficFlowTemplateChange (const std::shared_ptr< IDataCall > &dataCall, const std::vector< std::shared_ptr< TftChangeInfo >> &tft) |
virtual void | onWwanConnectivityConfigChange (SlotId slotId, bool isConnectivityAllowed) |
virtual | ~IDataConnectionListener () |
Public Member Functions inherited from telux::common::IServiceStatusListener | |
virtual void | onServiceStatusChange (ServiceStatus status) |
virtual | ~IServiceStatusListener () |
|
virtual |
Destructor for IDataConnectionListener
|
virtual |
This function is called when there is a change in the data call.
[in] | dataCall | Pointer to IDataCall |
|
virtual |
This function is called when a change occur in hardware acceleration service. If reported state is ServiceState::INACTIVE: All existing data calls will take software acceleration path. If reported state is ServiceState::ACTIVE: All new data calls that are started after this API invocation will be H/w accelerated. Data calls that existed before this API was invoked will continue without h/w acceleration. Client could stop and re-start pre-existing data calls in order to use H/w acceleration.
[in] | state | New state of hardware Acceleration service (Active/Inactive) |
|
virtual |
This function is called when the TFT's parameters are changed for a packet data session.
[in] | dataCall | Pointer to IDataCall |
[in] | tft | vector of TftChangeInfo TftChangeInfo |
|
virtual |
This function is called when WWAN backhaul connectivity config changes.
[in] | slotId | - Slot Id for which connectivity has changed. |
[in] | isConnectivityAllowed | - Connectivity status allowed/disallowed. |
struct telux::data::DataRestrictMode |
Defines the supported powersave filtering mode and autoexit for the packet data session. DataRestrictModeType
Data Fields | ||
---|---|---|
DataRestrictModeType | filterMode |
Disable or enable data filter mode. When disabled all the data packets will be forwarded from modem to the apps. When enabled only the data matching the filters will be forwarded from modem to the apps. |
DataRestrictModeType | filterAutoExit |
Disable or enable autoexit feature. When enabled, once an incoming packet matching the filter is received, filter mode will we disable automatically and any packet will be allowed to be forwarded from modem to apps. |
struct telux::data::PortInfo |
struct telux::data::ProfileParams |
Profile Parameters used for profile creation, query and modify
Data Fields | ||
---|---|---|
string | profileName |
Profile Name |
string | apn |
APN name |
string | userName |
APN user name (if any) |
string | password |
APN password (if any) |
TechPreference | techPref |
Technology preference, default is TechPreference::UNKNOWN |
AuthProtocolType | authType |
Authentication protocol type, default is AuthProtocolType::AUTH_NONE |
IpFamilyType | ipFamilyType |
Preferred IP family for the call, default is IpFamilyType::UNKNOWN |
ApnTypes | apnTypes |
APN Types ApnMaskType |
struct telux::data::DataCallStats |
Data transfer statistics structure.
struct telux::data::IpAddrInfo |
struct telux::data::DataCallEndReason |
Structure represents data call failure reason type and code.
Data Fields | ||
---|---|---|
EndReasonType | type |
Data call terminated due to reason type, default is CE_UNKNOWN |
union DataCallEndReason | __unnamed__ |
struct telux::data::VlanConfig |
Structure for vlan configuration
Data Fields | ||
---|---|---|
InterfaceType | iface |
PHY interfaces (i.e. ETH, ECM and RNDIS) |
int16_t | vlanId |
Vlan identifier (i.e 1-4094) |
bool | isAccelerated |
is acceleration allowed |
uint8_t | priority |
Vlan priority - A 3-bit field which refers to the IEEE 802.1p class of service to traffic priority level. Don't care = 0 |
struct telux::data::FlowDataRate |
struct telux::data::QosIPFlowInfo |
QOS Flow IP info
Data Fields | ||
---|---|---|
QosIPFlowMask | mask |
Valid parameters of QosIPFlowInfo QosIPFlowMaskType |
IpTrafficClassType | tfClass |
IP Traffic class type IpTrafficClassType |
FlowDataRate | dataRate |
Flow data rate FlowDataRate |
class telux::data::DataFactory |
DataFactory is the central factory to create all data classes.
|
static |
Get Data Factory instance.
|
pure virtual |
Get Data Connection Manager
[in] | slotId | Unique identifier for the SIM slot |
[in] | clientCallback | Optional callback to get the initialization status of DataConnectionManager telux::common::InitResponseCb |
|
pure virtual |
Get Data Profile Manager
[in] | slotId | Unique identifier for the SIM slot |
[in] | clientCallback | Optional callback to get the initialization status of DataProfileManager telux::common::InitResponseCb |
|
pure virtual |
Get Serving System Manager
[in] | slotId | Unique identifier for the SIM slot |
[in] | clientCallback | Optional callback to get the initialization status of ServingSystemManager telux::common::InitResponseCb |
|
pure virtual |
Get Data Filter Manager instance
[in] | slotId | Unique identifier for the SIM slot |
[in] | clientCallback | Optional callback to get the initialization status of Serving System Manager telux::common::InitResponseCb |
|
pure virtual |
Get Network Address Translation(NAT) Manager
[in] | oprType | Required operation type telux::data::OperationType |
[in] | clientCallback | Optional callback to get the initialization status of NAT manager telux::common::InitResponseCb |
|
pure virtual |
Get Firewall Manager
[in] | oprType | Required operation type telux::data::OperationType |
[in] | clientCallback | Optional callback to get the initialization status of Firewall manager telux::common::InitResponseCb |
|
pure virtual |
Get Firewall entry based on IP protocol and set respective filter (i.e. TCP or UDP)
[in] | proto | telux::data::IpProtocol |
[in] | direction | telux::data::Direction |
[in] | ipFamilyType | Identifies IP family type telux::data::IpFamilyType |
|
pure virtual |
Get IIpFilter instance based on IP Protocol, This can be used in Firewall Manager and Data Filter Manager
[in] | proto | telux::data::IpProtocol Some sample protocol values are ICMP = 1 # Internet Control Message Protocol - RFC 792 IGMP = 2 # Internet Group Management Protocol - RFC 1112 TCP = 6 # Transmission Control Protocol - RFC 793 UDP = 17 # User Datagram Protocol - RFC 768 ESP = 50 # Encapsulating Security Payload - RFC 4303 |
|
pure virtual |
Get VLAN Manager
[in] | oprType | Required operation type telux::data::OperationType |
[in] | clientCallback | Optional callback to get the initialization status of Vlan manager telux::common::InitResponseCb |
|
pure virtual |
Get Socks Manager
[in] | oprType | Required operation type telux::data::OperationType |
[in] | clientCallback | Optional callback to get the initialization status of Socks manager telux::common::InitResponseCb |
|
pure virtual |
Get Software Bridge Manager
[in] | clientCallback | Optional callback to get the initialization status of Bridge manager telux::common::InitResponseCb |
|
pure virtual |
Get L2TP Manager
[in] | clientCallback | Optional callback to get the initialization status of L2TP manager telux::common::InitResponseCb |
|
pure virtual |
Get Data Settings Manager
[in] | oprType | Required operation type telux::data::OperationType |
[in] | clientCallback | Optional callback to get the initialization status of Data Settings manager telux::common::InitResponseCb |
class telux::data::IDataFilterListener |
Listener class for listening to filtering mode notifications, like Data filtering mode change. Client need to implement these methods. The methods in listener can be invoked from multiple threads. So the client needs to make sure that the implementation is thread-safe.
Public Member Functions | |
virtual void | onDataRestrictModeChange (DataRestrictMode mode) |
virtual | ~IDataFilterListener () |
Public Member Functions inherited from telux::common::IServiceStatusListener | |
virtual void | onServiceStatusChange (ServiceStatus status) |
virtual | ~IServiceStatusListener () |
|
virtual |
Destructor of IDataFilterListener
|
virtual |
This function is called when the data filtering mode is changed for the packet data session.
[in] | mode | - state the current data filter mode |
class telux::data::IDataFilterManager |
IDataFilterManager class provides interface to enable/disable the data restrict filters and register for data restrict filter. The filtering can be done at any time. One such use case is to do it when we want the AP to suspend so that we are not waking up the AP due to spurious incoming messages. Also to make sure the DataRestrict mode is enabled.
In contrary to when DataRestrict mode is disabled, modem will forward all the incoming data packets to AP and might wake up AP unnecessarily.
|
virtual |
Destructor of IDataFilterManager
|
pure virtual |
Checks the status of data filter manager and returns the result.
|
pure virtual |
Checks the status of Data Filter Service and if the other APIs are ready for use, and returns the result.
|
pure virtual |
Wait for Data Filter Service to be ready.
|
pure virtual |
Register a listener for powersave filtering mode notifications.
[in] | listener | - Pointer of IDataFilterListener object that processes the notification |
|
pure virtual |
Remove a previously registered listener.
[in] | listener | - Previously registered IDataFilterListener that needs to be removed |
|
pure virtual |
Changes the Data Powersave filter mode and auto exit feature.
This API enables or disables the powersave filtering mode of the running packet data session. If a data connection is torn down and brought up again, then previous filter mode setting does not persist for that data call session, and requires to be enabled again.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_FILTER_OPS permission to invoke this API successfully.
[in] | mode | - Enable or disable the powersave filtering mode. |
[in] | callback | - Optional callback to get the response for the change in filter mode. |
[in] | profileId | - Optional Profile ID for data connection. If user does not specify the profile id, then the API applies to all the currently running data connection. If user wants to apply the changes to any specific data connection, then its profile id can be specified as input. |
[in] | ipFamilyType | - Optional IP Family type IpFamilyType . If user does not specify the ip family type, then the API applies to all the currently running data connection. If user wants to apply the changes to any specific data connection, then its ip family type can be specified as input. |
|
pure virtual |
Get the current Data Powersave filter mode
[in] | ifaceName | - Interface name for data connection. Note: For global pdn , ifaceName must be empty, as global restrict mode is reported. Per-pdn requests are not supported. |
[in] | callback | - callback function to get the result of API. |
|
pure virtual |
This API adds a filter rules for a packet data session to achieve power savings. In case when DataRestrict mode is enabled and AP is in suspended state, Modem will filter all the incoming data packet and route them to AP only if filter rules added via addDataRestrictFilter API matches the criteria, else they are queued at Modem itself and not forwarded to AP, until filter mode is disabled.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_FILTER_OPS permission to invoke this API successfully.
[in] | filter | - Filter rule. |
[in] | callback | - Optional callback to get the response. |
[in] | profileId | - Optional Profile ID for data connection. If user does not specify the profile id, then the API applies to all the currently running data connection. If user wants to apply the changes to any specific data connection, then its profile id can be specified as input. |
[in] | ipFamilyType | - Optional IP Family type IpFamilyType. If user does not specify the ip family type, then the API applies to all the currently running data connection. If user wants to apply the changes to any specific data connection, then its ip family type can be specified as input. |
|
pure virtual |
This API removes all the previous added powersave filter for a packet data session
On platforms with Access control enabled, Caller needs to have TELUX_DATA_FILTER_OPS permission to invoke this API successfully.
[in] | callback | - Optional callback to get the response. |
[in] | profileId | - Optional Profile ID for data connection. If user does not specify the profile id, then the API applies to all the currently running data connection. If user wants to apply the changes to any specific data connection, then its profile id can be specified as input. |
[in] | ipFamilyType | - Optional IP Family type IpFamilyType. If user does not specify the ip family type, then the API applies to all the currently running data connection. If user wants to apply the changes to any specific data connection, then its ip family type can be specified as input. |
|
pure virtual |
Get associated slot id for the Data Filter Manager.
class telux::data::DataProfile |
DataProfile class represents single data profile on the modem.
Public Member Functions | |
DataProfile (int id, const std::string &name, const std::string &apn, const std::string &username, const std::string &password, IpFamilyType ipFamilyType, TechPreference techPref, AuthProtocolType authType, ApnTypes apnTypes) | |
int | getId () |
std::string | getName () |
std::string | getApn () |
std::string | getUserName () |
std::string | getPassword () |
TechPreference | getTechPreference () |
AuthProtocolType | getAuthProtocolType () |
IpFamilyType | getIpFamilyType () |
ApnTypes | getApnTypes () |
std::string | toString () |
Static Public Attributes | |
static constexpr int | PROFILE_ID_INVALID = -1 |
telux::data::DataProfile::DataProfile | ( | int | id, |
const std::string & | name, | ||
const std::string & | apn, | ||
const std::string & | username, | ||
const std::string & | password, | ||
IpFamilyType | ipFamilyType, | ||
TechPreference | techPref, | ||
AuthProtocolType | authType, | ||
ApnTypes | apnTypes | ||
) |
int telux::data::DataProfile::getId | ( | ) |
Get profile identifier.
std::string telux::data::DataProfile::getName | ( | ) |
Get profile name.
std::string telux::data::DataProfile::getApn | ( | ) |
Get Access Point Name (APN) name.
std::string telux::data::DataProfile::getUserName | ( | ) |
Get profile user name.
std::string telux::data::DataProfile::getPassword | ( | ) |
Get profile password.
TechPreference telux::data::DataProfile::getTechPreference | ( | ) |
Get technology preference.
AuthProtocolType telux::data::DataProfile::getAuthProtocolType | ( | ) |
Get authentication preference.
IpFamilyType telux::data::DataProfile::getIpFamilyType | ( | ) |
Get IP Family type.
std::string telux::data::DataProfile::toString | ( | ) |
Get the text related informative representation of this object.
|
static |
class telux::data::IDataProfileListener |
Listener class for getting profile change notification.
The methods in the listener can be invoked from multiple threads. It is client's responsibility to make sure the implementation is thread safe.
Public Member Functions | |
virtual void | onServiceStatusChange (telux::common::ServiceStatus status) |
virtual void | onProfileUpdate (int profileId, TechPreference techPreference, ProfileChangeEvent event) |
virtual | ~IDataProfileListener () |
|
virtual |
Destructor of IDataProfileListener
|
virtual |
This function is called when service status changes.
[in] | status | - ServiceStatus |
|
virtual |
This function is called when profile change happens.
[in] | profileId | - ID of the updated profile. |
[in] | techPreference | - TechPreference. |
[in] | event | - Event that caused the change in profile. |
class telux::data::IDataProfileManager |
IDataProfileManager is a primary interface for profile management.
|
virtual |
Destructor for IDataProfileManager
|
pure virtual |
Checks the status of Data profile manager and returns the result.
|
pure virtual |
Checks if the data profile manager is ready.
|
pure virtual |
Waits for data profile subsystem to be ready.
|
pure virtual |
Request list of profiles supported by the device.
[in,out] | callback | Callback pointer to get the response. |
|
pure virtual |
Create profile based on data profile params.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_PROFILE_OPS permission to invoke this API successfully.
[in] | profileParams | profileParams configuration to be passed for creating profile either for 3GPP or 3GPP2 |
[in,out] | callback | Callback pointer to get the result of create profile |
|
pure virtual |
Delete profile corresponding to profile identifier.
The deletion of a profile does not affect profile index assignments.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_PROFILE_OPS permission to invoke this API successfully.
[in] | profileId | Profile identifier |
[in] | techPreference | Technology Preference like 3GPP / 3GPP2 |
[in] | callback | Callback pointer to get the result of delete profile |
|
pure virtual |
Modify existing profile with new profile params.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_PROFILE_OPS permission to invoke this API successfully.
[in] | profileId | Profile identifier of profile to be modified |
[in] | profileParams | New profileParams configuration passed for updating existing profile |
[in] | callback | Callback pointer to get the result of modify profile |
|
pure virtual |
Lookup modem profile/s based on given profile params.
[in] | profileParams | ProfileParams configuration to be passed |
[in] | callback | Callback pointer to get the result of query profile |
|
pure virtual |
Get data profile corresponding to profile identifier.
[in] | profileId | Profile identifier |
[in] | techPreference | Technology preference |
[in] | callback | Callback pointer to get the result of get profile by ID |
|
pure virtual |
Get associated slot id for the Data Profile Manager.
|
pure virtual |
Listen for create, delete and modify profile events.
[in] | listener | - Listener that processes the notification. |
|
pure virtual |
De-register listener.
[in] | listener | - Listener to be de-registered. |
class telux::data::IDataCreateProfileCallback |
Interface for create profile callback object. Client needs to implement this interface to get single shot responses for command like create profile.
The methods in callback can be invoked from multiple different threads. The implementation should be thread safe.
Public Member Functions | |
virtual void | onResponse (int profileId, telux::common::ErrorCode error) |
Public Member Functions inherited from telux::common::ICommandCallback | |
virtual | ~ICommandCallback () |
|
virtual |
This function is called with the response to IDataProfileManager::createProfile API.
[in] | profileId | created profile Id for the response. Use IDataProfileManager::requestProfile to get the data profile |
[in] | error | telux::common::ErrorCode |
class telux::data::IDataProfileListCallback |
Interface for getting list of DataProfile using callback. Client needs to implement this interface to get single shot responses for commands like get profile list and query profile.
The methods in callback can be invoked from different threads. The implementation should be thread safe.
Public Member Functions | |
virtual void | onProfileListResponse (const std::vector< std::shared_ptr< DataProfile >> &profiles, telux::common::ErrorCode error) |
Public Member Functions inherited from telux::common::ICommandCallback | |
virtual | ~ICommandCallback () |
|
virtual |
This function is called with the response to requestProfileList API or queryProfile API.
[in] | profiles | List of profiles supported by the device |
[in] | error | telux::common::ErrorCode |
class telux::data::IDataProfileCallback |
Interface for getting DataProfile using callback. Client needs to implement this interface to get single shot responses for command like create profile.
The methods in callback can be invoked from multiple different threads. The implementation should be thread safe.
Public Member Functions | |
virtual void | onResponse (const std::shared_ptr< DataProfile > &profile, telux::common::ErrorCode error) |
Public Member Functions inherited from telux::common::ICommandCallback | |
virtual | ~ICommandCallback () |
|
virtual |
This function is called with the response to IDataProfileManager::requestProfile API.
[in] | profile | Response of data profile |
[in] | error | telux::common::ErrorCode |
struct telux::data::BandInterferenceConfig |
N79 5G/Wlan 5GHz interference avoidance configuration
Data Fields | ||
---|---|---|
BandPriority | priority | |
uint32_t | wlanWaitTimeInSec |
Priority settings for N79/Wlan 5G |
uint32_t | n79WaitTimeInSec |
If Wlan 5GHz has higher priority and suffers signal drop, modem will wait for period of time specified here for Wlan signal to recover before enabeling N79 5G. |
class telux::data::IDataSettingsManager |
Data Settings Manager class provides APIs related to the data subsystem settings. For example, ability to reset current network settings to factory settings, setting backhaul priority, and enabling roaming per PDN.
|
pure virtual |
Checks the status of Data Settings manager object and returns the result.
|
pure virtual |
Resets current network settings to initial setting configured in factory. Factory settings are the initial network settings generated during manufacturing process. After successful reset, device will reboot with factory network settings.
[in] | operationType | telux::data::OperationType |
[in] | callback | callback to get the response to restoreFactorySettings |
|
pure virtual |
Set backhaul preference for bridge0 (default bridge) traffic. Bridge0 Traffic routing to backhaul will be attempted on first to least preferred. For instance if backhaul vector contains ETH, USB, and WWAN, bridge0 traffic routing will be attempted on ETH first, then USB and finally WWAN backhaul. Configuration changes will be persistent across reboots.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_SETTING permission to invoke this API successfully.
[in] | backhaulPref | vector of telux::data::BackhaulType which contains the order of backhaul preference to be used when connecting to external network. First element is most preferred and last element is least preferred backhaul. |
[in] | callback | callback to get response for setBackhaulPreference. |
|
pure virtual |
Request current backhaul preference for bridge0 (default bridge) traffic.
[in] | callback | callback to get response for requestBackhaulPreference. |
|
pure virtual |
Configure N79 5G and Wlan 5GHz band priority. Sets priority for modem to use either 5GHz Wlan or N79 5G band when they are both available to avoid interference. In case N79 5G is configured as higher priority: If N79 5G becomes available while 5G Wlan is enabled, Wlan (AP/Sta) will be moved to 2.4 GHz. If N79 5G becomes unavailable for telux::data::BandInterferenceConfig::n79WaitTimeInSec time period, Wlan will be moved to 5GHz. In case Wlan 5GHz is configured as higher priority: If Wlan 5GHz (AP/Sta) becomes available while N79 5G is enabled, N79 5G will be disabled. If Wlan 5GHz becomes unavailable for telux::data::BandInterferenceConfig::wlanWaitTimeInSec period and N79 5G is available, N79 will be enabled.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_SETTING permission to invoke this API successfully.
[in] | enable | True: enable interference management. False: disable interference management |
[in] | config | N79 5G /Wlan 5GHz band interference configuration telux::data::BandInterferenceConfig |
[in] | callback | callback to get response for setBandInterferenceConfig. |
|
pure virtual |
Request N79 5G and Wlan 5GHz band priority settings. Request the configurations set by telux::data::setBandInterferenceConfig
[in] | callback | callback to get response for requestBandInterferenceConfig. |
|
pure virtual |
Allow/Disallow WWAN connectivity. Controls whether system should allow/disallow WWAN connectivity to cellular network. Default setting is allow WWAN connectivity to cellular network.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_SETTING permission to invoke this API successfully.
[in] | slotId | Slot id on which WWAN connectivity to be allowed/disallowed |
[in] | allow | True: allow connectivity, False: disallow connectivity |
[in] | callback | optional callback to get response for setWwanConnectivityConfig. |
|
pure virtual |
Request current WWAN connectivity Configuration.
[in] | slotId | Slot id for which WWAN connectivity to be reported. |
[in] | callback | callback to get response for requestWwanConnectivityConfig. |
|
pure virtual |
Register Data Settings Manager as listener for Data Service heath events like data service available or data service not available.
[in] | listener | pointer of IDataSettingsListener object that processes the notification |
|
pure virtual |
Removes a previously added listener.
[in] | listener | pointer of IDataSettingsListener object that needs to be removed |
class telux::data::IDataSettingsListener |
Interface for Data Settings listener object. Client needs to implement this interface to get access to Data Settings services notifications like onServiceStatusChange.
The methods in listener can be invoked from multiple different threads. The implementation should be thread safe.
Public Member Functions | |
virtual void | onServiceStatusChange (telux::common::ServiceStatus status) |
virtual void | onWwanConnectivityConfigChange (SlotId slotId, bool isConnectivityAllowed) |
virtual | ~IDataSettingsListener () |
|
virtual |
Destructor for IDataSettingsListener
|
virtual |
This function is called when service status changes.
[in] | status | - ServiceStatus |
|
virtual |
This function is called when WWAN backhaul connectivity config changes.
[in] | slotId | - Slot Id for which connectivity has changed. |
[in] | isConnectivityAllowed | - Connectivity status allowed/disallowed. |
struct telux::data::IPv4Info |
IPv4 header info
Data Fields | ||
---|---|---|
string | srcAddr |
address of the device that sends the packet. |
string | srcSubnetMask | |
string | destAddr |
address of receiving end |
string | destSubnetMask | |
TypeOfService | value |
level of throughput, reliability, and delay |
TypeOfService | mask | |
IpProtocol | nextProtoId |
Protocol ID (i.e TCP, UDP or ICMP ) |
struct telux::data::IPv6Info |
IPv6 header info
Data Fields | ||
---|---|---|
string | srcAddr |
address of the device that sends the packet. |
uint8_t | srcPrefixLen |
source prefix length used to create subnet |
string | destAddr |
address of receiving end |
uint8_t | dstPrefixLen |
destination prefix length used to create subnet |
IpProtocol | nextProtoId |
Protocol ID (i.e TCP, UDP or ICMP ) |
TrafficClass | val |
indicates the class or priority of the IPv6 packet, enables the ability to track specific traffic flows at the network layer. |
TrafficClass | mask | |
FlowLabel | flowLabel |
Indicates that this packet belongs to a specific sequence of packets between a source and destination, requiring special handling by intermediate IPv6 routers. |
uint8_t | natEnabled |
struct telux::data::UdpInfo |
struct telux::data::TcpInfo |
struct telux::data::IcmpInfo |
struct telux::data::EspInfo |
class telux::data::IIpFilter |
A IP filter class to add specific filters like what data will be allowed from the modem to the application processor. Only data packets that match the filter will be sent to the apps processor. Also used to configure Firewall rules.
Public Member Functions | |
virtual IPv4Info | getIPv4Info ()=0 |
virtual telux::common::Status | setIPv4Info (const IPv4Info &ipv4Info)=0 |
virtual IPv6Info | getIPv6Info ()=0 |
virtual telux::common::Status | setIPv6Info (const IPv6Info &ipv6Info)=0 |
virtual IpProtocol | getIpProtocol ()=0 |
virtual IpFamilyType | getIpFamily ()=0 |
virtual | ~IIpFilter () |
|
virtual |
Destructor for IIpFilter
|
pure virtual |
Get the IPv4 header info
|
pure virtual |
sets the IPv4 header info
[in] | ipv4Info | IPv4 structure telux::data::IPv4Info |
|
pure virtual |
Get the IPv6 header info
|
pure virtual |
sets the IPv6 header info
[in] | ipv6Info | IPv6 structure telux::data::IPv6Info |
|
pure virtual |
Get the IpProtocol Number
|
pure virtual |
Get the IP family type
class telux::data::IUdpFilter |
This class represents a IP Filter for the UDP, get the new instance from telux::data::DataFactory.
Public Member Functions | |
virtual UdpInfo | getUdpInfo ()=0 |
virtual telux::common::Status | setUdpInfo (const UdpInfo &udpInfo)=0 |
virtual | ~IUdpFilter () |
Public Member Functions inherited from telux::data::IIpFilter | |
virtual IPv4Info | getIPv4Info ()=0 |
virtual telux::common::Status | setIPv4Info (const IPv4Info &ipv4Info)=0 |
virtual IPv6Info | getIPv6Info ()=0 |
virtual telux::common::Status | setIPv6Info (const IPv6Info &ipv6Info)=0 |
virtual IpProtocol | getIpProtocol ()=0 |
virtual IpFamilyType | getIpFamily ()=0 |
virtual | ~IIpFilter () |
|
virtual |
Destructor for IUdpFilter
|
pure virtual |
Get the UDP header info
|
pure virtual |
sets the UDP header info
[in] | udpInfo | UdpInfo structure telux::data::UdpInfo |
class telux::data::ITcpFilter |
This class represents a IP Filter for the TCP, get the new instance from telux::data::DataFactory.
Public Member Functions | |
virtual TcpInfo | getTcpInfo ()=0 |
virtual telux::common::Status | setTcpInfo (const TcpInfo &tcpInfo)=0 |
virtual | ~ITcpFilter () |
Public Member Functions inherited from telux::data::IIpFilter | |
virtual IPv4Info | getIPv4Info ()=0 |
virtual telux::common::Status | setIPv4Info (const IPv4Info &ipv4Info)=0 |
virtual IPv6Info | getIPv6Info ()=0 |
virtual telux::common::Status | setIPv6Info (const IPv6Info &ipv6Info)=0 |
virtual IpProtocol | getIpProtocol ()=0 |
virtual IpFamilyType | getIpFamily ()=0 |
virtual | ~IIpFilter () |
|
virtual |
Destructor for ITcpFilter
|
pure virtual |
Get the TCP header info
|
pure virtual |
sets the TCP header info
[in] | tcpInfo | TcpInfo structure telux::data::TcpInfo |
class telux::data::IIcmpFilter |
This class represents a IP Filter for the ICMP, get the new instance from telux::data::DataFactory.
Public Member Functions | |
virtual IcmpInfo | getIcmpInfo ()=0 |
virtual telux::common::Status | setIcmpInfo (const IcmpInfo &icmpInfo)=0 |
virtual | ~IIcmpFilter () |
Public Member Functions inherited from telux::data::IIpFilter | |
virtual IPv4Info | getIPv4Info ()=0 |
virtual telux::common::Status | setIPv4Info (const IPv4Info &ipv4Info)=0 |
virtual IPv6Info | getIPv6Info ()=0 |
virtual telux::common::Status | setIPv6Info (const IPv6Info &ipv6Info)=0 |
virtual IpProtocol | getIpProtocol ()=0 |
virtual IpFamilyType | getIpFamily ()=0 |
virtual | ~IIpFilter () |
|
virtual |
Destructor for IIcmpFilter
|
pure virtual |
Get the ICMP header info
|
pure virtual |
sets the ICMP header info
[in] | icmpInfo | TcpInfo structure telux::data::IcmpInfo |
class telux::data::IEspFilter |
This class represents a IP Filter for the ESP, get the new instance from telux::data::DataFactory.
Public Member Functions | |
virtual EspInfo | getEspInfo ()=0 |
virtual telux::common::Status | setEspInfo (const EspInfo &espInfo)=0 |
virtual | ~IEspFilter () |
Public Member Functions inherited from telux::data::IIpFilter | |
virtual IPv4Info | getIPv4Info ()=0 |
virtual telux::common::Status | setIPv4Info (const IPv4Info &ipv4Info)=0 |
virtual IPv6Info | getIPv6Info ()=0 |
virtual telux::common::Status | setIPv6Info (const IPv6Info &ipv6Info)=0 |
virtual IpProtocol | getIpProtocol ()=0 |
virtual IpFamilyType | getIpFamily ()=0 |
virtual | ~IIpFilter () |
|
virtual |
Destructor for IEspFilter
|
pure virtual |
Get the ESP header info
|
pure virtual |
sets the ICMP header info
[in] | espInfo | EspInfo structure telux::data::EspInfo |
struct telux::data::RoamingStatus |
Roaming Status.
Data Fields | ||
---|---|---|
bool | isRoaming |
True: Roaming on, False: Roaming off |
RoamingType | type |
International/Domestic. Valid only if roaming is on |
struct telux::data::ServiceStatus |
Data Service Status Info.
Data Fields | ||
---|---|---|
DataServiceState | serviceState | |
NetworkRat | networkRat |
class telux::data::IServingSystemManager |
Serving System Manager class provides APIs related to the serving system for data functionality. For example, ability to query or be notified about the state of the platform's WWAN PS data serving information.
Public Member Functions | |
virtual telux::common::ServiceStatus | getServiceStatus ()=0 |
virtual DrbStatus | getDrbStatus ()=0 |
virtual telux::common::Status | requestServiceStatus (RequestServiceStatusResponseCb callback)=0 |
virtual telux::common::Status | requestRoamingStatus (RequestRoamingStatusResponseCb callback)=0 |
virtual telux::common::Status | requestNrIconType (RequestNrIconTypeResponseCb 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 SlotId | getSlotId ()=0 |
virtual | ~IServingSystemManager () |
|
virtual |
Destructor of IServingSystemManager
|
pure virtual |
Checks the status of serving manager object and returns the result.
|
pure virtual |
Get the dedicated radio bearer (DRB) status
|
pure virtual |
Queries the current serving network status
[in] | callback | callback to get response for requestServiceStatus |
|
pure virtual |
Queries the current roaming status
[in] | callback | callback to get response for requestRoamingStatus |
|
pure virtual |
Queries the NR icon type to be displayed based on the serving system that the device has acquired service on.
[in] | callback | callback to get response for requestNrIconType |
|
pure virtual |
Register a listener for specific updates from serving system.
[in] | listener | Pointer of IServingSystemListener object that processes the notification |
|
pure virtual |
Deregister the previously added listener.
[in] | listener | Previously registered IServingSystemListener that needs to be removed |
|
pure virtual |
Get associated slot id for the Serving System Manager.
class telux::data::IServingSystemListener |
Listener class for data serving system 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 | onServiceStatusChange (telux::common::ServiceStatus status) |
virtual void | onDrbStatusChanged (DrbStatus status) |
virtual void | onServiceStateChanged (ServiceStatus status) |
virtual void | onRoamingStatusChanged (RoamingStatus status) |
virtual void | onNrIconTypeChanged (NrIconType type) |
virtual | ~IServingSystemListener () |
|
virtual |
Destructor of IServingSystemListener
|
virtual |
This function is called when service status changes.
[in] | status | - ServiceStatus |
|
virtual |
This function is called whenever Drb status is changed.
[in] | status | DrbStatus |
|
virtual |
This function is called whenever service state is changed.
[in] | status | ServiceStatus |
|
virtual |
This function is called whenever roaming status is changed.
[in] | status | RoamingStatus |
|
virtual |
This function is called whenever NR icon type is changed.
[in] | type | NrIconType |
union telux::data::DataCallEndReason.__unnamed__ |
Data Fields | ||
---|---|---|
MobileIpReasonCode | IpCode | |
InternalReasonCode | internalCode | |
CallManagerReasonCode | cmCode | |
SpecReasonCode | specCode | |
PPPReasonCode | pppCode | |
EHRPDReasonCode | ehrpdCode | |
Ipv6ReasonCode | ipv6Code | |
HandoffReasonCode | handOffCode |
#define PROFILE_ID_MAX 0x7FFFFFFF |
Default data profile id.
#define MAX_QOS_FILTERS 16 |
Max filters in one flow
#define IP_PROT_UNKNOWN 0xFF |
Default IP Protocol number in IPv4 or IPv6 headers.
using telux::data::DataCallResponseCb = typedef std::function<void( const std::shared_ptr<IDataCall> &dataCall, telux::common::ErrorCode error)> |
This function is called with the response to startDataCall / stopDataCall API.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
When callback is used with startDataCall, expected behavior is as following:
When callback is used with stopDataCall, expected behavior is as following:
Note: Telsdk broadcasts changes in any data call status to all available clients through the listener interface telux::data::IDataConnectionListener::onDataCallInfoChanged. Therefore, clients could get notification about data calls and their status changes that might not be relevent to the client. Client could also get successful connection notifications of data call client previously failed to connect. The notification could be a consequence of another client activity or system is set to automatically reconnect failed data calls.
[in] | dataCall | Pointer to IDataCall |
[in] | error | Return code for whether the operation succeeded or failed |
using telux::data::StatisticsResponseCb = typedef std::function<void(const DataCallStats dataStats, telux::common::ErrorCode error)> |
This function is called with the response to requestDataCallStatistics API. Returned dataStats will contain data call statistics telux::data::DataCallStats if reported error is telux::common::ErrorCode::SUCCESS. If error is reported, content of dataStats is don't care
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | dataStats | Data Call statistics |
[in] | error | Return code for whether the operation succeeded or failed |
using telux::data::DataCallListResponseCb = typedef std::function<void( const std::vector<std::shared_ptr<IDataCall>> &dataCallList, telux::common::ErrorCode error)> |
This function is called with the response to requestDataCallList API. Returned dataCallList will contain current active and connected DataCall objects if reported error is telux::common::ErrorCode::SUCCESS. If error detected, contents of dataCallList is don't care
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | dataCall | vector of of IDataCall list |
[in] | error | Return code for whether the operation succeeded or failed |
using telux::data::DefaultProfileIdResponseCb = typedef std::function<void(int profileId, SlotId slotId, telux::common::ErrorCode error)> |
This function is called with the response to getDefaultProfile API. Returned profileId is current default profile contained in slotId if reported error is telux::common::ErrorCode::SUCCESS. If error detected, content of profileId and slotId is don't care.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | profileId | Current default profile id |
[in] | slotId | Slot id that contains current default profile id |
[in] | error | Return code for whether the operation succeeded or failed |
using telux::data::TrafficFlowTemplateCb = typedef std::function<void(const std::vector<std::shared_ptr<TrafficFlowTemplate>> &tft, telux::common::ErrorCode error)> |
This function is called in the response to requestTrafficFlowTemplate().
[in] | tft | Vector of TFT flow info. TrafficFlowTemplate |
[in] | error | Code which indicates whether the operation succeeded or not. ErrorCode. |
using telux::data::requestDataCallBitRateResponseCb = typedef std::function<void(BitRateInfo& bitRate, telux::common::ErrorCode error)> |
This function is called in response to requestDataCallBitRate. Returned bitRate will contain data call bit rates telux::data::BitRateInfo if reported error is telux::common::ErrorCode::SUCCESS. If error is reported, content of bitRate is don't care
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | bitRate | Bit Rate Info for requested data call |
[in] | error | Return code for whether the operation succeeded or failed |
using telux::data::requestRoamingModeResponseCb = typedef std::function<void(bool isRoamingEnabled, int profileId, telux::common::ErrorCode error)> |
This function is called in response to requestRoamingMode.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | isRoamingEnabled | True - roaming mode enabled, False - roaming mode disabled. |
[in] | profileId | Profile Id on which roaming mode is enabled. |
[in] | error | Return code for whether the operation succeeded or failed. |
using telux::data::ApnTypes = typedef std::bitset<16> |
16 bit mask to set apn types paramater. ApnMaskType enum are used to set apn types.
using telux::data::IpProtocol = typedef uint8_t |
Internet (IP) protocol numbers found in IPv4 or IPv6 headers the protocol numbers are defined by Internet Assigned Numbers Authority (IANA)
using telux::data::QosFlowId = typedef uint32_t |
QOS Flow identifier
using telux::data::QosIPFlowMask = typedef std::bitset<16> |
16 bit mask that denotes which of the flow paramaters defined in QosIPFlowMaskType enum are used for TFT .
using telux::data::QosFlowMask = typedef std::bitset<16> |
16 bit mask that denotes which of the flow paramaters defined in QosFlowMaskType enum are used for TFT .
using telux::data::DataRestrictModeCb = typedef std::function<void(DataRestrictMode mode, telux::common::ErrorCode error)> |
This function is called in the response to requestDataRestrictMode().
[in] | mode | Return current data restrict mode. |
[in] | error | Return code which indicates whether the operation succeeded or not. ErrorCode. |
using telux::data::RequestBackhaulPrefResponseCb = typedef std::function<void( const std::vector<BackhaulType> backhaulPref, telux::common::ErrorCode error)> |
This function is called with the response to requestBackhaulPreference API.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | backhaulPref | vector of telux::data::BackhaulPref which contains the current order of backhaul preference First element is most preferred and last element is least preferred backhaul. |
[in] | error | Return code for whether the operation succeeded or failed. |
using telux::data::RequestBandInterferenceConfigResponseCb = typedef std::function<void(bool isEnabled, std::shared_ptr<BandInterferenceConfig> config, telux::common::ErrorCode error)> |
This function is called with the response to requestBandInterferenceConfig API.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | isEnabled | True: interference management is enabled. False: interference management is disabled |
[in] | config | Current N79 5G /Wlan 5GHz band interference configuration Set to nullptr if interference management is disabled telux::data::BandInterferenceConfig |
[in] | error | Return code for whether the operation succeeded or failed. |
using telux::data::requestWwanConnectivityConfigResponseCb = typedef std::function<void(SlotId slotId, bool isAllowed, telux::common::ErrorCode error)> |
This function is called with the response to requestWwanConnectivityConfig API.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | slotId | Slot id for which wwan connectivity is reported. |
[in] | isAllowed | True: connectivity allowed, False: connectivity disallowed. |
[in] | error | Return code for whether the operation succeeded or failed. |
using telux::data::TypeOfService = typedef uint8_t |
using telux::data::TrafficClass = typedef uint8_t |
using telux::data::FlowLabel = typedef uint32_t |
using telux::data::RequestServiceStatusResponseCb = typedef std::function<void(ServiceStatus serviceStatus, telux::common::ErrorCode error)> |
This function is called in response to requestServiceStatus API.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | serviceStatus | Current service status telux::data::ServiceStatus |
[in] | error | Return code for whether the operation succeeded or failed. |
using telux::data::RequestRoamingStatusResponseCb = typedef std::function<void(RoamingStatus roamingStatus, telux::common::ErrorCode error)> |
This function is called in response to requestRoamingStatus API.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | roamingStatus | Current roaming status telux::data::RoamingStatus |
[in] | error | Return code for whether the operation succeeded or failed. |
using telux::data::RequestNrIconTypeResponseCb = typedef std::function<void(NrIconType type, telux::common::ErrorCode error)> |
This function is called in response to RequestNrIconType API.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | type | Current NR icon type telux::data::NrIconType |
[in] | error | Return code for whether the operation succeeded or failed. |
|
strong |
|
strong |
|
strong |
|
strong |
Specifies APN types that can be set while creating or modifying a profile
|
strong |
Data call event status
|
strong |
Bearer technology types (returned with getCurrentBearerTech).
|
strong |
|
strong |
Data call end/termination reason code for EndReasonType::CE_MOBILE_IP
|
strong |
Data call end/termination reason code for EndReasonType::CE_INTERNAL
|
strong |
Data call end/termination reason code for EndReasonType::CE_CALL_MANAGER_DEFINED
|
strong |
Data call end/termination reason code for EndReasonType::CE_3GPP_SPEC_DEFINED
|
strong |
Data call end/termination reason code for EndReasonType::CE_PPP
Enumerator | |
---|---|
CE_PPP_TIMEOUT | |
CE_PPP_AUTH_FAILURE | |
CE_PPP_OPTION_MISMATCH | |
CE_PPP_PAP_FAILURE | |
CE_PPP_CHAP_FAILURE | |
CE_PPP_CLOSE_IN_PROGRESS | |
CE_PPP_NV_REFRESH_IN_PROGRESS | |
CE_PPP_UNKNOWN |
|
strong |
Data call end/termination reason code for EndReasonType::CE_EHRPD
|
strong |
Data call end/termination reason code for EndReasonType::CE_IPV6
Enumerator | |
---|---|
CE_PREFIX_UNAVAILABLE | |
CE_IPV6_ERR_HRPD_IPV6_DISABLED | |
CE_IPV6_DISABLED |
|
strong |
Data call end/termination reason code for EndReasonType::CE_HANDOFF
Enumerator | |
---|---|
CE_VCER_HANDOFF_PREF_SYS_BACK_TO_SRAT |
|
strong |
|
strong |
This applies in architectures where the modem is attached to an External Application Processor(EAP). An API, like start/stop data call, INatManager, IFirewallManager can be invoked from the EAP or from the modems Internal Application Processor (IAP). This type specifies where the operation should be carried out.
Enumerator | |
---|---|
DATA_LOCAL |
Perform the operation on the processor where the API is invoked. |
DATA_REMOTE |
Perform the operation on the application processor other than where the API is invoked. |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
Specifies backhaul types
Enumerator | |
---|---|
ETH | |
USB |
Ethernet Backhaul |
WLAN |
USB Backhaul |
WWAN |
WLAN Backhaul |
BLE |
WWAN Backhaul with default profile ID set by telux::data::IDataConnectionManager::setDefaultProfile |
MAX_SUPPORTED |
Bluetooth Backhaul |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |