1 #include "TakeScreenshotCommand.h"
7 TakeScreenshotCommand::TakeScreenshotCommand(
8 const ::aurum::ReqTakeScreenshot* request,
9 ::grpc::ServerWriter< ::aurum::RspTakeScreenshot>* writer)
10 : mRequest{request}, mWriter{writer}
14 ::grpc::Status TakeScreenshotCommand::execute()
16 LOG_SCOPE_F(INFO, "TakeScreenshot --------------- ");
18 std::string path = "/tmp/screenshot.png";
19 UiDevice* mDevice = UiDevice::getInstance(DeviceType::DEFAULT);
20 mDevice->takeScreenshot(path, 1.0, 1);
22 std::ifstream ifs(path, std::ifstream::binary);
23 ::aurum::RspTakeScreenshot rsp;
24 int size = 1024 * 1024;
29 rsp.set_image(buf, ifs.gcount());
34 return grpc::Status::OK;