libaurum: apply smart pointer wider and extract impl out
[platform/core/uifw/aurum.git] / org.tizen.aurum-bootstrap / inc / Commands / FindElementCommand.h
1 #ifndef FIND_ELEMENT_COMMAND_H
2 #define FIND_ELEMENT_COMMAND_H
3
4 #include <gio/gio.h>
5 #include <grpcpp/grpcpp.h>
6 #include "Commands/Command.h"
7 #include "ObjectMapper.h"
8 #include <aurum.grpc.pb.h>
9 #include "config.h"
10
11 class FindElementCommand : public Command {
12 protected:
13     const ::aurum::ReqFindElement* mRequest;
14     ::aurum::RspFindElement*       mResponse;
15
16 protected:
17     ObjectMapper* mObjMap;
18
19 public:
20     FindElementCommand(const ::aurum::ReqFindElement* request,
21                        ::aurum::RspFindElement*       response);
22     ::grpc::Status execute() override;
23 protected:
24     virtual std::shared_ptr<ISearchable> getSearchableTop(void);
25     virtual std::vector<std::shared_ptr<UiSelector>> getSelectors(void);
26 };
27 #endif