🇩🇪

Source file: /~heha/mb-iwp/Kamera/esp32cam/cam-221216.zip/WiFiClient.h

/*
  Client.h - Base class that provides Client
  Copyright (c) 2011 Adrian McEwen.  All right reserved.
*/

#pragma once

#include "Arduino.h"
#include "Client.h"
#include <memory>

class WiFiClientSocketHandle;
class WiFiClientRxBuffer;

class ESPLwIPClient : public Client
{
public:
        virtual int connect(IPAddress ip, uint16_t port, int32_t timeout) = 0;
        virtual int connect(const char *host, uint16_t port, int32_t timeout) = 0;
        virtual int setTimeout(uint32_t seconds) = 0;
};

class WiFiClient : public ESPLwIPClient
{
protected:
    std::shared_ptr<WiFiClientSocketHandle> clientSocketHandle;
    std::shared_ptr<WiFiClientRxBuffer> _rxBuffer;
    bool _connected;
    int _timeout;

public:
 WiFiClient *next;
 WiFiClient();
 WiFiClient(int fd);
 ~WiFiClient();
    int connect(IPAddress ip, uint16_t port);
    int connect(IPAddress ip, uint16_t port, int32_t timeout);
    int connect(const char *host, uint16_t port);
    int connect(const char *host, uint16_t port, int32_t timeout);
    size_t write(uint8_t data);
    size_t write(const uint8_t *buf, size_t size);
    size_t write_P(PGM_P buf, size_t size);
    size_t write(Stream &stream);
    int available();
    int read();
    int read(uint8_t *buf, size_t size);
    int peek();
    void flush();
    void stop();
    uint8_t connected();

 operator bool()			{return connected();}
 WiFiClient&operator=(const WiFiClient &other);
 bool operator==(bool value) 		{return bool() == value;}
 bool operator==(const WiFiClient& r)	{return operator==(r);}

 int fd() const;

    int setSocketOption(int option, char* value, size_t len);
    int setSocketOption(int level, int option, const void* value, size_t len);
    int setOption(int option, int *value);
    int getOption(int option, int *value);
    int setTimeout(uint32_t seconds);
    int setNoDelay(bool nodelay);
    bool getNoDelay();

 IPAddress remoteIP() const		{return remoteIP(fd());}
 IPAddress remoteIP(int fd) const;
 uint16_t remotePort() const		{return remotePort(fd());}
 uint16_t remotePort(int fd) const;
 IPAddress localIP() const		{return localIP(fd());}
 IPAddress localIP(int fd) const;
 uint16_t localPort() const		{return localPort(fd());}
 uint16_t localPort(int fd) const;

    //friend class WiFiServer;
 using Print::write;
};
Detected encoding: ASCII (7 bit)2