Files
Jungfraujoch/preview/ZMQPreviewSocket.h
2024-10-16 19:52:01 +02:00

26 lines
759 B
C++

// Copyright (2019-2024) Paul Scherrer Institute
#ifndef JFJOCH_ZMQPREVIEWSOCKET_H
#define JFJOCH_ZMQPREVIEWSOCKET_H
#include "PreviewCounter.h"
#include "../common/ZMQWrappers.h"
#include "../frame_serialize/CBORStream2Serializer.h"
#include "ZMQPreviewSettings.h"
class ZMQPreviewSocket {
ZMQSocket socket;
PreviewCounter counter;
bool enable;
public:
explicit ZMQPreviewSocket(const std::string &addr);
ZMQPreviewSocket& Period(const std::optional<std::chrono::microseconds> &period);
void SendImage(const uint8_t *image_data, size_t image_size);
std::string GetAddress();
ZMQPreviewSocket& ImportSettings(const ZMQPreviewSettings& settings);
ZMQPreviewSettings GetSettings();
};
#endif //JFJOCH_ZMQPREVIEWSOCKET_H