Telematics SDK - Interface Specification  v1.26.3
Telematics_net

Data Structures

class  telux::data::net::IFirewallManager
 FirewallManager is a primary interface that filters and controls the network traffic on a pre-configured set of rules. More...
 
class  telux::data::net::IFirewallEntry
 Firewall entry class is used for configuring firewall rules. More...
 
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) More...
 
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. More...
 

Detailed Description


Data Structure Documentation

class telux::data::net::IFirewallManager

FirewallManager is a primary interface that filters and controls the network traffic on a pre-configured set of rules.

Public Member Functions

virtual bool isSubsystemReady ()=0
 
virtual std::future< bool > onSubsystemReady ()=0
 
virtual telux::common::Status setFirewall (bool enable, bool allowPackets, telux::common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status requestFirewallStatus (FirewallStatusCb callback)=0
 
virtual telux::common::Status addFirewallEntry (std::shared_ptr< IFirewallEntry > entry, telux::common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status requestFirewallEntry (FirewallEntriesCb callback)=0
 
virtual telux::common::Status removeFirewallEntry (const std::shared_ptr< IFirewallEntry > &entry, telux::common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status addDmz (const std::string ipAddr, telux::common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status removeDmz (const std::string ipAddr, telux::common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status requestDmzEntries (DmzEntriesCb dmzCb)=0
 
virtual telux::data::OperationType getOperationType ()=0
 
virtual ~IFirewallManager ()
 

Constructor & Destructor Documentation

virtual telux::data::net::IFirewallManager::~IFirewallManager ( )
virtual

Destructor for IFirewallManager

Member Function Documentation

virtual bool telux::data::net::IFirewallManager::isSubsystemReady ( )
pure virtual

Checks if the data subsystem is ready.

Returns
True if Firewall 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::net::IFirewallManager::onSubsystemReady ( )
pure virtual

Wait for data subsystem to be ready.

Returns
A future that caller can wait on to be notified when firewall 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::net::IFirewallManager::setFirewall ( bool  enable,
bool  allowPackets,
telux::common::ResponseCallback  callback = nullptr 
)
pure virtual

Sets firewall configuration to enable or disable and update configuration to drop or accept the packets matching the rules.

Parameters
[in]enableIndicates whether the firewall is enabled
[in]allowPacketsIndicates whether to accept or drop packets matching the rules
[in]callbackoptional callback to get the response setFirewall
Returns
Status of setFirewall 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::net::IFirewallManager::requestFirewallStatus ( FirewallStatusCb  callback)
pure virtual

Request status of firewall

Parameters
[in]callbackcallback to get the response of requestFirewallStatus
Returns
Status of requestFirewallStatus 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::net::IFirewallManager::addFirewallEntry ( std::shared_ptr< IFirewallEntry entry,
telux::common::ResponseCallback  callback = nullptr 
)
pure virtual

Adds the firewall rule

Parameters
[in]entryFirewall entry based on protocol type
[in]callbackoptional callback to get the response addFirewallEntry
Returns
Status of addFirewallEntry 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::net::IFirewallManager::requestFirewallEntry ( FirewallEntriesCb  callback)
pure virtual

Request Firewall rules

Parameters
[in]callbackcallback to get the response requestFirewallEntry
Returns
Status of requestFirewallEntry 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::net::IFirewallManager::removeFirewallEntry ( const std::shared_ptr< IFirewallEntry > &  entry,
telux::common::ResponseCallback  callback = nullptr 
)
pure virtual

Remove firewall entry

Parameters
[in]entryFirewall entry to be removed, get the available entries from requestFirewallEntry() API
[in]callbackcallback to get the response removeFirewallEntry
Returns
Status of removeFirewallEntry 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::net::IFirewallManager::addDmz ( const std::string  ipAddr,
telux::common::ResponseCallback  callback = nullptr 
)
pure virtual

Adds demilitarized zone (DMZ) IP address

Parameters
[in]ipAddrIP address to add
[in]callbackoptional callback to get the response addDmz
Returns
Status of addDmz 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::net::IFirewallManager::removeDmz ( const std::string  ipAddr,
telux::common::ResponseCallback  callback = nullptr 
)
pure virtual

Removes demilitarized zone (DMZ) IP address

Parameters
[in]ipAddrIP address to remove
[in]callbackoptional callback to get the response removeDmz
Returns
Status of removeDmz 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::net::IFirewallManager::requestDmzEntries ( DmzEntriesCb  dmzCb)
pure virtual

Request DMZ entries that was previously set using addDmz API

Parameters
[in]dmzCbcallback to get the response requestDmzEntries
Returns
Status of requestDmzEntries 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::data::OperationType telux::data::net::IFirewallManager::getOperationType ( )
pure virtual

Get the associated operation type for this instance.

Returns
OperationType of getOperationType i.e. LOCAL or REMOTE.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
class telux::data::net::IFirewallEntry

Firewall entry class is used for configuring firewall rules.

Public Member Functions

virtual std::shared_ptr< IIpFiltergetIProtocolFilter ()=0
 
virtual telux::data::Direction getDirection ()=0
 
virtual telux::data::IpFamilyType getIpFamilyType ()=0
 
virtual ~IFirewallEntry ()
 

Constructor & Destructor Documentation

virtual telux::data::net::IFirewallEntry::~IFirewallEntry ( )
virtual

Destructor for IFirewallEntry

Member Function Documentation

virtual std::shared_ptr<IIpFilter> telux::data::net::IFirewallEntry::getIProtocolFilter ( )
pure virtual

Get IProtocol filter type

Returns
telux::data::IIpFilter.
virtual telux::data::Direction telux::data::net::IFirewallEntry::getDirection ( )
pure virtual

Get firewall direction

Returns
telux::data::Direction.
virtual telux::data::IpFamilyType telux::data::net::IFirewallEntry::getIpFamilyType ( )
pure virtual

Get Ip FamilyType

Returns
telux::data::IpFamilyType.
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::net::IpProtocol

class telux::data::net::INatManager

NatManager is a primary interface for configuring static network address translation(SNAT) and DMZ (demilitarized zone)

Public Member Functions

virtual bool isSubsystemReady ()=0
 
virtual std::future< bool > onSubsystemReady ()=0
 
virtual telux::common::Status addStaticNatEntry (const NatConfig &snatConfig, telux::common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status removeStaticNatEntry (const NatConfig &snatConfig, telux::common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status requestStaticNatEntries (StaticNatEntriesCb snatEntriesCb)=0
 
virtual telux::data::OperationType getOperationType ()=0
 
virtual ~INatManager ()
 

Constructor & Destructor Documentation

virtual telux::data::net::INatManager::~INatManager ( )
virtual

Destructor for INatManager

Member Function Documentation

virtual bool telux::data::net::INatManager::isSubsystemReady ( )
pure virtual

Checks if the NAT manager subsystem is ready.

Returns
True if NAT 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::net::INatManager::onSubsystemReady ( )
pure virtual

Wait for NAT manager subsystem to be ready.

Returns
A future that caller can wait on to be notified when NAT 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::net::INatManager::addStaticNatEntry ( const NatConfig snatConfig,
telux::common::ResponseCallback  callback = nullptr 
)
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

Parameters
[in]snatConfigsnatConfiguration telux::net::NatConfig
[in]callbackoptional callback to get the response addStaticNatEntry
Returns
Status of addStaticNatEntry 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::net::INatManager::removeStaticNatEntry ( const NatConfig snatConfig,
telux::common::ResponseCallback  callback = nullptr 
)
pure virtual

Removes a static Network Address Translation (NAT) entry in the NAT table, it supports both IPv4 and IPv6

Parameters
[in]snatConfigsnatConfiguration telux::net::NatConfig
[in]callbackoptional callback to get the response removeStaticNatEntry
Returns
Status of removeStaticNatEntry 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::net::INatManager::requestStaticNatEntries ( StaticNatEntriesCb  snatEntriesCb)
pure virtual

Request list of static nat entries available in the NAT table

Parameters
[in]snatEntriesCbAsynchronous callback to get the list of static Network Address Translation (NAT) entries
Returns
Status of requestStaticNatEntries 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::data::OperationType telux::data::net::INatManager::getOperationType ( )
pure virtual

Get the associated operation type for this instance.

Returns
OperationType of getOperationType i.e. LOCAL or REMOTE.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
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.

Public Member Functions

virtual bool isSubsystemReady ()=0
 
virtual std::future< bool > onSubsystemReady ()=0
 
virtual telux::common::Status createVlan (const VlanConfig &vlanConfig, CreateVlanCb callback=nullptr)=0
 
virtual telux::common::Status removeVlan (int16_t vlanId, InterfaceType ifaceType, telux::common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status queryVlanInfo (QueryVlanResponseCb callback)=0
 
virtual telux::common::Status bindWithProfile (int profileId, int vlanId, telux::common::ResponseCallback callback)=0
 
virtual telux::common::Status unbindFromProfile (int profileId, int vlanId, telux::common::ResponseCallback callback)=0
 
virtual telux::common::Status queryVlanMappingList (VlanMappingResponseCb callback)=0
 
virtual telux::data::OperationType getOperationType ()=0
 
virtual ~IVlanManager ()
 

Constructor & Destructor Documentation

virtual telux::data::net::IVlanManager::~IVlanManager ( )
virtual

Destructor for IVlanManager

Member Function Documentation

virtual bool telux::data::net::IVlanManager::isSubsystemReady ( )
pure virtual

Checks if the data subsystem is ready.

Returns
True if VLAN Manager is ready for service, otherwise returns false.
virtual std::future<bool> telux::data::net::IVlanManager::onSubsystemReady ( )
pure virtual

Wait for data subsystem to be ready.

Returns
A future that caller can wait on to be notified when VLAN manager is ready.
virtual telux::common::Status telux::data::net::IVlanManager::createVlan ( const VlanConfig vlanConfig,
CreateVlanCb  callback = nullptr 
)
pure virtual

Create a VLAN associated with multiple interfaces

Note
if interface configured as VLAN for the first time, it may trigger auto reboot.
Parameters
[in]vlanConfigvlan configuration
[out]callbackoptional callback to get the response createVlan
Returns
Immediate status of createVlan() 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::net::IVlanManager::removeVlan ( int16_t  vlanId,
InterfaceType  ifaceType,
telux::common::ResponseCallback  callback = nullptr 
)
pure virtual

Remove VLAN configuration

Note
This will delete all clients associated with interface
Parameters
[in]vlanIdVLAN ID
[in]ifaceTypetelux::net::InterfaceType
[out]callbackoptional callback to get the response removeVlan
Returns
Immediate status of removeVlan() 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::net::IVlanManager::queryVlanInfo ( QueryVlanResponseCb  callback)
pure virtual

Query information about all the VLANs in the system

Parameters
[out]callbackResponse callback with list of configured VLANs
Returns
Immediate status of queryVlanInfo() 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::net::IVlanManager::bindWithProfile ( int  profileId,
int  vlanId,
telux::common::ResponseCallback  callback 
)
pure virtual

Bind a Vlan with a particular profile ID. When a WWAN network interface is brought up using IDataConnectionManager::startDataCall on that profile ID, that interface will be accessible from this Vlan

Parameters
[in]profileIdprofile id for vlan association
[in]vlanIdsets vlan id
[out]callbackcallback to get the response of associateWithProfileId API
Returns
Immediate status of associateWithProfileId() 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::net::IVlanManager::unbindFromProfile ( int  profileId,
int  vlanId,
telux::common::ResponseCallback  callback 
)
pure virtual

Unbind VLAN id with given profile id

Parameters
[in]profileIdprofile id for vlan association
[in]vlanIdvlan id
[in]callbackcallback to get the response of associateWithProfileId API
Returns
Immediate status of disassociateFromProfileId() 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::net::IVlanManager::queryVlanMappingList ( VlanMappingResponseCb  callback)
pure virtual

Query VLAN mapping list with associated profile id and vlan id

Parameters
[in]callbackcallback to get the response of queryVlanMappingList API
Returns
Immediate status of queryVlanMappingList() 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::data::OperationType telux::data::net::IVlanManager::getOperationType ( )
pure virtual

Get the associated operation type for this instance.

Returns
OperationType of getOperationType i.e. LOCAL or REMOTE.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.