Telematics SDK - Interface Specification
|
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 |
class | telux::data::IDataCallStatisticsCallback |
Interface for request Data call statistics callback Client needs to implement this interface to get single shot responses for commands like request auto connect. More... | |
class | telux::data::IDataRateCallback |
Interface for request Data rate callback Client needs to implement this interface to get single shot responses for commands like request auto connect. More... | |
struct | telux::data::ProfileParams |
struct | telux::data::DataCallStats |
struct | telux::data::DataChannelRate |
struct | telux::data::IpAddrInfo |
struct | telux::data::DataCallFailReason |
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::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 |
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.
|
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 |
This is synchronous API called by client to get data call list.
[in,out] | status | Status of getDataCallList i.e. success or suitable status code. |
|
pure virtual |
Request the data transfer statistics for data call corresponding to specified profile identifier.
[in] | profileId | 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] | profileId | Reset statistics corresponding to profile identifier |
|
pure virtual |
Request the current/maximum transmit and receive data channel rate for specified profile identifier.
[in] | profileId | Profile identifier. |
[in] | callback | Optional callback to get the response of request Data channel rate |
|
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 DataCallFailReason | getDataCallFailReason ()=0 |
virtual DataCallStatus | getDataCallStatus ()=0 |
virtual TechPreference | getTechPreference ()=0 |
virtual std::list< IpAddrInfo > | getIpAddressInfo ()=0 |
virtual const std::string & | getApnName ()=0 |
virtual IpFamilyType | getIpFamilyType ()=0 |
virtual int | getProfileId ()=0 |
|
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 Access Point Name (APN) name
|
pure virtual |
Get IP Family Type i.e. IPv4, IPv6 or Both
|
pure virtual |
Get Profile Id
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 | onNewDataCall (const std::shared_ptr< IDataCall > &dataCall) |
virtual void | onDataCallInfoChanged (const std::shared_ptr< IDataCall > &dataCall) |
virtual void | onDataCallFailure (const std::shared_ptr< IDataCall > &dataCall) |
|
virtual |
This function is called when there is new data call established.
[out] | dataCall | Handle of specific data call with data call info |
|
virtual |
This function is called when there is a change in the data call.
[out] | status | Data Call Status |
[out] | dataCall | Pointer to IDataCall |
|
virtual |
class telux::data::IDataCallStatisticsCallback |
Interface for request Data call statistics callback Client needs to implement this interface to get single shot responses for commands like request auto connect.
The methods in callback can be invoked from multiple different threads. The implementation should be thread safe.
Public Member Functions | |
virtual void | onResponse (const DataCallStats &dataStats, telux::common::ErrorCode error) |
|
virtual |
This function is called with the response to requestDataCallStatistics API.
[out] | dataStats | Data Call statistics |
[out] | error | Return code for whether the operation succeeded or failed |
class telux::data::IDataRateCallback |
Interface for request Data rate callback Client needs to implement this interface to get single shot responses for commands like request auto connect.
The methods in callback can be invoked from multiple different threads. The implementation should be thread safe.
Public Member Functions | |
virtual void | onResponse (const DataChannelRate &dataRate, telux::common::ErrorCode error) |
|
virtual |
This function is called with the response to requestDataRate API.
[out] | dataRate | The structure contains current and max transfer and receiver rate |
[out] | error | Return code for whether the operation succeeded or failed |
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::TECH_PREFERENCE_3GPP |
AuthProtocolType | authType |
Authentication protocol type, default is AuthProtocolType::AUTH_TYPE_NONE |
IpFamilyType | ipFamilyType |
Preferred IP family for the call, default is IpFamilyType::IP_FAMILY_TYPE_UNKNOWN |
struct telux::data::DataCallStats |
struct telux::data::DataChannelRate |
struct telux::data::IpAddrInfo |
struct telux::data::DataCallFailReason |
Data Fields | ||
---|---|---|
DataCallFailType | reasonType |
Data call terminated due to reason type, default is CALL_FAIL_TYPE_UNKNOWN |
int | reasonCode |
Reason Code corresponding to reason type |
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::IDataProfileManager |
IDataProfileManager is a primary interface for profile management.
Public Member Functions | |
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 |
|
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.
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) |
|
virtual |
This function is called with the response to IDataProfileManager::createProfile API.
[out] | profileId | created profile Id for the response. Use IDataProfileManager::requestProfile to get the data profile |
[out] | 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) |
|
virtual |
This function is called with the response to requestProfileList API or queryProfile API.
[out] | profiles | List of profiles supported by the device |
[out] | 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) |
|
virtual |
This function is called with the response to IDataProfileManager::requestProfile API.
[out] | profile | Response of data profile |
[out] | error | telux::common::ErrorCode |
|
strong |
|
strong |
|
strong |
|
strong |
DATA event status
|
strong |
Bearer technology types (returned with getCurrentBearerTech).
|
strong |