Files
xiaozhi-esp32/managed_components/78__esp-ml307/include/network_interface.h
2025-09-05 13:25:11 +08:00

25 lines
773 B
C++

#ifndef NETWORK_INTERFACE_H
#define NETWORK_INTERFACE_H
#include <memory>
#include "http.h"
#include "tcp.h"
#include "udp.h"
#include "mqtt.h"
#include "web_socket.h"
class NetworkInterface {
public:
virtual ~NetworkInterface() = default;
// 连接创建接口(纯虚函数,由子类实现)
virtual std::unique_ptr<Http> CreateHttp(int connect_id = -1) = 0;
virtual std::unique_ptr<Tcp> CreateTcp(int connect_id = -1) = 0;
virtual std::unique_ptr<Tcp> CreateSsl(int connect_id = -1) = 0;
virtual std::unique_ptr<Udp> CreateUdp(int connect_id = -1) = 0;
virtual std::unique_ptr<Mqtt> CreateMqtt(int connect_id = -1) = 0;
virtual std::unique_ptr<WebSocket> CreateWebSocket(int connect_id = -1) = 0;
};
#endif // NETWORK_INTERFACE_H