1#ifndef YAZE_APP_SERVICE_VISUAL_SERVICE_IMPL_H_
2#define YAZE_APP_SERVICE_VISUAL_SERVICE_IMPL_H_
11#include "absl/status/status.h"
12#include "grpcpp/impl/service_type.h"
18class ComparePngDataRequest;
19class ComparePngDataResponse;
20class ComparePngFilesRequest;
21class ComparePngFilesResponse;
22class CompareWithReferenceRequest;
23class CompareWithReferenceResponse;
24class CompareRegionRequest;
25class CompareRegionResponse;
26class GenerateDiffImageRequest;
27class GenerateDiffImageResponse;
28class RunRegressionTestRequest;
29class RunRegressionTestResponse;
30class ListReferenceImagesRequest;
31class ListReferenceImagesResponse;
32class SaveReferenceImageRequest;
33class SaveReferenceImageResponse;
34class AnalyzeScreenshotRequest;
35class AnalyzeScreenshotResponse;
36class VerifyVisualConditionRequest;
37class VerifyVisualConditionResponse;
41class VisualDiffEngine;
42class AIVisionVerifier;
54class VisualServiceImpl {
60 void SetReferenceImageDir(
const std::string& path);
61 const std::string& GetReferenceImageDir()
const {
return reference_dir_; }
64 void SetAIVisionVerifier(test::AIVisionVerifier* verifier);
71 absl::Status ComparePngData(
const proto::ComparePngDataRequest* request,
72 proto::ComparePngDataResponse* response);
77 absl::Status ComparePngFiles(
const proto::ComparePngFilesRequest* request,
78 proto::ComparePngFilesResponse* response);
83 absl::Status CompareWithReference(
84 const proto::CompareWithReferenceRequest* request,
85 proto::CompareWithReferenceResponse* response);
90 absl::Status CompareRegion(
const proto::CompareRegionRequest* request,
91 proto::CompareRegionResponse* response);
98 absl::Status GenerateDiffImage(
const proto::GenerateDiffImageRequest* request,
99 proto::GenerateDiffImageResponse* response);
106 absl::Status RunRegressionTest(
const proto::RunRegressionTestRequest* request,
107 proto::RunRegressionTestResponse* response);
112 absl::Status ListReferenceImages(
113 const proto::ListReferenceImagesRequest* request,
114 proto::ListReferenceImagesResponse* response);
119 absl::Status SaveReferenceImage(
120 const proto::SaveReferenceImageRequest* request,
121 proto::SaveReferenceImageResponse* response);
128 absl::Status AnalyzeScreenshot(
const proto::AnalyzeScreenshotRequest* request,
129 proto::AnalyzeScreenshotResponse* response);
134 absl::Status VerifyVisualCondition(
135 const proto::VerifyVisualConditionRequest* request,
136 proto::VerifyVisualConditionResponse* response);
140 test::VisualDiffEngine& GetDiffEngine();
143 std::string reference_dir_;
146 std::unique_ptr<test::VisualDiffEngine> diff_engine_;
149 test::AIVisionVerifier* vision_verifier_ =
nullptr;
161std::unique_ptr<grpc::Service> CreateVisualServiceGrpc(VisualServiceImpl* impl);