Files
IoTManager/lib/ArduinoStreamUtils/src/StreamUtils/Policies/ConnectSpyingPolicy.hpp
Dmitry Borisenko b8a8290928 compiling
2021-12-13 00:58:42 +01:00

68 lines
1.3 KiB
C++

// StreamUtils - github.com/bblanchon/ArduinoStreamUtils
// Copyright Benoit Blanchon 2019-2021
// MIT License
#pragma once
#include <Client.h>
namespace StreamUtils {
class ConnectSpyingPolicy {
public:
ConnectSpyingPolicy(Print& log) : _log(log) {}
int connect(Client& target, const IPAddress& ip, uint16_t port) {
_log.print("connect('");
_log.print(ip);
_log.print("', ");
_log.print(port);
_log.print(") -> ");
int result = target.connect(ip, port);
_log.println(result);
return result;
}
int connect(Client& target, const char* ip, uint16_t port) {
_log.print("connect('");
_log.print(ip);
_log.print("', ");
_log.print(port);
_log.print(") -> ");
int result = target.connect(ip, port);
_log.println(result);
return result;
}
uint8_t connected(Client& target) {
_log.print("connected() -> ");
uint8_t result = target.connected();
_log.println(result);
return result;
}
void stop(Client& target) {
_log.print("stop()");
target.stop();
}
bool operator_bool(Client& target) {
_log.print("operator bool() -> ");
bool result = target.operator bool();
_log.println(result ? "true" : "false");
return result;
}
private:
Print& _log;
};
} // namespace StreamUtils