30 lines
1020 B
C++
30 lines
1020 B
C++
// Copyright (2019-2022) Paul Scherrer Institute
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
#ifndef JUNGFRAUJOCH_JFJOCHRECEIVERCLIENT_H
|
|
#define JUNGFRAUJOCH_JFJOCHRECEIVERCLIENT_H
|
|
|
|
#include <string>
|
|
#include <jfjoch.grpc.pb.h>
|
|
|
|
#include "../common/DiffractionExperiment.h"
|
|
#include "../jungfrau/JFCalibration.h"
|
|
|
|
class JFJochReceiverClient {
|
|
std::unique_ptr<JFJochProtoBuf::gRPC_JFJochReceiver::Stub> _stub;
|
|
public:
|
|
void Connect(const std::string& addr);
|
|
void Start(const DiffractionExperiment &experiment, const JFCalibration *calibration);
|
|
void Abort();
|
|
void Cancel();
|
|
void SetDataProcessingSettings(const JFJochProtoBuf::DataProcessingSettings& settings);
|
|
JFJochProtoBuf::ReceiverOutput Stop();
|
|
JFJochProtoBuf::ReceiverStatus GetStatus();
|
|
JFJochProtoBuf::PreviewFrame GetPreviewFrame();
|
|
JFJochProtoBuf::ReceiverNetworkConfig GetNetworkConfig();
|
|
JFJochProtoBuf::Plot GetPlots(const JFJochProtoBuf::PlotRequest& request);
|
|
};
|
|
|
|
|
|
#endif //JUNGFRAUJOCH_JFJOCHRECEIVERCLIENT_H
|