Telematics SDK - Interface Specification  v1.27.0
 All Data Structures Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
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 (int profileId, bool enable, bool allowPackets, telux::common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status requestFirewallStatus (int profileId, FirewallStatusCb callback)=0
 
virtual telux::common::Status addFirewallEntry (int profileId, std::shared_ptr< IFirewallEntry > entry, telux::common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status requestFirewallEntry (int profileId, FirewallEntriesCb callback)=0
 
virtual telux::common::Status removeFirewallEntry (int profileId, const std::shared_ptr< IFirewallEntry > &entry, telux::common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status enableDmz (int profileId, const std::string ipAddr, telux::common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status disableDmz (int profileId, const telux::data::IpFamilyType ipType, telux::common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status requestDmzEntry (int profileId, 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 ( int  profileId,
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]profileIdProfile identifier on which firewall will be set.
[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 ( int  profileId,
FirewallStatusCb  callback 
)
pure virtual

Request status of firewall

Parameters
[in]profileIdProfile identifier for which firewall status is requested.
[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 ( int  profileId,
std::shared_ptr< IFirewallEntry entry,
telux::common::ResponseCallback  callback = nullptr 
)
pure virtual

Adds the firewall rule

Parameters
[in]profileIdProfile identifier on which firewall rule will be added.
[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 ( int  profileId,
FirewallEntriesCb  callback 
)
pure virtual

Request Firewall rules

Parameters
[in]profileIdProfile identifier on which firewall entries are retrieved.
[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 ( int  profileId,
const std::shared_ptr< IFirewallEntry > &  entry,
telux::common::ResponseCallback  callback = nullptr 
)
pure virtual

Remove firewall entry

Parameters
[in]profileIdProfile identifier on which firewall entry will be removed.
[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::enableDmz ( int  profileId,
const std::string  ipAddr,
telux::common::ResponseCallback  callback = nullptr 
)
pure virtual

Enable demilitarized zone (DMZ)

Parameters
[in]profileIdProfile identifier on which DMZ will be enabled.
[in]ipAddrIP address for which DMZ will be enabled
[in]callbackoptional callback to get the response addDmz
Returns
Status of enableDmz 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::disableDmz ( int  profileId,
const telux::data::IpFamilyType  ipType,
telux::common::ResponseCallback  callback = nullptr 
)
pure virtual

Disable demilitarized zone (DMZ)

Parameters
[in]profileIdProfile identifier on which DMZ will be disabled.
[in]ipTypeSpecify IP type of the DMZ to be disabled
[in]callbackoptional callback to get the response removeDmz
Returns
Status of disableDmz 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::requestDmzEntry ( int  profileId,
DmzEntriesCb  dmzCb 
)
pure virtual

Request DMZ entry that was previously set using enableDmz API

Parameters
[in]profileIdProfile identifier on which DMZ entries are requested.
[in]dmzCbcallback to get the response requestDmzEntry
Returns
Status of requestDmzEntry 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
< IIpFilter
getIProtocolFilter ()=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 (int profileId, const NatConfig &snatConfig, telux::common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status removeStaticNatEntry (int profileId, const NatConfig &snatConfig, telux::common::ResponseCallback callback=nullptr)=0
 
virtual telux::common::Status requestStaticNatEntries (int profileId, 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 ( int  profileId,
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]profileIdProfile identifier to which static entry will be mapped to.
[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 ( int  profileId,
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]profileIdProfile identifier to which static entry will be removed from.
[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 ( int  profileId,
StaticNatEntriesCb  snatEntriesCb 
)
pure virtual

Request list of static nat entries available in the NAT table

Parameters
[in]profileIdProfile identifier to which static entries will be retrieved.
[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.