WifiInterface - use Callback class for callbacks

pull/3975/head
Martin Kojtal 2016-09-29 10:41:43 +01:00
parent 517f0509ca
commit 33d95654df
1 changed files with 3 additions and 5 deletions

View File

@ -18,6 +18,7 @@
#define WIFI_INTERFACE_H
#include <string.h>
#include "Callback.h"
#include "network-socket/NetworkInterface.h"
typedef struct wifi_ap {
@ -28,9 +29,6 @@ typedef struct wifi_ap {
uint8_t channel;
} wifi_ap_t;
typedef void (*wifi_ap_scan_cb_t)(wifi_ap_t *ap, void *data);
typedef void (*wifi_connect_cb_t)(nsapi_error_t res, wifi_ap_t *ap, void *data);
/** WiFiInterface class
*
* Common interface that is shared between WiFi devices
@ -84,7 +82,7 @@ public:
* @param timeout Timeout in milliseconds; 0 for no timeout (Default: 0)
*/
virtual void connect_async(const char *ssid, const char *pass,nsapi_security_t security = NSAPI_SECURITY_NONE,
uint8_t channel = 0, wifi_connect_cb_t cb = NULL, void *data = NULL,
uint8_t channel = 0, mbed::Callback<void(nsapi_error_t, wifi_ap_t*, void*)> cb = NULL, void *data = NULL,
unsigned timeout = 0) = 0;
/** Start the interface
@ -136,7 +134,7 @@ public:
* @param data User handle that will be passed to @a cb along with the AP data (Default: NULL)
* @param timeout Timeout in milliseconds; 0 for no timeout (Default: 0)
*/
virtual void scan_async(wifi_ap_scan_cb_t cb, void *data = NULL, unsigned timeout = 0) = 0;
virtual void scan_async(mbed::Callback<void(wifi_ap_t*, void*)> cb, void *data = NULL, unsigned timeout = 0) = 0;
private:
char *_ssid;