Telematics SDK - Interface Specification
v1.33.62
|
Data Structures | |
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::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::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::RequestServiceStatusResponseCb = std::function< void(ServiceStatus serviceStatus, telux::common::ErrorCode error)> |
using | telux::data::RequestRoamingStatusResponseCb = std::function< void(RoamingStatus roamingStatus, telux::common::ErrorCode error)> |
This section contains APIs related to Cellular Data Services.
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 |
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 the following:.
[in] | operationType | telux::data::OperationType |
[in] | profileId | Profile identifier to be associated with default handler |
[in] | callback | optional callback to get the response setDefaultProfile |
|
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). Clients can also specify network interface name that will be associated with data call to be started. 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.
[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] | interfaceName | Optional name to be assigned to the network interface representing this data call. This option is not supported on all platforms. See documentation of telux::data::DataCallResponseCb for error returned on such platforms. |
|
pure virtual |
Stops a data call corresponding to default or specified profile identifier.
This will tear down specific data call connection based on profile identifier.
[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 |
|
pure virtual |
Tear down data call connection based on network interface name associated with data call. 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.
[in] | interfaceName | network interface name associated with data call to be torn down |
[out] | callback | Optional callback to get the response of stop data call |
[in] | operationType | Optional telux::data::OperationType |
|
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 DataBearerTechnology | getCurrentBearerTech ()=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 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 | ~IDataCall () |
|
virtual |
Destructor for IDataCall
|
pure virtual |
Get interface name for the data call associated.
|
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.
|
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 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.
[in] | callback | optional callback to get the response of reset Data call statistics |
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.
Public Member Functions | |
virtual void | onDataCallInfoChanged (const std::shared_ptr< IDataCall > &dataCall) |
virtual void | onTrafficFlowTemplateChange (const std::shared_ptr< IDataCall > &dataCall, const std::vector< std::shared_ptr< TftChangeInfo >> &tft) |
virtual void | onHwAccelerationChanged (const ServiceState state) |
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 the TFT's parameters are changed for a packet data session.
[in] | dataCall | Pointer to IDataCall |
[in] | tft | vector of TftChangeInfo info TftChangeInfo |
|
virtual |
This function is called when a change occur in hardware acceleration service.
[in] | state | New state of hardware Acceleration service (Active/Inactive) |
struct telux::data::DataRestrictMode |
Defines the supported powersave filtering mode and autoexit for the packet data session. DataRestrictFilter
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 |
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 |
struct telux::data::FlowDataRate |
struct telux::data::QosIPFlowInfo |
QOS Flow IP info
Data Fields | ||
---|---|---|
QosIPFlowMask | mask |
Valid parameters of QosIPFlowInfo ref |
IpTrafficClassType | tfClass |
IP Traffic class type IpFamilyType |
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.
std::shared_ptr<IDataConnectionManager> telux::data::DataFactory::getDataConnectionManager | ( | int | slotId = DEFAULT_SLOT_ID | ) |
Get Data Connection Manager
[in] | slotId | Unique identifier for the SIM slot |
std::shared_ptr<IDataProfileManager> telux::data::DataFactory::getDataProfileManager | ( | int | slotId = DEFAULT_SLOT_ID | ) |
Get Data Profile Manager
[in] | slotId | Unique identifier for the SIM slot |
std::shared_ptr<IDataFilterManager> telux::data::DataFactory::getDataFilterManager | ( | int | slotId = DEFAULT_SLOT_ID | ) |
Get Data Filter Manager instance
[in] | slotId | Unique identifier for the SIM slot |
std::shared_ptr<IServingSystemManager> telux::data::DataFactory::getServingSystemManager | ( | SlotId | slotId = DEFAULT_SLOT_ID | ) |
Get Serving System Manager
[in] | slotId | Unique identifier for the SIM slot |
std::shared_ptr<telux::data::net::INatManager> telux::data::DataFactory::getNatManager | ( | telux::data::OperationType | oprType | ) |
Get Network Address Translation(NAT) Manager
[in] | oprType | Required operation type telux::data::OperationType |
std::shared_ptr<telux::data::net::IFirewallManager> telux::data::DataFactory::getFirewallManager | ( | telux::data::OperationType | oprType | ) |
Get Firewall Manager
[in] | oprType | Required operation type telux::data::OperationType |
std::shared_ptr<telux::data::net::IFirewallEntry> telux::data::DataFactory::getNewFirewallEntry | ( | IpProtocol | proto, |
Direction | direction, | ||
IpFamilyType | ipFamilyType | ||
) |
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 |
std::shared_ptr<IIpFilter> telux::data::DataFactory::getNewIpFilter | ( | IpProtocol | proto | ) |
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 |
std::shared_ptr<telux::data::net::IVlanManager> telux::data::DataFactory::getVlanManager | ( | telux::data::OperationType | oprType | ) |
Get VLAN Manager
[in] | oprType | Required operation type telux::data::OperationType |
std::shared_ptr<telux::data::net::ISocksManager> telux::data::DataFactory::getSocksManager | ( | telux::data::OperationType | oprType | ) |
Get Socks Manager
[in] | oprType | Required operation type telux::data::OperationType |
std::shared_ptr<telux::data::net::IBridgeManager> telux::data::DataFactory::getBridgeManager | ( | ) |
Get Software Bridge Manager
std::shared_ptr<telux::data::net::IL2tpManager> telux::data::DataFactory::getL2tpManager | ( | ) |
Get L2TP Manager
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] | 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 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 packet data session..
[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. |
[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.
[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
[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) | |
int | getId () |
std::string | getName () |
std::string | getApn () |
std::string | getUserName () |
std::string | getPassword () |
TechPreference | getTechPreference () |
AuthProtocolType | getAuthProtocolType () |
IpFamilyType | getIpFamilyType () |
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 | ||
) |
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, SlotId slotId) |
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 |
[in] | slotId | - SlotId |
|
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.
Public Member Functions | |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | requestProfileList (std::shared_ptr< IDataProfileListCallback > callback=nullptr)=0 |
virtual telux::common::Status | createProfile (const ProfileParams &profileParams, std::shared_ptr< IDataCreateProfileCallback > callback=nullptr)=0 |
virtual telux::common::Status | deleteProfile (uint8_t profileId, TechPreference techPreference, std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0 |
virtual telux::common::Status | modifyProfile (uint8_t profileId, const ProfileParams &profileParams, std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0 |
virtual telux::common::Status | queryProfile (const ProfileParams &profileParams, std::shared_ptr< IDataProfileListCallback > callback=nullptr)=0 |
virtual telux::common::Status | requestProfile (uint8_t profileId, TechPreference techPreference, std::shared_ptr< IDataProfileCallback > callback=nullptr)=0 |
virtual int | getSlotId ()=0 |
virtual telux::common::Status | registerListener (std::weak_ptr< telux::data::IDataProfileListener > listener)=0 |
virtual telux::common::Status | deregisterListener (std::weak_ptr< telux::data::IDataProfileListener > listener)=0 |
virtual | ~IDataProfileManager () |
|
virtual |
Destructor for IDataProfileManager
|
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.
[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.
[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.
[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::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 bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | requestServiceStatus (RequestServiceStatusResponseCb callback)=0 |
virtual telux::common::Status | requestRoamingStatus (RequestRoamingStatusResponseCb 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 if the data subsystem is ready.
|
pure virtual |
Wait for data subsystem to be ready.
|
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 |
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 | onServiceStateChanged (ServiceStatus status) |
virtual void | onRoamingStatusChanged (RoamingStatus status) |
virtual | ~IServingSystemListener () |
|
virtual |
Destructor of IServingSystemListener
|
virtual |
This function is called when service status changes.
[in] | status | - ServiceStatus |
|
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 |
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::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::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. |
|
strong |
|
strong |
|
strong |
|
strong |
|
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 |
|
strong |
|
strong |