mirror of https://github.com/ARMmbed/mbed-os.git
Added new start methods to Wi-SUN BR with WisunInterface parameter and deprecated the old ones
Previously WisunBorderRouter start() used NetworkInterface type for mesh interface, although only WisunInterface type is possible for the call. Added a new overloads of the start with the WisunInterface as mesh interface type and deprecated the old ones. This makes the calls stricter about the interface type and safer. It also allows to remove the reinterpret_cast that causes compiler warning on ARM compiler.pull/14463/head
parent
84e5f1e03e
commit
989c8e85eb
|
@ -86,6 +86,21 @@ public:
|
|||
* \return MESH_ERROR_NONE on success.
|
||||
* \return MESH_ERROR_UNKNOWN in case of failure.
|
||||
* */
|
||||
mesh_error_t start(WisunInterface *mesh_if, NetworkInterface *backbone_if);
|
||||
|
||||
/**
|
||||
* \brief Start Wi-SUN Border Router
|
||||
*
|
||||
* Starts Wi-SUN Border Router and routing between the mesh and backbone interfaces. Network interfaces
|
||||
* must be initialized and connected before calling the start. Backbone interface can be either Ethernet
|
||||
* (EMAC) or Cellular.
|
||||
*
|
||||
* \param mesh_if Wi-SUN mesh network interface
|
||||
* \param backbone_if Backbone network interface
|
||||
* \return MESH_ERROR_NONE on success.
|
||||
* \return MESH_ERROR_UNKNOWN in case of failure.
|
||||
* */
|
||||
MBED_DEPRECATED_SINCE("mbed-os-6.10.0", "Using NetworkInterface type for mesh_if is deprecated, use WisunInterface instead")
|
||||
mesh_error_t start(NetworkInterface *mesh_if, NetworkInterface *backbone_if);
|
||||
|
||||
/**
|
||||
|
@ -100,6 +115,21 @@ public:
|
|||
* \return MESH_ERROR_NONE on success.
|
||||
* \return MESH_ERROR_UNKNOWN in case of failure.
|
||||
* */
|
||||
mesh_error_t start(WisunInterface *mesh_if, OnboardNetworkStack::Interface *backbone_if);
|
||||
|
||||
/**
|
||||
* \brief Start Wi-SUN Border Router
|
||||
*
|
||||
* Starts Wi-SUN Border Router and routing between the mesh and backbone interfaces. Mesh network interface
|
||||
* must be initialized and connected before calling the start. Backbone OnboardNetworkStack::Interface must
|
||||
* be brought up before calling the start. Backbone interface can be either Ethernet (EMAC) or Cellular (PPP).
|
||||
*
|
||||
* \param mesh_if Wi-SUN mesh network interface
|
||||
* \param backbone_if Backbone OnboardNetworkStack::Interface interface
|
||||
* \return MESH_ERROR_NONE on success.
|
||||
* \return MESH_ERROR_UNKNOWN in case of failure.
|
||||
* */
|
||||
MBED_DEPRECATED_SINCE("mbed-os-6.10.0", "Using NetworkInterface type for mesh_if is deprecated, use WisunInterface instead")
|
||||
mesh_error_t start(NetworkInterface *mesh_if, OnboardNetworkStack::Interface *backbone_if);
|
||||
|
||||
/**
|
||||
|
|
|
@ -40,8 +40,17 @@ mesh_error_t WisunBorderRouter::start(NetworkInterface *mesh_if, NetworkInterfac
|
|||
return MESH_ERROR_PARAM;
|
||||
}
|
||||
|
||||
InterfaceNanostack *nano_mesh_if = reinterpret_cast<InterfaceNanostack *>(mesh_if);
|
||||
int8_t mesh_if_id = nano_mesh_if->get_interface_id();
|
||||
WisunInterface *wisun_mesh_if = reinterpret_cast<WisunInterface *>(mesh_if);
|
||||
return start(wisun_mesh_if, backbone_if);
|
||||
}
|
||||
|
||||
mesh_error_t WisunBorderRouter::start(WisunInterface *mesh_if, NetworkInterface *backbone_if)
|
||||
{
|
||||
if (mesh_if == NULL || backbone_if == NULL) {
|
||||
return MESH_ERROR_PARAM;
|
||||
}
|
||||
|
||||
int8_t mesh_if_id = mesh_if->get_interface_id();
|
||||
if (mesh_if_id < 0) {
|
||||
return MESH_ERROR_UNKNOWN;
|
||||
}
|
||||
|
@ -71,10 +80,24 @@ mesh_error_t WisunBorderRouter::start(NetworkInterface *mesh_if, NetworkInterfac
|
|||
return MESH_ERROR_NONE;
|
||||
}
|
||||
|
||||
|
||||
mesh_error_t WisunBorderRouter::start(NetworkInterface *mesh_if, OnboardNetworkStack::Interface *backbone_if)
|
||||
{
|
||||
InterfaceNanostack *nano_mesh_if = reinterpret_cast<InterfaceNanostack *>(mesh_if);
|
||||
int8_t mesh_if_id = nano_mesh_if->get_interface_id();
|
||||
if (mesh_if == NULL || backbone_if == NULL) {
|
||||
return MESH_ERROR_PARAM;
|
||||
}
|
||||
|
||||
WisunInterface *wisun_mesh_if = reinterpret_cast<WisunInterface *>(mesh_if);
|
||||
return start(wisun_mesh_if, backbone_if);
|
||||
}
|
||||
|
||||
mesh_error_t WisunBorderRouter::start(WisunInterface *mesh_if, OnboardNetworkStack::Interface *backbone_if)
|
||||
{
|
||||
if (mesh_if == NULL || backbone_if == NULL) {
|
||||
return MESH_ERROR_PARAM;
|
||||
}
|
||||
|
||||
int8_t mesh_if_id = mesh_if->get_interface_id();
|
||||
if (mesh_if_id < 0) {
|
||||
return MESH_ERROR_UNKNOWN;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue