bootstrap/aurum: rework GetAttributeCommand
[platform/core/uifw/aurum.git] / bootstrap / server / inc / Commands / GetAttributeCommand.h
1 #ifndef GET_ATTRIBUTE_COMMAND_H
2 #define GET_ATTRIBUTE_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 GetAttributeCommand : public Command {
12 protected:
13     const ::aurum::ReqGetAttribute* mRequest;
14     ::aurum::RspGetAttribute*       mResponse;
15     ObjectMapper* mObjMap;
16
17 public:
18     GetAttributeCommand(const ::aurum::ReqGetAttribute* request,
19                         ::aurum::RspGetAttribute*       response);
20     ::grpc::Status execute() override;
21     static std::unique_ptr<GetAttributeCommand> createCommand(const ::aurum::ReqGetAttribute* request,
22                                                               ::aurum::RspGetAttribute*       response);
23 };
24
25 class GetVisibleAttributeCommand : public GetAttributeCommand {
26     using GetAttributeCommand::GetAttributeCommand;
27 public:
28     ::grpc::Status execute() override;
29 };
30
31 class GetFocusedAttributeCommand : public GetAttributeCommand {
32     using GetAttributeCommand::GetAttributeCommand;
33 public:
34     ::grpc::Status execute() override;
35 };
36
37 class GetFocusableAttributeCommand : public GetAttributeCommand {
38     using GetAttributeCommand::GetAttributeCommand;
39 public:
40     ::grpc::Status execute() override;
41 };
42
43 class GetCheckableAttributeCommand : public GetAttributeCommand {
44     using GetAttributeCommand::GetAttributeCommand;
45 public:
46     ::grpc::Status execute() override;
47 };
48
49 class GetCheckedAttributeCommand : public GetAttributeCommand {
50     using GetAttributeCommand::GetAttributeCommand;
51 public:
52     ::grpc::Status execute() override;
53 };
54
55 class GetEnabledAttributeCommand : public GetAttributeCommand {
56     using GetAttributeCommand::GetAttributeCommand;
57 public:
58     ::grpc::Status execute() override;
59 };
60
61 class GetClickableAttributeCommand : public GetAttributeCommand {
62     using GetAttributeCommand::GetAttributeCommand;
63 public:
64     ::grpc::Status execute() override;
65 };
66
67 class GetScrollableAttributeCommand : public GetAttributeCommand {
68     using GetAttributeCommand::GetAttributeCommand;
69 public:
70     ::grpc::Status execute() override;
71 };
72
73 class GetSelectableAttributeCommand : public GetAttributeCommand {
74     using GetAttributeCommand::GetAttributeCommand;
75 public:
76     ::grpc::Status execute() override;
77 };
78
79 class GetSelectedAttributeCommand : public GetAttributeCommand {
80     using GetAttributeCommand::GetAttributeCommand;
81 public:
82     ::grpc::Status execute() override;
83 };
84
85 #endif