1 #include "ClickCommand.h"
8 ClickCommand::ClickCommand(const ::aurum::ReqClick* request,
9 ::aurum::RspClick* response)
10 : mRequest{request}, mResponse{response}
14 ::grpc::Status ClickCommand::execute()
16 return grpc::Status::CANCELLED;
19 std::unique_ptr<ClickCommand> ClickCommand::createCommand(const ::aurum::ReqClick* request, ::aurum::RspClick* response)
21 ::aurum::ReqClick_RequestType type = request->type();
23 if (type == ::aurum::ReqClick_RequestType::ReqClick_RequestType_ELEMENTID)
24 return std::make_unique<ClickElementCommand>(request, response);
25 else if (type == ::aurum::ReqClick_RequestType::ReqClick_RequestType_COORD)
26 return std::make_unique<ClickCoordCommand>(request, response);
27 else if (type == ::aurum::ReqClick_RequestType::ReqClick_RequestType_ATSPI)
28 return std::make_unique<ClickAtspiCommand>(request, response);
30 return std::make_unique<ClickCommand>(request, response);
33 ::grpc::Status ClickElementCommand::execute()
35 ObjectMapper* mObjMap = ObjectMapper::getInstance();
36 UiObject* obj = mObjMap->getElement(mRequest->elementid());
40 mResponse->set_status(::aurum::RspStatus::OK);
42 mResponse->set_status(::aurum::RspStatus::ERROR);
44 return grpc::Status::OK;
47 ::grpc::Status ClickCoordCommand::execute()
49 UiDevice* obj = UiDevice::getInstance(DeviceType::DEFAULT);
50 const ::aurum::Point& point = mRequest->coordination();
51 obj->click(point.x(), point.y());
52 mResponse->set_status(::aurum::RspStatus::OK);
53 return grpc::Status::OK;
56 ::grpc::Status ClickAtspiCommand::execute()
58 return grpc::Status::CANCELLED;