Telematics SDK - API Reference
v1.54.0
|
Data Structures | |
struct | telux::data::net::BridgeInfo |
class | telux::data::net::IBridgeManager |
IBridgeManager provides APIs to enable/disable and set/get/delete software bridges for various WLAN and Ethernet interfaces. 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::net::IBridgeListener |
class | telux::data::net::IFirewallManager |
FirewallManager is a primary interface that filters and controls the network traffic on a pre-configured set of rules. 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::net::IFirewallEntry |
Firewall entry class is used for configuring firewall rules. More... | |
class | telux::data::net::IFirewallListener |
struct | telux::data::net::L2tpSessionConfig |
struct | telux::data::net::L2tpTunnelConfig |
struct | telux::data::net::L2tpSysConfig |
class | telux::data::net::IL2tpManager |
L2tpManager is a primary interface for configuring L2TP Service. 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::net::IL2tpListener |
struct | telux::data::net::NatConfig |
class | telux::data::net::INatManager |
NatManager is a primary interface for configuring static network address translation(SNAT) and DMZ (demilitarized zone). 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::net::INatListener |
class | telux::data::net::ISocksManager |
SocksManager is a primary interface for configuring legacy Socks proxy server. 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::net::ISocksListener |
class | telux::data::net::IVlanManager |
VlanManager is a primary interface for configuring VLAN (Virtual Local Area Network). it provide APIs for create, query, remove VLAN interfaces and associate or disassociate with profile IDs. 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::net::IVlanListener |
Typedefs | |
using | telux::data::net::BridgeInfoResponseCb = std::function< void(const std::vector< BridgeInfo > &infos, telux::common::ErrorCode error)> |
using | telux::data::net::FirewallStatusCb = std::function< void(bool enable, bool allowPackets, telux::common::ErrorCode error)> |
using | telux::data::net::FirewallEntriesCb = std::function< void(std::vector< std::shared_ptr< IFirewallEntry >> entries, telux::common::ErrorCode error)> |
using | telux::data::net::DmzEntriesCb = std::function< void(std::vector< std::string > dmzEntries, telux::common::ErrorCode error)> |
using | telux::data::net::L2tpConfigCb = std::function< void(const L2tpSysConfig &l2tpSysConfig, telux::common::ErrorCode error)> |
using | telux::data::net::StaticNatEntriesCb = std::function< void(const std::vector< NatConfig > &snatEntries, telux::common::ErrorCode error)> |
using | telux::data::net::CreateVlanCb = std::function< void(bool isAccelerated, telux::common::ErrorCode error)> |
using | telux::data::net::QueryVlanResponseCb = std::function< void(const std::vector< VlanConfig > &configs, telux::common::ErrorCode error)> |
using | telux::data::net::VlanMappingResponseCb = std::function< void(const std::list< std::pair< int, int >> &mapping, telux::common::ErrorCode error)> |
This section contains APIs related to data network configuration.
struct telux::data::net::BridgeInfo |
Structure to configure a software bridge for an interface
Data Fields | ||
---|---|---|
string | ifaceName |
Interface name |
BridgeIFaceType | ifaceType |
Interface type |
uint32_t | bandwidth |
Bandwidth(in Mbps) required for software bridge |
class telux::data::net::IBridgeManager |
IBridgeManager provides APIs to enable/disable and set/get/delete software bridges for various WLAN and Ethernet interfaces. It also provides interface to Subsystem Restart events by registering as listener. Notifications will be received when modem is ready/not ready.
Public Member Functions | |
virtual telux::common::ServiceStatus | getServiceStatus ()=0 |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | enableBridge (bool enable, telux::common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | addBridge (BridgeInfo config, telux::common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | requestBridgeInfo (BridgeInfoResponseCb callback)=0 |
virtual telux::common::Status | removeBridge (std::string ifaceName, telux::common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | registerListener (std::weak_ptr< IBridgeListener > listener)=0 |
virtual telux::common::Status | deregisterListener (std::weak_ptr< IBridgeListener > listener)=0 |
virtual | ~IBridgeManager () |
|
virtual |
Destructor for IBridgeManager
|
pure virtual |
Checks the status of Bridge manager and returns the result.
|
pure virtual |
Checks if the Bridge manager subsystem is ready.
|
pure virtual |
Wait for Bridge manager subsystem to be ready.
|
pure virtual |
Enable/Disable the software bridge in the system. It will affect all the configured software bridges for various interfaces.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_NETWORK_CONFIG permission to invoke this API successfully.
[in] | enable | TRUE to enable, FALSE to disable the bridge |
[in] | callback | Optional callback to get the response for enableBridge |
|
pure virtual |
Add software bridge configuration for an interface.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_NETWORK_CONFIG permission to invoke this API successfully.
[in] | config | configuration for an interface |
[in] | callback | Optional callback to get the response for addBridge |
|
pure virtual |
Request information about all the software bridge configurations in the system
[in] | callback | Response callback with list of bridge configurations |
|
pure virtual |
Delete a software bridge configuration for an interface.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_NETWORK_CONFIG permission to invoke this API successfully.
[in] | ifaceName | Name of the interface whose configuration needs to be deleted |
[in] | callback | Optional callback to get the response for removeBridge |
|
pure virtual |
Register Bridge Manager as listener for Data Service heath events like data service available or data service not available.
[in] | listener | pointer of IBridgeListener object that processes the notification |
|
pure virtual |
Removes a previously added listener.
[in] | listener | pointer of IBridgeListener object that needs to be removed |
class telux::data::net::IBridgeListener |
Interface for Bridge listener object. Client needs to implement this interface to get access to Bridge services notifications like onServiceStatusChange.
The methods in listener can be invoked from multiple different threads. The implementation should be thread safe.
Public Member Functions | |
virtual void | onServiceStatusChange (telux::common::ServiceStatus status) |
virtual | ~IBridgeListener () |
|
virtual |
Destructor for IBridgeListener
|
virtual |
This function is called when service status changes.
[in] | status | - ServiceStatus |
class telux::data::net::IFirewallManager |
FirewallManager is a primary interface that filters and controls the network traffic on a pre-configured set of rules. It also provides interface to Subsystem Restart events by registering as listener. Notifications will be received when modem is ready/not ready.
Public Member Functions | |
virtual telux::common::ServiceStatus | getServiceStatus ()=0 |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | setFirewall (int profileId, bool enable, bool allowPackets, telux::common::ResponseCallback callback=nullptr, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | requestFirewallStatus (int profileId, FirewallStatusCb callback, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | addFirewallEntry (int profileId, std::shared_ptr< IFirewallEntry > entry, telux::common::ResponseCallback callback=nullptr, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | requestFirewallEntries (int profileId, FirewallEntriesCb callback, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | removeFirewallEntry (int profileId, uint32_t handle, telux::common::ResponseCallback callback=nullptr, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | enableDmz (int profileId, const std::string ipAddr, telux::common::ResponseCallback callback=nullptr, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | disableDmz (int profileId, const telux::data::IpFamilyType ipType, telux::common::ResponseCallback callback=nullptr, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | requestDmzEntry (int profileId, DmzEntriesCb dmzCb, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | registerListener (std::weak_ptr< IFirewallListener > listener)=0 |
virtual telux::common::Status | deregisterListener (std::weak_ptr< IFirewallListener > listener)=0 |
virtual telux::data::OperationType | getOperationType ()=0 |
virtual | ~IFirewallManager () |
|
virtual |
Destructor for IFirewallManager
|
pure virtual |
Checks the status of Firewall manager and returns the result.
|
pure virtual |
Checks if the Firewall manager subsystem is ready.
|
pure virtual |
Wait for Firewall manager subsystem to be ready.
|
pure virtual |
Sets firewall configuration to enable or disable and update configuration to drop or accept the packets matching the rules.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_NETWORK_CONFIG permission to invoke this API successfully.
[in] | profileId | Profile identifier on which firewall will be set. |
[in] | enable | Indicates whether the firewall is enabled |
[in] | allowPackets | Indicates whether to accept or drop packets matching the rules |
[in] | callback | optional callback to get the response setFirewall |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Request status of firewall
[in] | profileId | Profile identifier for which firewall status is requested. |
[in] | callback | callback to get the response of requestFirewallStatus |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Adds the firewall rule
On platforms with Access control enabled, Caller needs to have TELUX_DATA_NETWORK_CONFIG permission to invoke this API successfully.
[in] | profileId | Profile identifier on which firewall rule will be added. |
[in] | entry | Firewall entry based on protocol type |
[in] | callback | optional callback to get the response addFirewallEntry |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Request Firewall rules
[in] | profileId | Profile identifier on which firewall entries are retrieved. |
[in] | callback | callback to get the response requestFirewallEntries. |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Remove firewall entry
On platforms with Access control enabled, Caller needs to have TELUX_DATA_NETWORK_CONFIG permission to invoke this API successfully.
[in] | profileId | Profile identifier on which firewall entry will be removed. |
[in] | handle | handle of Firewall entry to be removed. To retrieve the handle, first use requestFirewallEntries() to get the list of entries added in the system. And then use IFirewallEntry::getHandle() |
[in] | callback | callback to get the response removeFirewallEntry |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Enable demilitarized zone (DMZ)
On platforms with Access control enabled, Caller needs to have TELUX_DATA_NETWORK_CONFIG permission to invoke this API successfully.
[in] | profileId | Profile identifier on which DMZ will be enabled. |
[in] | ipAddr | IP address for which DMZ will be enabled |
[in] | callback | optional callback to get the response addDmz |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Disable demilitarized zone (DMZ)
On platforms with Access control enabled, Caller needs to have TELUX_DATA_NETWORK_CONFIG permission to invoke this API successfully.
[in] | profileId | Profile identifier on which DMZ will be disabled. |
[in] | ipType | Specify IP type of the DMZ to be disabled |
[in] | callback | optional callback to get the response removeDmz |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Request DMZ entry that was previously set using enableDmz API
[in] | profileId | Profile identifier on which DMZ entries are requested. |
[in] | dmzCb | callback to get the response requestDmzEntry |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Register Firewall Manager as listener for Data Service heath events like data service available or data service not available.
[in] | listener | pointer of IFirewallListener object that processes the notification |
|
pure virtual |
Removes a previously added listener.
[in] | listener | pointer of IFirewallListener object that needs to be removed |
|
pure virtual |
Get the associated operation type for this instance.
class telux::data::net::IFirewallEntry |
Firewall entry class is used for configuring firewall rules.
Public Member Functions | |
virtual std::shared_ptr< IIpFilter > | getIProtocolFilter ()=0 |
virtual telux::data::Direction | getDirection ()=0 |
virtual telux::data::IpFamilyType | getIpFamilyType ()=0 |
virtual uint32_t | getHandle ()=0 |
virtual | ~IFirewallEntry () |
Static Public Attributes | |
static const uint32_t | INVALID_HANDLE = 0 |
|
virtual |
Destructor for IFirewallEntry
|
pure virtual |
Get IProtocol filter type
|
pure virtual |
Get firewall direction
|
pure virtual |
Get Ip FamilyType
|
pure virtual |
Get the unique handle identifying this Firewall entry in the system
|
static |
class telux::data::net::IFirewallListener |
Interface for Firewall listener object. Client needs to implement this interface to get access to Firewall services notifications like onServiceStatusChange.
The methods in listener can be invoked from multiple different threads. The implementation should be thread safe.
Public Member Functions | |
virtual void | onServiceStatusChange (telux::common::ServiceStatus status) |
virtual | ~IFirewallListener () |
|
virtual |
Destructor for IFirewallListener
|
virtual |
This function is called when service status changes.
[in] | status | - ServiceStatus |
struct telux::data::net::L2tpSessionConfig |
struct telux::data::net::L2tpTunnelConfig |
L2TP tunnel configuration
Data Fields | ||
---|---|---|
L2tpProtocol | prot |
Encapsulation protocols |
uint32_t | locId |
Local tunnel id |
uint32_t | peerId |
Peer tunnel id |
uint32_t | localUdpPort |
Local udp port - if UDP encapsulation is used |
uint32_t | peerUdpPort |
Peer udp port - if IP encapsulation is used |
string | peerIpv6Addr |
Peer IPv6 Address - for Ipv6 tunnels |
string | peerIpv4Addr |
Peer IPv4 Address - for Ipv4 tunnels |
string | locIface |
interface name to create L2TP tunnel on |
IpFamilyType | ipType |
Ip family type telux::data::IpFamilyType |
vector< L2tpSessionConfig > | sessionConfig |
List of L2tp tunnel sessions |
struct telux::data::net::L2tpSysConfig |
L2TP Configuration
Data Fields | ||
---|---|---|
vector< L2tpTunnelConfig > | configList |
List of L2tp tunnel configurations |
bool | enableMtu |
Enable MTU size setting on underlying interfaces to avoid segmentation |
bool | enableTcpMss |
Enable TCP MSS clampping on L2TP interfaces to avoid segmentation |
uint32_t | mtuSize |
Current MTU size in bytes |
class telux::data::net::IL2tpManager |
L2tpManager is a primary interface for configuring L2TP Service. It also provides interface to Subsystem Restart events by registering as listener. Notifications will be received when modem is ready/not ready.
Public Member Functions | |
virtual telux::common::ServiceStatus | getServiceStatus ()=0 |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | setConfig (bool enable, bool enableMss, bool enableMtu, telux::common::ResponseCallback callback=nullptr, uint32_t mtuSize=0)=0 |
virtual telux::common::Status | addTunnel (const L2tpTunnelConfig &l2tpTunnelConfig, telux::common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | requestConfig (L2tpConfigCb l2tpConfigCb)=0 |
virtual telux::common::Status | removeTunnel (uint32_t tunnelId, telux::common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | registerListener (std::weak_ptr< IL2tpListener > listener)=0 |
virtual telux::common::Status | deregisterListener (std::weak_ptr< IL2tpListener > listener)=0 |
virtual | ~IL2tpManager () |
|
virtual |
Destructor for IL2tpManager
|
pure virtual |
Checks the status of L2tp manager and returns the result.
|
pure virtual |
Checks if the L2tp manager subsystem is ready.
|
pure virtual |
Wait for L2tp manager subsystem to be ready.
|
pure virtual |
Enable L2TP for unmanaged Tunnel State
On platforms with Access control enabled, Caller needs to have TELUX_DATA_NETWORK_CONFIG permission to invoke this API successfully.
[in] | enable | Enable/Disable L2TP for unmanaged tunnels. |
[in] | enableMss | Enable/Disable TCP MSS to be clamped on L2TP interfaces to avoid Segmentation |
[in] | enableMtu | Enable/Disable MTU size to be set on underlying interfaces to avoid fragmentation |
[in] | callback | optional callback to get the response setConfig |
[in] | mtuSize | optional MTU size in bytes. If not set, MTU size will be set to default 1422 bytes |
|
pure virtual |
Set L2TP Configuration for one tunnel
On platforms with Access control enabled, Caller needs to have TELUX_DATA_NETWORK_CONFIG permission to invoke this API successfully.
[in] | l2tpTunnelConfig | Configuration to be set telux::data::net::L2tpTunnelConfig |
[in] | callback | Optional callback to get the response addTunnel |
|
pure virtual |
Get Current L2TP Configuration
[in] | l2tpConfigCb | Asynchronous callback to get current L2TP configurations |
|
pure virtual |
Remove L2TP Tunnel
On platforms with Access control enabled, Caller needs to have TELUX_DATA_NETWORK_CONFIG permission to invoke this API successfully.
[in] | tunnelId | Tunnel ID to be removed |
[in] | callback | optional callback to get the response removeConfig |
|
pure virtual |
Register L2TP Manager as listener for Data Service heath events like data service available or data service not available.
[in] | listener | pointer of IL2tpListener object that processes the notification |
|
pure virtual |
Removes a previously added listener.
[in] | listener | pointer of IL2tpListener object that needs to be removed |
class telux::data::net::IL2tpListener |
Interface for L2TP listener object. Client needs to implement this interface to get access to L2TP services notifications like onServiceStatusChange.
The methods in listener can be invoked from multiple different threads. The implementation should be thread safe.
Public Member Functions | |
virtual void | onServiceStatusChange (telux::common::ServiceStatus status) |
virtual | ~IL2tpListener () |
|
virtual |
Destructor for IL2tpListener
|
virtual |
This function is called when service status changes.
[in] | status | - ServiceStatus |
struct telux::data::net::NatConfig |
Structure represents Network Address Translation (NAT) configuration
Data Fields | ||
---|---|---|
string | addr |
Private IP address |
uint16_t | port |
Private port |
uint16_t | globalPort |
Global port |
IpProtocol | proto |
IP protocol telux::data::IpProtocol |
class telux::data::net::INatManager |
NatManager is a primary interface for configuring static network address translation(SNAT) and DMZ (demilitarized zone). It also provides interface to Subsystem Restart events by registering as listener. Notifications will be received when modem is ready/not ready.
Public Member Functions | |
virtual telux::common::ServiceStatus | getServiceStatus ()=0 |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | addStaticNatEntry (int profileId, const NatConfig &snatConfig, telux::common::ResponseCallback callback=nullptr, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | removeStaticNatEntry (int profileId, const NatConfig &snatConfig, telux::common::ResponseCallback callback=nullptr, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | requestStaticNatEntries (int profileId, StaticNatEntriesCb snatEntriesCb, SlotId slotId=DEFAULT_SLOT_ID)=0 |
virtual telux::common::Status | registerListener (std::weak_ptr< INatListener > listener)=0 |
virtual telux::common::Status | deregisterListener (std::weak_ptr< INatListener > listener)=0 |
virtual telux::data::OperationType | getOperationType ()=0 |
virtual | ~INatManager () |
|
virtual |
Destructor for INatManager
|
pure virtual |
Checks the status of NAT manager and returns the result.
|
pure virtual |
Checks if the NAT manager subsystem is ready.
|
pure virtual |
Wait for NAT manager subsystem to be ready.
|
pure virtual |
Adds a static Network Address Translation (NAT) entry in the NAT table, these entries are persistent across object, connection and reboot lifetimes. To remove an entry it needs a explicit call to removeStaticNatEntry() API, it supports both IPv4 and IPv6
On platforms with Access control enabled, Caller needs to have TELUX_DATA_NETWORK_CONFIG permission to invoke this API successfully.
[in] | profileId | Profile identifier to which static entry will be mapped to. |
[in] | snatConfig | snatConfiguration telux::data::net::NatConfig |
[in] | callback | optional callback to get the response addStaticNatEntry |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Removes a static Network Address Translation (NAT) entry in the NAT table, it supports both IPv4 and IPv6
On platforms with Access control enabled, Caller needs to have TELUX_DATA_NETWORK_CONFIG permission to invoke this API successfully.
[in] | profileId | Profile identifier to which static entry will be removed from. |
[in] | snatConfig | snatConfiguration telux::data::net::NatConfig |
[in] | callback | optional callback to get the response removeStaticNatEntry |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Request list of static nat entries available in the NAT table
[in] | profileId | Profile identifier to which static entries will be retrieved. |
[in] | snatEntriesCb | Asynchronous callback to get the list of static Network Address Translation (NAT) entries |
[in] | slotId | Specify slot id which has the sim that contains profile id |
|
pure virtual |
Register Nat Manager as listener for Data Service heath events like data service available or data service not available.
[in] | listener | pointer of INatListener object that processes the notification |
|
pure virtual |
Removes a previously added listener.
[in] | listener | pointer of INatListener object that needs to be removed |
|
pure virtual |
Get the associated operation type for this instance.
class telux::data::net::INatListener |
Interface for Nat listener object. Client needs to implement this interface to get access to Nat services notifications like onServiceStatusChange.
The methods in listener can be invoked from multiple different threads. The implementation should be thread safe.
Public Member Functions | |
virtual void | onServiceStatusChange (telux::common::ServiceStatus status) |
virtual | ~INatListener () |
|
virtual |
Destructor for INatListener
|
virtual |
This function is called when service status changes.
[in] | status | - ServiceStatus |
class telux::data::net::ISocksManager |
SocksManager is a primary interface for configuring legacy Socks proxy server. It also provides interface to Subsystem Restart events by registering as listener. Notifications will be received when modem is ready/not ready.
Public Member Functions | |
virtual telux::common::ServiceStatus | getServiceStatus ()=0 |
virtual bool | isSubsystemReady ()=0 |
virtual std::future< bool > | onSubsystemReady ()=0 |
virtual telux::common::Status | enableSocks (bool enable, telux::common::ResponseCallback callback=nullptr)=0 |
virtual telux::common::Status | registerListener (std::weak_ptr< ISocksListener > listener)=0 |
virtual telux::common::Status | deregisterListener (std::weak_ptr< ISocksListener > listener)=0 |
virtual telux::data::OperationType | getOperationType ()=0 |
virtual | ~ISocksManager () |
|
virtual |
Destructor for Socks Manager
|
pure virtual |
Checks the status of SocksManager and returns the result.
|
pure virtual |
Checks if the SocksManager subsystem is ready.
|
pure virtual |
Wait for SocksManager subsystem to be ready.
|
pure virtual |
Enable or Disable Socks proxy service.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_NETWORK_CONFIG permission to invoke this API successfully.
[in] | enable | true: enable proxy, false: disable proxy |
[in] | callback | optional callback to get the operation error code if any |
|
pure virtual |
Register Socks Manager as listener for Data Service heath events like data service available or data service not available.
[in] | listener | pointer of ISocksListener object that processes the notification |
|
pure virtual |
Removes a previously added listener.
[in] | listener | pointer of ISocksListener object that needs to be removed |
|
pure virtual |
Get the associated operation type for this instance.
class telux::data::net::ISocksListener |
Interface for Socks listener object. Client needs to implement this interface to get access to Socks services notifications like onServiceStatusChange.
The methods in listener can be invoked from multiple different threads. The implementation should be thread safe.
Public Member Functions | |
virtual void | onServiceStatusChange (telux::common::ServiceStatus status) |
virtual | ~ISocksListener () |
|
virtual |
Destructor for ISocksListener
|
virtual |
This function is called when service status changes.
[in] | status | - ServiceStatus |
class telux::data::net::IVlanManager |
VlanManager is a primary interface for configuring VLAN (Virtual Local Area Network). it provide APIs for create, query, remove VLAN interfaces and associate or disassociate with profile IDs. 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 IVlanManager
|
pure virtual |
Checks the status of VLAN manager and returns the result.
|
pure virtual |
Checks if the VLAN manager subsystem is ready.
|
pure virtual |
Wait for VLAN manager subsystem to be ready.
|
pure virtual |
Create a VLAN associated with multiple interfaces Creates VLAN on hardware interface telux::data::InterfaceType, assigns VLAN id, assigns VLAN priority level (according to IEEE 802.1p priority code point-PCP), and sets whether traffic on this VLAN needs to be accelerated. If platform does not support assigning priorities to VLANs and priority is set to value other than 0, telux::common::Status::NOTSUPPORTED is returned. If platform supports Vlan priority, all traffic coming from WWAN or LAN are stamped with priority before sending traffic to tethered client.
On platforms with Access control enabled, Caller needs to have TELUX_DATA_NETWORK_CONFIG permission to invoke this API successfully.
[in] | vlanConfig | VLAN configuration |
[out] | callback | optional callback to get the response createVlan |
|
pure virtual |
Remove VLAN configuration
On platforms with Access control enabled, Caller needs to have TELUX_DATA_NETWORK_CONFIG permission to invoke this API successfully.
[in] | vlanId | VLAN ID |
[in] | ifaceType | telux::data::InterfaceType |
[out] | callback | optional callback to get the response removeVlan |
|
pure virtual |
Query information about all the VLANs in the system
[out] | callback | Response callback with list of configured VLANs |
|
pure virtual |
Bind a VLAN with a particular profile id and slot id. When a WWAN network interface is brought up using IDataConnectionManager::startDataCall on that profile id and slot id, that interface will be accessible from this VLAN The behavior of this API is dependent on platform/system configuration. If the platform is configured to allow multiple VLANs to be bound to the same profile id - slot id pair then:
[in] | profileId | profile id for VLAN association |
[in] | vlanId | VLAN ID to be bound to the data call brought up on the profile id |
[out] | callback | callback to get the response of associateWithProfileId API |
[in] | slotId | Specify slot id which has the sim that contains profile id. |
|
pure virtual |
Unbind VLAN id from given slot id and profile id This setting will be persistant across multiple boots.
[in] | profileId | profile id for VLAN association |
[in] | vlanId | VLAN ID to be unbound to the data call brought up on the profile id |
[in] | callback | callback to get the response of associateWithProfileId API |
[in] | slotId | Specify slot id which has the sim that contains profile id . |
|
pure virtual |
Query VLAN mapping of profile id and VLAN id on specified sim
[in] | callback | callback to get the response of queryVlanMappingList API |
[in] | slotId | Specify slot id which has the sim that contains profile id mapping to VLAN id. |
|
pure virtual |
Register VLAN Manager as a listener for Data Service health events like data service available or data service not available.
[in] | listener | pointer of IVlanListener object that processes the notification |
|
pure virtual |
Removes a previously added listener.
[in] | listener | pointer of IVlanListener object that needs to be removed |
|
pure virtual |
Get the associated operation type for this instance.
class telux::data::net::IVlanListener |
Interface for VLAN listener object. Client needs to implement this interface to get access to Socks services notifications like onServiceStatusChange.
The methods in listener can be invoked from multiple different threads. The implementation should be thread safe.
Public Member Functions | |
virtual void | onServiceStatusChange (telux::common::ServiceStatus status) |
virtual void | onHwAccelerationChanged (const ServiceState state) |
virtual | ~IVlanListener () |
|
virtual |
Destructor for IVlanListener
|
virtual |
This function is called when service status changes.
[in] | status | - ServiceStatus |
|
virtual |
This function is called when there is a change in IPA Connection Manager daemon state.
[in] | state | New state of IPA connection Manager daemon Active/Inactive |
using telux::data::net::BridgeInfoResponseCb = typedef std::function<void(const std::vector<BridgeInfo> &infos, telux::common::ErrorCode error)> |
This function is called as a response to requestBridgeInfo
[in] | infos | List of the software bridge configurations in the system |
[in] | error | Return code which indicates whether the operation is succeeded or not telux::common::ErrorCode |
using telux::data::net::FirewallStatusCb = typedef std::function<void(bool enable, bool allowPackets, telux::common::ErrorCode error)> |
This function is called as a response to requestFirewallStatus()
[in] | enable | Indicates whether the firewall is enabled |
[in] | allowPackets | Indicates whether to accept or drop packets matching the rules |
[in] | error | - Return code which indicates whether the operation succeeded or not. telux::common::ErrorCode |
using telux::data::net::FirewallEntriesCb = typedef std::function<void( std::vector<std::shared_ptr<IFirewallEntry>> entries, telux::common::ErrorCode error)> |
This function is called as a response to requestFirewallEntries()
[in] | entries | list of firewall entries |
[in] | error | - Return code which indicates whether the operation succeeded or not. telux::common::ErrorCode |
using telux::data::net::DmzEntriesCb = typedef std::function<void(std::vector<std::string> dmzEntries, telux::common::ErrorCode error)> |
This function is called as a response to requestDmzEntries()
[in] | dmzEntries | list of dmz entries |
[in] | error | Return code which indicates whether the operation succeeded or not. telux::common::ErrorCode |
using telux::data::net::L2tpConfigCb = typedef std::function<void(const L2tpSysConfig &l2tpSysConfig, telux::common::ErrorCode error)> |
This function is called as a response to requestConfig()
[in] | l2tpSysConfig | Current L2TP configuration |
[in] | error | Return code which indicates whether the operation succeeded or not telux::common::ErrorCode |
using telux::data::net::StaticNatEntriesCb = typedef std::function<void(const std::vector<NatConfig> &snatEntries, telux::common::ErrorCode error)> |
This function is called as a response to requestStaticNatEntries()
[in] | snatEntries | list of static Network Address Translation (NAT) |
[in] | error | Return code which indicates whether the operation succeeded or not telux::common::ErrorCode |
using telux::data::net::CreateVlanCb = typedef std::function<void(bool isAccelerated, telux::common::ErrorCode error)> |
This function is called as a response to createVlan()
[in] | isAccelerated | Offload status returned by server |
[in] | error | Return code which indicates whether the operation succeeded or not telux::common::ErrorCode |
using telux::data::net::QueryVlanResponseCb = typedef std::function<void(const std::vector<VlanConfig> &configs, telux::common::ErrorCode error)> |
This function is called as a response to queryVlanInfo()
[in] | configs | List of VLAN configs |
[in] | error | Return code which indicates whether the operation succeeded or not telux::common::ErrorCode |
using telux::data::net::VlanMappingResponseCb = typedef std::function<void( const std::list<std::pair<int, int>> &mapping, telux::common::ErrorCode error)> |
This function is called as a response to queryVlanMappingList()
[in] | mapping | List of profile Id and VLAN id map Key is Profile Id and value is VLAN id |
[in] | error | Return code which indicates whether the operation succeeded or not telux::common::ErrorCode |
|
strong |
|
strong |