Telematics SDK - Interface Specification
v1.21.0
|
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. More... | |
class | telux::data::IDataCall |
Represents single established data call on the device. More... | |
class | telux::data::IDataConnectionListener |
struct | telux::data::ProfileParams |
struct | telux::data::DataCallStats |
struct | telux::data::IpAddrInfo |
struct | telux::data::DataCallEndReason |
class | telux::data::DataFactory |
DataFactory is the central factory to create all data classes. 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 |
union | telux::data::DataCallEndReason.__unnamed__ |
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.
Public Member Functions | |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | startDataCall (int profileId, IpFamilyType ipFamilyType=IpFamilyType::IPV4V6, DataCallResponseCb callback=nullptr)=0 |
virtual telux::common::Status | stopDataCall (int profileId, IpFamilyType ipFamilyType=IpFamilyType::IPV4V6, DataCallResponseCb callback=nullptr)=0 |
virtual telux::common::Status | registerListener (std::weak_ptr< IDataConnectionListener > listener)=0 |
virtual telux::common::Status | deregisterListener (std::weak_ptr< IDataConnectionListener > listener)=0 |
virtual int | getSlotId ()=0 |
virtual | ~IDataConnectionManager () |
|
virtual |
Destructor for IDataConnectionManager
|
pure virtual |
Checks if the data subsystem is ready.
|
pure virtual |
Wait for data subsystem to be ready.
|
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. This is an asynchronous API, client receives notification indicating the data call establishment or failure in callback.
[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. |
|
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 |
|
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.
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 TechPreference | getTechPreference ()=0 |
virtual std::list< IpAddrInfo > | getIpAddressInfo ()=0 |
virtual IpFamilyType | getIpFamilyType ()=0 |
virtual int | getProfileId ()=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 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 |
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 call 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 | ~IDataConnectionListener () |
Public Member Functions inherited from telux::common::IServiceStatusListener | |
virtual void | onServiceStatusChange (ServiceStatus status) |
virtual | ~IServiceStatusListener () |
|
virtual |
Destructor for IDataConnectionListener
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__ |
class telux::data::DataFactory |
DataFactory is the central factory to create all data classes.
Public Member Functions | |
std::shared_ptr < IDataConnectionManager > | getDataConnectionManager (int slotId=DEFAULT_SLOT_ID) |
std::shared_ptr < IDataProfileManager > | getDataProfileManager (int slotId=DEFAULT_SLOT_ID) |
Static Public Member Functions | |
static DataFactory & | getInstance () |
|
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 |
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 () |
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.
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 | onProfileUpdate (int profileId, TechPreference techPreference, ProfileChangeEvent event) |
virtual | ~IDataProfileListener () |
|
virtual |
Destructor of IDataProfileListener
|
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 |
union telux::data::DataCallEndReason.__unnamed__ |
Data Fields | ||
---|---|---|
MobileIpReasonCode | IpCode | |
InternalReasonCode | internalCode | |
CallManagerReasonCode | cmCode | |
SpecReasonCode | specCode | |
PPPReasonCode | pppCode | |
EHRPDReasonCode | ehrpdCode | |
Ipv6ReasonCode | ipv6Code | |
HandoffReasonCode | handOffCode |
|
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 |