Telematics SDK - Interface Specification
Telematics_data

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
 

Enumerations

enum  telux::data::IpFamilyType { telux::data::IpFamilyType::IP_FAMILY_TYPE_UNKNOWN = -1, telux::data::IpFamilyType::IP_FAMILY_TYPE_V4 = 0, telux::data::IpFamilyType::IP_FAMILY_TYPE_V6 = 2, telux::data::IpFamilyType::IP_FAMILY_TYPE_V4V6 = 3 }
 
enum  telux::data::TechPreference { telux::data::TechPreference::TECH_PREFERENCE_3GPP, telux::data::TechPreference::TECH_PREFERENCE_3GPP2, telux::data::TechPreference::TECH_PREFERENCE_ANY }
 
enum  telux::data::AuthProtocolType { telux::data::AuthProtocolType::AUTH_TYPE_NONE = 0, telux::data::AuthProtocolType::AUTH_TYPE_PAP = 1, telux::data::AuthProtocolType::AUTH_TYPE_CHAP = 2, telux::data::AuthProtocolType::AUTH_TYPE_PAP_CHAP = 3 }
 
enum  telux::data::DataCallStatus {
  telux::data::DataCallStatus::CALL_STATUS_INVALID = 0x00, telux::data::DataCallStatus::CALL_STATUS_NET_CONNECTED, telux::data::DataCallStatus::CALL_STATUS_NET_NO_NET, telux::data::DataCallStatus::CALL_STATUS_NET_IDLE,
  telux::data::DataCallStatus::CALL_STATUS_NET_CONNECTING, telux::data::DataCallStatus::CALL_STATUS_NET_DISCONNECTING, telux::data::DataCallStatus::CALL_STATUS_NET_RECONFIGURED, telux::data::DataCallStatus::CALL_STATUS_NET_NEWADDR,
  telux::data::DataCallStatus::CALL_STATUS_NET_DELADDR
}
 
enum  telux::data::DataBearerTechnology {
  telux::data::DataBearerTechnology::BEARER_TECH_UNKNOWN, telux::data::DataBearerTechnology::BEARER_TECH_CDMA_1X, telux::data::DataBearerTechnology::BEARER_TECH_EVDO_REV0, telux::data::DataBearerTechnology::BEARER_TECH_EVDO_REVA,
  telux::data::DataBearerTechnology::BEARER_TECH_EVDO_REVB, telux::data::DataBearerTechnology::BEARER_TECH_EHRPD, telux::data::DataBearerTechnology::BEARER_TECH_FMC, telux::data::DataBearerTechnology::BEARER_TECH_HRPD,
  telux::data::DataBearerTechnology::BEARER_TECH_3GPP2_WLAN, telux::data::DataBearerTechnology::BEARER_TECH_WCDMA, telux::data::DataBearerTechnology::BEARER_TECH_GPRS, telux::data::DataBearerTechnology::BEARER_TECH_HSDPA,
  telux::data::DataBearerTechnology::BEARER_TECH_HSUPA, telux::data::DataBearerTechnology::BEARER_TECH_EDGE, telux::data::DataBearerTechnology::BEARER_TECH_LTE, telux::data::DataBearerTechnology::BEARER_TECH_HSDPA_PLUS,
  telux::data::DataBearerTechnology::BEARER_TECH_DC_HSDPA_PLUS, telux::data::DataBearerTechnology::BEARER_TECH_HSPA, telux::data::DataBearerTechnology::BEARER_TECH_64_QAM, telux::data::DataBearerTechnology::BEARER_TECH_TDSCDMA,
  telux::data::DataBearerTechnology::BEARER_TECH_GSM, telux::data::DataBearerTechnology::BEARER_TECH_3GPP_WLAN, telux::data::DataBearerTechnology::BEARER_TECH_MAX
}
 
enum  telux::data::DataCallFailType {
  telux::data::DataCallFailType::CALL_FAIL_TYPE_UNKNOWN, telux::data::DataCallFailType::CALL_FAIL_TYPE_MOBILE_IP, telux::data::DataCallFailType::CALL_FAIL_TYPE_INTERNAL, telux::data::DataCallFailType::CALL_FAIL_TYPE_CALL_MANAGER_DEFINED,
  telux::data::DataCallFailType::CALL_FAIL_TYPE_3GPP_SPEC_DEFINED, telux::data::DataCallFailType::CALL_FAIL_TYPE_PPP, telux::data::DataCallFailType::CALL_FAIL_TYPE_EHRPD, telux::data::DataCallFailType::CALL_FAIL_TYPE_IPV6
}
 

Detailed Description


Data Structure Documentation

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::IP_FAMILY_TYPE_V4V6, std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0
 
virtual telux::common::Status stopDataCall (int profileId, IpFamilyType ipFamilyType=IpFamilyType::IP_FAMILY_TYPE_V4V6, std::shared_ptr< telux::common::ICommandResponseCallback > callback=nullptr)=0
 
virtual std::vector
< std::shared_ptr< IDataCall > > 
getDataCallList (telux::common::Status *status=nullptr)=0
 
virtual telux::common::Status requestDataCallStatistics (int profileId, std::shared_ptr< IDataCallStatisticsCallback > callback=nullptr)=0
 
virtual telux::common::Status resetDataCallStatistics (int profileId)=0
 
virtual telux::common::Status requestDataRate (int profileId, std::shared_ptr< IDataRateCallback > callback=nullptr)=0
 
virtual telux::common::Status registerListener (std::weak_ptr< IDataConnectionListener > listener)=0
 
virtual telux::common::Status removeListener (std::weak_ptr< IDataConnectionListener > listener)=0
 
virtual int getSlotId ()=0
 
virtual ~IDataConnectionManager ()
 

Constructor & Destructor Documentation

virtual telux::data::IDataConnectionManager::~IDataConnectionManager ( )
virtual

Destructor for IDataConnectionManager

Member Function Documentation

virtual bool telux::data::IDataConnectionManager::isSubsystemReady ( )
pure virtual

Checks if the data subsystem is ready.

Returns
True if Data Connection Manager is ready for service, otherwise returns false.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual std::future<bool> telux::data::IDataConnectionManager::onSubsystemReady ( )
pure virtual

Wait for data subsystem to be ready.

Returns
A future that caller can wait on to be notified when card manager is ready.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataConnectionManager::startDataCall ( int  profileId,
IpFamilyType  ipFamilyType = IpFamilyType::IP_FAMILY_TYPE_V4V6,
std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr 
)
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.

Parameters
[in]profileIdProfile identifier corresponding to which data call bring up will be done. Use IDataProfileManager::requestProfileList to get list of available profiles.
[in]ipFamilyTypeIdentifies IP family type
[out]callbackOptional callback to get the response of start data call.
Returns
Immediate status of startDataCall() request sent i.e. success or suitable status code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataConnectionManager::stopDataCall ( int  profileId,
IpFamilyType  ipFamilyType = IpFamilyType::IP_FAMILY_TYPE_V4V6,
std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr 
)
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.

Parameters
[in]profileIdProfile identifier corresponding to which data call tear down will be done. Use data profile manager to get the list of available profiles.
[in]ipFamilyTypeIdentifies IP family type
[out]callbackOptional callback to get the response of stop data call
Returns
Immediate status of stopDataCall() request sent i.e. success or suitable status code. The client receives asynchronous notifications indicating the data call tear-down.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual std::vector<std::shared_ptr<IDataCall> > telux::data::IDataConnectionManager::getDataCallList ( telux::common::Status status = nullptr)
pure virtual

This is synchronous API called by client to get data call list.

Parameters
[in,out]statusStatus of getDataCallList i.e. success or suitable status code.
Returns
List of all active data calls.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataConnectionManager::requestDataCallStatistics ( int  profileId,
std::shared_ptr< IDataCallStatisticsCallback callback = nullptr 
)
pure virtual

Request the data transfer statistics for data call corresponding to specified profile identifier.

Parameters
[in]profileIdProfile identifier
[in]callbackOptional callback to get the response of request Data Call Statistics
Returns
Status of getDataCallStatistics i.e. success or suitable status code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataConnectionManager::resetDataCallStatistics ( int  profileId)
pure virtual

Reset data transfer statistics for data call corresponding to specified profile identifier.

Parameters
[in]profileIdReset statistics corresponding to profile identifier
Returns
Status of resetDataCallStatistics i.e. success or suitable status code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataConnectionManager::requestDataRate ( int  profileId,
std::shared_ptr< IDataRateCallback callback = nullptr 
)
pure virtual

Request the current/maximum transmit and receive data channel rate for specified profile identifier.

Parameters
[in]profileIdProfile identifier.
[in]callbackOptional callback to get the response of request Data channel rate
Returns
Status of getDataRate i.e. success or suitable status code.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataConnectionManager::registerListener ( std::weak_ptr< IDataConnectionListener listener)
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.

Parameters
[in]listenerpointer of IDataConnectionListener object that processes the notification
Returns
Status of registerListener success or suitable status code
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataConnectionManager::removeListener ( std::weak_ptr< IDataConnectionListener listener)
pure virtual

Removes a previously added listener.

Parameters
[in]listenerpointer of IDataConnectionListener object that needs to be removed
Returns
Status of removeListener success or suitable status code
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual int telux::data::IDataConnectionManager::getSlotId ( )
pure virtual

Get associated slot id for the Data Connection Manager.

Returns
SlotId
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
class telux::data::IDataCall

Represents single established data call on the device.

Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

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< IpAddrInfogetIpAddressInfo ()=0
 
virtual const std::string & getApnName ()=0
 
virtual IpFamilyType getIpFamilyType ()=0
 
virtual int getProfileId ()=0
 

Member Function Documentation

virtual const std::string& telux::data::IDataCall::getInterfaceName ( )
pure virtual

Get interface name for the data call associated.

Returns
Interface Name.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual DataBearerTechnology telux::data::IDataCall::getCurrentBearerTech ( )
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.

Returns
DataBearerTechnology
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual DataCallFailReason telux::data::IDataCall::getDataCallFailReason ( )
pure virtual

Get failure reason for the data call.

Returns
DataCallFailReason.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual DataCallStatus telux::data::IDataCall::getDataCallStatus ( )
pure virtual

Get data call status like connected, disconnected and IP address changes.

Returns
DataCallStatus.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual TechPreference telux::data::IDataCall::getTechPreference ( )
pure virtual

Get the technology on which the call was brought up.

Returns
TechPreference.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual std::list<IpAddrInfo> telux::data::IDataCall::getIpAddressInfo ( )
pure virtual

Get list of IP address information.

Returns
List of IP address details.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual const std::string& telux::data::IDataCall::getApnName ( )
pure virtual

Get Access Point Name (APN) name

Returns
APN name.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual IpFamilyType telux::data::IDataCall::getIpFamilyType ( )
pure virtual

Get IP Family Type i.e. IPv4, IPv6 or Both

Returns
IpFamilyType.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual int telux::data::IDataCall::getProfileId ( )
pure virtual

Get Profile Id

Returns
Profile Identifier.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
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.

Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.

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)
 

Member Function Documentation

virtual void telux::data::IDataConnectionListener::onNewDataCall ( const std::shared_ptr< IDataCall > &  dataCall)
virtual

This function is called when there is new data call established.

Parameters
[out]dataCallHandle of specific data call with data call info
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual void telux::data::IDataConnectionListener::onDataCallInfoChanged ( const std::shared_ptr< IDataCall > &  dataCall)
virtual

This function is called when there is a change in the data call.

Parameters
[out]statusData Call Status
[out]dataCallPointer to IDataCall
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual void telux::data::IDataConnectionListener::onDataCallFailure ( const std::shared_ptr< IDataCall > &  dataCall)
virtual

This function is called in case of call failure, IDataCall will have cause code for failure

Parameters
[out]dataCallPointer to IDataCall
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
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.

Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.

Public Member Functions

virtual void onResponse (const DataCallStats &dataStats, telux::common::ErrorCode error)
 

Member Function Documentation

virtual void telux::data::IDataCallStatisticsCallback::onResponse ( const DataCallStats dataStats,
telux::common::ErrorCode  error 
)
virtual

This function is called with the response to requestDataCallStatistics API.

Parameters
[out]dataStatsData Call statistics
[out]errorReturn code for whether the operation succeeded or failed
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
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.

Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.

Public Member Functions

virtual void onResponse (const DataChannelRate &dataRate, telux::common::ErrorCode error)
 

Member Function Documentation

virtual void telux::data::IDataRateCallback::onResponse ( const DataChannelRate dataRate,
telux::common::ErrorCode  error 
)
virtual

This function is called with the response to requestDataRate API.

Parameters
[out]dataRateThe structure contains current and max transfer and receiver rate
[out]errorReturn code for whether the operation succeeded or failed
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
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

Data transfer statistics structure.

Data Fields
int bytesReceived
int bytesTransmitted
int packetsReceived
int packetsTransmitted
int packetsDroppedOnReceive
int packetsDroppedOnTransmit
struct telux::data::DataChannelRate

Data bit rate in kbps

Data Fields
int txRate

Current transfer rate

int rxRate

Current receiver rate

int maxTxRate

Max transfer rate

int maxRxRate

Max receiver rate

struct telux::data::IpAddrInfo

IP address information structure

Data Fields
string ifAddress

Interface IP address.

unsigned int ifMask

Subnet mask.

string gwAddress

Gateway IP address.

unsigned int gwMask

Subnet mask.

string primaryDnsAddress

Primary DNS address.

string secondaryDnsAddress

Secondary DNS address.

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.

Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.

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 DataFactorygetInstance ()
 

Member Function Documentation

static DataFactory& telux::data::DataFactory::getInstance ( )
static

Get Data Factory instance.

std::shared_ptr<IDataConnectionManager> telux::data::DataFactory::getDataConnectionManager ( int  slotId = DEFAULT_SLOT_ID)

Get Data Connection Manager

Parameters
[in]slotIdUnique identifier for the SIM slot
Returns
instance of IDataConnectionManager
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
std::shared_ptr<IDataProfileManager> telux::data::DataFactory::getDataProfileManager ( int  slotId = DEFAULT_SLOT_ID)

Get Data Profile Manager

Parameters
[in]slotIdUnique identifier for the SIM slot
Returns
instance of IDataProfileManager
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
class telux::data::DataProfile

DataProfile class represents single data profile on the modem.

Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.

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 ()
 

Constructor & Destructor Documentation

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 
)

Member Function Documentation

int telux::data::DataProfile::getId ( )

Get profile identifier.

Returns
profile id
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
std::string telux::data::DataProfile::getName ( )

Get profile name.

Returns
profile name
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
std::string telux::data::DataProfile::getApn ( )

Get Access Point Name (APN) name.

Returns
APN name
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
std::string telux::data::DataProfile::getUserName ( )

Get profile user name.

Returns
user name
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
std::string telux::data::DataProfile::getPassword ( )

Get profile password.

Returns
profile password
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
TechPreference telux::data::DataProfile::getTechPreference ( )

Get technology preference.

Returns
TechPreference TechPreference
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
AuthProtocolType telux::data::DataProfile::getAuthProtocolType ( )

Get authentication preference.

Returns
AuthProtocolType AuthProtocolType
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
IpFamilyType telux::data::DataProfile::getIpFamilyType ( )

Get IP Family type.

Returns
IpFamilyType IpFamilyType
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
std::string telux::data::DataProfile::toString ( )

Get the text related informative representation of this object.

Returns
String containing informative string.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
class telux::data::IDataProfileManager

IDataProfileManager is a primary interface for profile management.

Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.

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
 

Member Function Documentation

virtual telux::common::Status telux::data::IDataProfileManager::requestProfileList ( std::shared_ptr< IDataProfileListCallback callback = nullptr)
pure virtual

Request list of profiles supported by the device.

Parameters
[in,out]callbackCallback pointer to get the response.
Returns
Status of request profile i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataProfileManager::createProfile ( const ProfileParams profileParams,
std::shared_ptr< IDataCreateProfileCallback callback = nullptr 
)
pure virtual

Create profile based on data profile params.

Parameters
[in]profileParamsprofileParams configuration to be passed for creating profile either for 3GPP or 3GPP2
[in,out]callbackCallback pointer to get the result of create profile
Returns
Status of create profile i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataProfileManager::deleteProfile ( uint8_t  profileId,
TechPreference  techPreference,
std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr 
)
pure virtual

Delete profile corresponding to profile identifier.

The deletion of a profile does not affect profile index assignments.

Parameters
[in]profileIdProfile identifier
[in]techPreferenceTechnology Preference like 3GPP / 3GPP2
[in]callbackCallback pointer to get the result of delete profile
Returns
Status of delete profile i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataProfileManager::modifyProfile ( uint8_t  profileId,
const ProfileParams profileParams,
std::shared_ptr< telux::common::ICommandResponseCallback callback = nullptr 
)
pure virtual

Modify existing profile with new profile params.

Parameters
[in]profileIdProfile identifier of profile to be modified
[in]profileParamsNew profileParams configuration passed for updating existing profile
[in]callbackCallback pointer to get the result of modify profile
Returns
Status of modify profile i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataProfileManager::queryProfile ( const ProfileParams profileParams,
std::shared_ptr< IDataProfileListCallback callback = nullptr 
)
pure virtual

Lookup modem profile/s based on given profile params.

Parameters
[in]profileParamsProfileParams configuration to be passed
[in]callbackCallback pointer to get the result of query profile
Returns
Status of query profile i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual telux::common::Status telux::data::IDataProfileManager::requestProfile ( uint8_t  profileId,
TechPreference  techPreference,
std::shared_ptr< IDataProfileCallback callback = nullptr 
)
pure virtual

Get data profile corresponding to profile identifier.

Parameters
[in]profileIdProfile identifier
[in]techPreferenceTechnology preference
[in]callbackCallback pointer to get the result of get profile by ID
Returns
Status of requestProfile i.e. success or suitable error code.
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual int telux::data::IDataProfileManager::getSlotId ( )
pure virtual

Get associated slot id for the Data Profile Manager.

Returns
SlotId
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
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.

Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.

Public Member Functions

virtual void onResponse (int profileId, telux::common::ErrorCode error)
 

Member Function Documentation

virtual void telux::data::IDataCreateProfileCallback::onResponse ( int  profileId,
telux::common::ErrorCode  error 
)
virtual

This function is called with the response to IDataProfileManager::createProfile API.

Parameters
[out]profileIdcreated profile Id for the response. Use IDataProfileManager::requestProfile to get the data profile
[out]errortelux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
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.

Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.

Public Member Functions

virtual void onProfileListResponse (const std::vector< std::shared_ptr< DataProfile >> &profiles, telux::common::ErrorCode error)
 

Member Function Documentation

virtual void telux::data::IDataProfileListCallback::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.

Parameters
[out]profilesList of profiles supported by the device
[out]errortelux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
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.

Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.

Public Member Functions

virtual void onResponse (const std::shared_ptr< DataProfile > &profile, telux::common::ErrorCode error)
 

Member Function Documentation

virtual void telux::data::IDataProfileCallback::onResponse ( const std::shared_ptr< DataProfile > &  profile,
telux::common::ErrorCode  error 
)
virtual

This function is called with the response to IDataProfileManager::requestProfile API.

Parameters
[out]profileResponse of data profile
[out]errortelux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.

Enumeration Type Documentation

Preferred IP family for the call

Enumerator
IP_FAMILY_TYPE_UNKNOWN 
IP_FAMILY_TYPE_V4 
IP_FAMILY_TYPE_V6 
IP_FAMILY_TYPE_V4V6 

Technology Preference

Enumerator
TECH_PREFERENCE_3GPP 

UMTS, LTE

TECH_PREFERENCE_3GPP2 

CDMA

TECH_PREFERENCE_ANY 

ANY (3GPP or 3GPP2)

Authentication protocol type to be used for PDP context.

Enumerator
AUTH_TYPE_NONE 
AUTH_TYPE_PAP 

Password Authentication Protocol

AUTH_TYPE_CHAP 

Challenge Handshake Authentication Protocol

AUTH_TYPE_PAP_CHAP 

DATA event status

Enumerator
CALL_STATUS_INVALID 

Invalid

CALL_STATUS_NET_CONNECTED 

Call is connected

CALL_STATUS_NET_NO_NET 

Call is disconnected

CALL_STATUS_NET_IDLE 

Call is in idle state

CALL_STATUS_NET_CONNECTING 

Call is in connecting state

CALL_STATUS_NET_DISCONNECTING 

Call is in disconnecting state

CALL_STATUS_NET_RECONFIGURED 

Interface is reconfigured, IP Address got changed

CALL_STATUS_NET_NEWADDR 

A new IP address was added on an existing call

CALL_STATUS_NET_DELADDR 

An IP address was removed from the existing interface

Bearer technology types (returned with getCurrentBearerTech).

Enumerator
BEARER_TECH_UNKNOWN 

Unknown bearer.

BEARER_TECH_CDMA_1X 

1X technology.

BEARER_TECH_EVDO_REV0 

CDMA Rev 0.

BEARER_TECH_EVDO_REVA 

CDMA Rev A.

BEARER_TECH_EVDO_REVB 

CDMA Rev B.

BEARER_TECH_EHRPD 

EHRPD.

BEARER_TECH_FMC 

Fixed mobile convergence.

BEARER_TECH_HRPD 

HRPD

BEARER_TECH_3GPP2_WLAN 

IWLAN

BEARER_TECH_WCDMA 

WCDMA.

BEARER_TECH_GPRS 

GPRS.

BEARER_TECH_HSDPA 

HSDPA.

BEARER_TECH_HSUPA 

HSUPA.

BEARER_TECH_EDGE 

EDGE.

BEARER_TECH_LTE 

LTE.

BEARER_TECH_HSDPA_PLUS 

HSDPA+.

BEARER_TECH_DC_HSDPA_PLUS 

DC HSDPA+.

BEARER_TECH_HSPA 

HSPA

BEARER_TECH_64_QAM 

64 QAM.

BEARER_TECH_TDSCDMA 

TD-SCDMA.

BEARER_TECH_GSM 

GSM

BEARER_TECH_3GPP_WLAN 

IWLAN

BEARER_TECH_MAX 

Data call terminated due to reason type.

Enumerator
CALL_FAIL_TYPE_UNKNOWN 
CALL_FAIL_TYPE_MOBILE_IP 
CALL_FAIL_TYPE_INTERNAL 
CALL_FAIL_TYPE_CALL_MANAGER_DEFINED 
CALL_FAIL_TYPE_3GPP_SPEC_DEFINED 
CALL_FAIL_TYPE_PPP 
CALL_FAIL_TYPE_EHRPD 
CALL_FAIL_TYPE_IPV6