takashi kadono / Mbed OS Nucleo_446

Dependencies:   ssd1331

Embed: (wiki syntax)

« Back to documentation index

MeshInterface Class Reference

MeshInterface class. More...

#include <MeshInterface.h>

Inherits NetworkInterface.

Inherited by MeshInterfaceNanostack.

Public Types

typedef mbed::Callback< void(nsapi_error_t
result, SocketAddress *address) 
hostbyname_cb_t )
 Hostname translation callback (asynchronous)

Public Member Functions

virtual const char * get_mac_address ()
 Get the local MAC address.
virtual const char * get_ip_address ()
 Get the local IP address.
virtual const char * get_netmask ()
 Get the local network mask.
virtual const char * get_gateway ()
 Get the local gateway.
virtual nsapi_error_t set_network (const char *ip_address, const char *netmask, const char *gateway)
 Set a static IP address.
virtual nsapi_error_t set_dhcp (bool dhcp)
 Enable or disable DHCP on the network.
virtual nsapi_error_t connect ()=0
 Start the interface.
virtual nsapi_error_t disconnect ()=0
 Stop the interface.
virtual nsapi_error_t gethostbyname (const char *host, SocketAddress *address, nsapi_version_t version=NSAPI_UNSPEC)
 Translates a hostname to an IP address with specific version.
virtual nsapi_value_or_error_t gethostbyname_async (const char *host, hostbyname_cb_t callback, nsapi_version_t version=NSAPI_UNSPEC)
 Translates a hostname to an IP address (asynchronous)
virtual nsapi_error_t gethostbyname_async_cancel (int id)
 Cancels asynchronous hostname translation.
virtual nsapi_error_t add_dns_server (const SocketAddress &address)
 Add a domain name server to list of servers to query.
virtual void attach (mbed::Callback< void(nsapi_event_t, intptr_t)> status_cb)
 Register callback for status reporting.
virtual nsapi_connection_status_t get_connection_status () const
 Get the connection status.
virtual nsapi_error_t set_blocking (bool blocking)
 Set blocking status of connect() which by default should be blocking.
virtual EthInterfaceethInterface ()
 Dynamic downcast to an EthInterface.
virtual WiFiInterface * wifiInterface ()
 Dynamic downcast to a WiFiInterface.
virtual CellularBasecellularBase ()
 Dynamic downcast to a CellularBase.
virtual EMACInterfaceemacInterface ()
 Dynamic downcast to an EMACInterface.

Static Public Member Functions

static MeshInterfaceget_default_instance ()
 Get the default Mesh interface.

Protected Member Functions

virtual NetworkStack * get_stack ()=0
 Provide access to the NetworkStack object.

Static Protected Member Functions

static MeshInterfaceget_target_default_instance ()
 Get the target's default Mesh interface.

Friends

class InternetSocket
class UDPSocket
class TCPSocket

Detailed Description

MeshInterface class.

Common interface that is shared between mesh hardware

Definition at line 30 of file MeshInterface.h.


Member Typedef Documentation

typedef mbed::Callback<void (nsapi_error_t result, SocketAddress *address) hostbyname_cb_t) [inherited]

Hostname translation callback (asynchronous)

Callback will be called after DNS resolution completes or a failure occurs.

Callback should not take more than 10ms to execute, otherwise it might prevent underlying thread processing. A portable user of the callback should not make calls to network operations due to stack size limitations. The callback should not perform expensive operations such as socket recv/send calls or blocking operations.

Parameters:
status0 on success, negative error code on failure
addressOn success, destination for the host SocketAddress

Definition at line 180 of file NetworkInterface.h.


Member Function Documentation

nsapi_error_t add_dns_server ( const SocketAddress &  address ) [virtual, inherited]

Add a domain name server to list of servers to query.

Parameters:
addressDestination for the host address
Returns:
0 on success, negative error code on failure

Definition at line 73 of file NetworkInterface.cpp.

void attach ( mbed::Callback< void(nsapi_event_t, intptr_t)>  status_cb ) [virtual, inherited]

Register callback for status reporting.

The specified status callback function will be called on status changes on the network. The parameters on the callback are the event type and event-type dependent reason parameter.

Parameters:
status_cbThe callback for status changes

Definition at line 78 of file NetworkInterface.cpp.

virtual CellularBase* cellularBase (  ) [virtual, inherited]

Dynamic downcast to a CellularBase.

Definition at line 265 of file NetworkInterface.h.

virtual nsapi_error_t connect (  ) [pure virtual, inherited]

Start the interface.

Returns:
0 on success, negative error code on failure
virtual nsapi_error_t disconnect (  ) [pure virtual, inherited]

Stop the interface.

Returns:
0 on success, negative error code on failure
virtual EMACInterface* emacInterface (  ) [virtual, inherited]

Dynamic downcast to an EMACInterface.

Definition at line 271 of file NetworkInterface.h.

virtual EthInterface* ethInterface (  ) [virtual, inherited]

Dynamic downcast to an EthInterface.

Definition at line 247 of file NetworkInterface.h.

nsapi_connection_status_t get_connection_status (  ) const [virtual, inherited]

Get the connection status.

Returns:
The connection status according to ConnectionStatusType

Definition at line 82 of file NetworkInterface.cpp.

MBED_WEAK MeshInterface * get_default_instance (  ) [static]

Get the default Mesh interface.

This is provided as a weak method so applications can override. Default behaviour is to get the target's default interface, if any.

Returns:
pointer to interface, if any

Definition at line 38 of file NetworkInterfaceDefaults.cpp.

const char * get_gateway (  ) [virtual, inherited]

Get the local gateway.

Returns:
Null-terminated representation of the local gateway or null if no network mask has been received

Definition at line 38 of file NetworkInterface.cpp.

const char * get_ip_address (  ) [virtual, inherited]

Get the local IP address.

Returns:
Null-terminated representation of the local IP address or null if no IP address has been received

Definition at line 28 of file NetworkInterface.cpp.

const char * get_mac_address (  ) [virtual, inherited]

Get the local MAC address.

Provided MAC address is intended for info or debug purposes and may not be provided if the underlying network interface does not provide a MAC address

Returns:
Null-terminated representation of the local MAC address or null if no MAC address is available

Definition at line 23 of file NetworkInterface.cpp.

const char * get_netmask (  ) [virtual, inherited]

Get the local network mask.

Returns:
Null-terminated representation of the local network mask or null if no network mask has been received

Definition at line 33 of file NetworkInterface.cpp.

virtual NetworkStack* get_stack (  ) [protected, pure virtual, inherited]

Provide access to the NetworkStack object.

Returns:
The underlying NetworkStack object
MBED_WEAK MeshInterface * get_target_default_instance (  ) [static, protected]

Get the target's default Mesh interface.

This is provided as a weak method so targets can override. The default implementation will invoke LoWPANNDInterface or ThreadInterface with the default NanostackRfPhy.

Returns:
pointer to interface, if any

Definition at line 164 of file LoWPANNDInterface.cpp.

nsapi_error_t gethostbyname ( const char *  host,
SocketAddress *  address,
nsapi_version_t  version = NSAPI_UNSPEC 
) [virtual, inherited]

Translates a hostname to an IP address with specific version.

The hostname may be either a domain name or an IP address. If the hostname is an IP address, no network transactions will be performed.

If no stack-specific DNS resolution is provided, the hostname will be resolve using a UDP socket on the stack.

Parameters:
hostHostname to resolve
addressDestination for the host SocketAddress
versionIP version of address to resolve, NSAPI_UNSPEC indicates version is chosen by the stack (defaults to NSAPI_UNSPEC)
Returns:
0 on success, negative error code on failure

Definition at line 58 of file NetworkInterface.cpp.

nsapi_value_or_error_t gethostbyname_async ( const char *  host,
hostbyname_cb_t  callback,
nsapi_version_t  version = NSAPI_UNSPEC 
) [virtual, inherited]

Translates a hostname to an IP address (asynchronous)

The hostname may be either a domain name or an IP address. If the hostname is an IP address, no network transactions will be performed.

If no stack-specific DNS resolution is provided, the hostname will be resolve using a UDP socket on the stack.

Call is non-blocking. Result of the DNS operation is returned by the callback. If this function returns failure, callback will not be called. In case result is success (IP address was found from DNS cache), callback will be called before function returns.

Parameters:
hostHostname to resolve
callbackCallback that is called for result
versionIP version of address to resolve, NSAPI_UNSPEC indicates version is chosen by the stack (defaults to NSAPI_UNSPEC)
Returns:
0 on immediate success, negative error code on immediate failure or a positive unique id that represents the hostname translation operation and can be passed to cancel

Definition at line 63 of file NetworkInterface.cpp.

nsapi_error_t gethostbyname_async_cancel ( int  id ) [virtual, inherited]

Cancels asynchronous hostname translation.

When translation is cancelled, callback will not be called.

Parameters:
idUnique id of the hostname translation operation
Returns:
0 on success, negative error code on failure

Definition at line 68 of file NetworkInterface.cpp.

nsapi_error_t set_blocking ( bool  blocking ) [virtual, inherited]

Set blocking status of connect() which by default should be blocking.

Parameters:
blockingtrue if connect is blocking
Returns:
0 on success, negative error code on failure

Definition at line 87 of file NetworkInterface.cpp.

nsapi_error_t set_dhcp ( bool  dhcp ) [virtual, inherited]

Enable or disable DHCP on the network.

Enables DHCP on connecting the network. Defaults to enabled unless a static IP address has been assigned. Requires that the network is disconnected.

Parameters:
dhcpTrue to enable DHCP
Returns:
0 on success, negative error code on failure

Definition at line 48 of file NetworkInterface.cpp.

nsapi_error_t set_network ( const char *  ip_address,
const char *  netmask,
const char *  gateway 
) [virtual, inherited]

Set a static IP address.

Configures this network interface to use a static IP address. Implicitly disables DHCP, which can be enabled in set_dhcp. Requires that the network is disconnected.

Parameters:
ip_addressNull-terminated representation of the local IP address
netmaskNull-terminated representation of the local network mask
gatewayNull-terminated representation of the local gateway
Returns:
0 on success, negative error code on failure

Definition at line 43 of file NetworkInterface.cpp.

virtual WiFiInterface* wifiInterface (  ) [virtual, inherited]

Dynamic downcast to a WiFiInterface.

Definition at line 253 of file NetworkInterface.h.