bea4b92d124449a06b85605ec8650b57d97e0d3a
[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 private:
13     const ::aurum::ReqGetAttribute* mRequest;
14     ::aurum::RspGetAttribute*       mResponse;
15
16 public:
17     GetAttributeCommand(const ::aurum::ReqGetAttribute* request,
18                         ::aurum::RspGetAttribute*       response);
19     ;
20     ::grpc::Status execute() override;
21 };
22
23 class AttributeGetter {
24 private:
25 public:
26     virtual ~AttributeGetter();
27     static AttributeGetter *Creator(::aurum::ReqGetAttribute_RequestType type);
28     virtual bool getPerform(UiObject *obj,  ::aurum::RspGetAttribute* mResponse){return true;}
29 };
30
31 class VisibleGetter : public AttributeGetter{
32 private:
33 public:
34     virtual ~VisibleGetter();
35     bool getPerform(UiObject *obj, ::aurum::RspGetAttribute* rsp) override;
36 };
37
38 #endif