ex
Fork of mbed-os-example-mbed5-blinky by
Embed:
(wiki syntax)
Show/hide line numbers
baidu_ca_network_socket.h
00001 // Copyright 2017 Baidu Inc. All Rights Reserved. 00002 // Author: Su Hao (suhao@baidu.com) 00003 // 00004 // Description: SocketAdapter 00005 00006 #ifndef BAIDU_IOT_TINYDU_IOT_OS_SRC_IOT_BAIDU_CA_ADAPTER_BAIDU_CA_NETWORK_SOCKET_H 00007 #define BAIDU_IOT_TINYDU_IOT_OS_SRC_IOT_BAIDU_CA_ADAPTER_BAIDU_CA_NETWORK_SOCKET_H 00008 00009 #include "mbed.h" 00010 #include "baidu_ca.h" 00011 00012 namespace duer { 00013 00014 class SocketAdapter { 00015 public: 00016 00017 typedef mbed::Callback<void (const bca_addr_t*)> Callback; 00018 00019 SocketAdapter(); 00020 00021 virtual ~SocketAdapter(); 00022 00023 int connect(const bca_addr_t* addr); 00024 00025 int send(const void* data, size_t size); 00026 00027 int recv(void* data, size_t size); 00028 00029 int close(); 00030 00031 void attach(Callback callback); 00032 00033 template <typename T, typename M> 00034 void attach(T* obj, M method) { 00035 attach(Callback(obj, method)); 00036 } 00037 00038 static void set_network_interface(NetworkInterface* ifc); 00039 00040 static NetworkInterface* get_network_interface(); 00041 00042 // the unit of speed is k/s 00043 static void bca_coap_get_statistic(float* upload_speed, float* download_speed); 00044 private: 00045 00046 void on_read(); 00047 00048 Socket* _socket; 00049 bca_addr_t _addr; 00050 Callback _callback; 00051 00052 static NetworkInterface* _s_interface; 00053 }; 00054 00055 } // namespace duer 00056 00057 #endif // BAIDU_IOT_TINYDU_IOT_OS_SRC_IOT_BAIDU_CA_ADAPTER_BAIDU_CA_NETWORK_SOCKET_H
Generated on Tue Jul 12 2022 16:28:52 by
1.7.2
