bootstrap: change bootstrap to a tizen service app
authorWonki kim <akanad@gmail.com>
Sun, 12 Apr 2020 15:01:45 +0000 (08:01 -0700)
committerJongmin Lee <jm105.lee@samsung.com>
Fri, 17 Apr 2020 23:06:48 +0000 (08:06 +0900)
to make user able to run/kill bootstrap server,
this patch change bootstrap to a tizen service app.

Change-Id: Id604c2fbeabae0fd44536367151f306a181a1167

120 files changed:
bootstrap/meson.build [deleted file]
bootstrap/server/aurum-bootstrap.service [deleted file]
bootstrap/server/inc/AurumServiceImpl.h [deleted file]
bootstrap/server/inc/Commands/ClearCommand.h [deleted file]
bootstrap/server/inc/Commands/ClickCommand.h [deleted file]
bootstrap/server/inc/Commands/CloseAppCommand.h [deleted file]
bootstrap/server/inc/Commands/Command.h [deleted file]
bootstrap/server/inc/Commands/Commands.h [deleted file]
bootstrap/server/inc/Commands/FindElementCommand.h [deleted file]
bootstrap/server/inc/Commands/FlickCommand.h [deleted file]
bootstrap/server/inc/Commands/GetAppInfoCommand.h [deleted file]
bootstrap/server/inc/Commands/GetAttributeCommand.h [deleted file]
bootstrap/server/inc/Commands/GetDeviceTimeCommand.h [deleted file]
bootstrap/server/inc/Commands/GetLocationCommand.h [deleted file]
bootstrap/server/inc/Commands/GetSizeCommand.h [deleted file]
bootstrap/server/inc/Commands/GetValueCommand.h [deleted file]
bootstrap/server/inc/Commands/InstallAppCommand.h [deleted file]
bootstrap/server/inc/Commands/KillServerCommand.h [deleted file]
bootstrap/server/inc/Commands/LaunchAppCommand.h [deleted file]
bootstrap/server/inc/Commands/LongClickCommand.h [deleted file]
bootstrap/server/inc/Commands/PostCommand.h [deleted file]
bootstrap/server/inc/Commands/PreCommand.h [deleted file]
bootstrap/server/inc/Commands/RemoveAppCommand.h [deleted file]
bootstrap/server/inc/Commands/SendKeyCommand.h [deleted file]
bootstrap/server/inc/Commands/SetValueCommand.h [deleted file]
bootstrap/server/inc/Commands/SyncCommand.h [deleted file]
bootstrap/server/inc/Commands/TouchDownCommand.h [deleted file]
bootstrap/server/inc/Commands/TouchMoveCommand.h [deleted file]
bootstrap/server/inc/Commands/TouchUpCommand.h [deleted file]
bootstrap/server/inc/ObjectMapper.h [deleted file]
bootstrap/server/meson.build [deleted file]
bootstrap/server/src/AurumServiceImpl.cc [deleted file]
bootstrap/server/src/BootstrapServer.cc [deleted file]
bootstrap/server/src/Commands/ClearCommand.cc [deleted file]
bootstrap/server/src/Commands/ClickCommand.cc [deleted file]
bootstrap/server/src/Commands/CloseAppCommand.cc [deleted file]
bootstrap/server/src/Commands/Command.cc [deleted file]
bootstrap/server/src/Commands/FindElementCommand.cc [deleted file]
bootstrap/server/src/Commands/FlickCommand.cc [deleted file]
bootstrap/server/src/Commands/GetAppInfoCommand.cc [deleted file]
bootstrap/server/src/Commands/GetAttributeCommand.cc [deleted file]
bootstrap/server/src/Commands/GetDeviceTimeCommand.cc [deleted file]
bootstrap/server/src/Commands/GetLocationCommand.cc [deleted file]
bootstrap/server/src/Commands/GetSizeCommand.cc [deleted file]
bootstrap/server/src/Commands/GetValueCommand.cc [deleted file]
bootstrap/server/src/Commands/InstallAppCommand.cc [deleted file]
bootstrap/server/src/Commands/KillServerCommand.cc [deleted file]
bootstrap/server/src/Commands/LaunchAppCommand.cc [deleted file]
bootstrap/server/src/Commands/LongClickCommand.cc [deleted file]
bootstrap/server/src/Commands/PostCommand.cc [deleted file]
bootstrap/server/src/Commands/PreCommand.cc [deleted file]
bootstrap/server/src/Commands/RemoveAppCommand.cc [deleted file]
bootstrap/server/src/Commands/SendKeyCommand.cc [deleted file]
bootstrap/server/src/Commands/SetValueCommand.cc [deleted file]
bootstrap/server/src/Commands/SyncCommand.cc [deleted file]
bootstrap/server/src/Commands/TouchDownCommand.cc [deleted file]
bootstrap/server/src/Commands/TouchMoveCommand.cc [deleted file]
bootstrap/server/src/Commands/TouchUpCommand.cc [deleted file]
bootstrap/server/src/ObjectMapper.cc [deleted file]
meson.build
meson_options.txt
org.tizen.aurum-bootstrap/inc/AurumServiceImpl.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/ClearCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/ClickCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/CloseAppCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/Command.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/Commands.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/FindElementCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/FlickCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/GetAppInfoCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/GetAttributeCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/GetDeviceTimeCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/GetLocationCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/GetSizeCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/GetValueCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/InstallAppCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/KillServerCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/LaunchAppCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/LongClickCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/PostCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/PreCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/RemoveAppCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/SendKeyCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/SetValueCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/SyncCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/TouchDownCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/TouchMoveCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/Commands/TouchUpCommand.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/inc/ObjectMapper.h [new file with mode: 0644]
org.tizen.aurum-bootstrap/meson.build [new file with mode: 0644]
org.tizen.aurum-bootstrap/org.tizen.aurum-bootstrap.xml [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/AurumServiceImpl.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/BootstrapServer.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/ClearCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/ClickCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/CloseAppCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/Command.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/FindElementCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/FlickCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/GetAppInfoCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/GetAttributeCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/GetDeviceTimeCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/GetLocationCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/GetSizeCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/GetValueCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/InstallAppCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/KillServerCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/LongClickCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/PostCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/PreCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/RemoveAppCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/SendKeyCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/SetValueCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/SyncCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/TouchDownCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/TouchMoveCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/Commands/TouchUpCommand.cc [new file with mode: 0644]
org.tizen.aurum-bootstrap/src/ObjectMapper.cc [new file with mode: 0644]
packaging/aurum.spec

diff --git a/bootstrap/meson.build b/bootstrap/meson.build
deleted file mode 100644 (file)
index 874ed25..0000000
+++ /dev/null
@@ -1 +0,0 @@
-subdir('server')
diff --git a/bootstrap/server/aurum-bootstrap.service b/bootstrap/server/aurum-bootstrap.service
deleted file mode 100644 (file)
index eafa1b2..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-[Unit]
-Description=Server for testing UI testing
-
-[Service]
-Type=simple
-ExecStart=/usr/bin/aurum_bootstrap
-EnvironmentFile=-/run/tizen-system-env
diff --git a/bootstrap/server/inc/AurumServiceImpl.h b/bootstrap/server/inc/AurumServiceImpl.h
deleted file mode 100644 (file)
index bf6ae41..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifndef aurum_IMPL_H
-#define aurum_IMPL_H
-
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "aurum.grpc.pb.h"
-
-class aurumServiceImpl final : public aurum::Bootstrap::Service {
-public:
-    aurumServiceImpl();
-    virtual ~aurumServiceImpl();
-
-protected:
-    ::grpc::Status execute(Command *cmd);
-
-public:
-    ::grpc::Status sync(::grpc::ServerContext *  context,
-                        const ::aurum::ReqEmpty *request,
-                        ::aurum::RspEmpty *      response) override;
-    ::grpc::Status killServer(::grpc::ServerContext *  context,
-                              const ::aurum::ReqEmpty *request,
-                              ::aurum::RspEmpty *      response) override;
-
-    ::grpc::Status findElement(::grpc::ServerContext *        context,
-                               const ::aurum::ReqFindElement *request,
-                               ::aurum::RspFindElement *response) override;
-
-    ::grpc::Status getValue(::grpc::ServerContext *     context,
-                            const ::aurum::ReqGetValue *request,
-                            ::aurum::RspGetValue *      response) override;
-    ::grpc::Status setValue(::grpc::ServerContext *     context,
-                            const ::aurum::ReqSetValue *request,
-                            ::aurum::RspSetValue *      response) override;
-    ::grpc::Status getAttribute(::grpc::ServerContext *         context,
-                                const ::aurum::ReqGetAttribute *request,
-                                ::aurum::RspGetAttribute *response) override;
-    ::grpc::Status getSize(::grpc::ServerContext *    context,
-                           const ::aurum::ReqGetSize *request,
-                           ::aurum::RspGetSize *      response) override;
-    ::grpc::Status clear(::grpc::ServerContext *  context,
-                         const ::aurum::ReqClear *request,
-                         ::aurum::RspClear *      response) override;
-    ::grpc::Status installApp(
-        ::grpc::ServerContext *                        context,
-        ::grpc::ServerReader< ::aurum::ReqInstallApp> *reader,
-        ::aurum::RspInstallApp *                       response) override;
-    ::grpc::Status removeApp(::grpc::ServerContext *      context,
-                             const ::aurum::ReqRemoveApp *request,
-                             ::aurum::RspRemoveApp *      response) override;
-    ::grpc::Status getAppInfo(::grpc::ServerContext *       context,
-                              const ::aurum::ReqGetAppInfo *request,
-                              ::aurum::RspGetAppInfo *      response) override;
-    ::grpc::Status launchApp(::grpc::ServerContext *      context,
-                             const ::aurum::ReqLaunchApp *request,
-                             ::aurum::RspLaunchApp *      response) override;
-    ::grpc::Status closeApp(::grpc::ServerContext *     context,
-                            const ::aurum::ReqCloseApp *request,
-                            ::aurum::RspCloseApp *      response) override;
-
-    ::grpc::Status click(::grpc::ServerContext *  context,
-                         const ::aurum::ReqClick *request,
-                         ::aurum::RspClick *      response) override;
-    ::grpc::Status longClick(::grpc::ServerContext *  context,
-                             const ::aurum::ReqClick *request,
-                             ::aurum::RspClick *      response) override;
-    ::grpc::Status flick(::grpc::ServerContext *  context,
-                         const ::aurum::ReqFlick *request,
-                         ::aurum::RspFlick *      response) override;
-
-    ::grpc::Status touchDown(::grpc::ServerContext *      context,
-                             const ::aurum::ReqTouchDown *request,
-                             ::aurum::RspTouchDown *      response) override;
-    ::grpc::Status touchUp(::grpc::ServerContext *    context,
-                           const ::aurum::ReqTouchUp *request,
-                           ::aurum::RspTouchUp *      response) override;
-    ::grpc::Status touchMove(::grpc::ServerContext *      context,
-                             const ::aurum::ReqTouchMove *request,
-                             ::aurum::RspTouchMove *      response) override;
-
-    ::grpc::Status getDeviceTime(::grpc::ServerContext *          context,
-                                 const ::aurum::ReqGetDeviceTime *request,
-                                 ::aurum::RspGetDeviceTime *response) override;
-    ::grpc::Status getLocation(::grpc::ServerContext *        context,
-                               const ::aurum::ReqGetLocation *request,
-                               ::aurum::RspGetLocation *response) override;
-    ::grpc::Status sendKey(::grpc::ServerContext *context,
-                           const ::aurum::ReqKey *request,
-                           ::aurum::RspKey *      response) override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/ClearCommand.h b/bootstrap/server/inc/Commands/ClearCommand.h
deleted file mode 100644 (file)
index 0197559..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef CLEAR_COMMAND_H
-#define CLEAR_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class ClearCommand : public Command {
-private:
-    const ::aurum::ReqClear* mRequest;
-    ::aurum::RspClear*       mResponse;
-
-public:
-    ClearCommand(const ::aurum::ReqClear* request, ::aurum::RspClear* response);
-    ::grpc::Status execute() override;
-
-protected:
-    bool hasHintText(UiObject *obj);
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/ClickCommand.h b/bootstrap/server/inc/Commands/ClickCommand.h
deleted file mode 100644 (file)
index cf03a01..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef CLICK_COMMAND_H
-#define CLICK_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-class ClickCommand : public Command {
-protected:
-    const ::aurum::ReqClick* mRequest;
-    ::aurum::RspClick*       mResponse;
-
-public:
-    ClickCommand(const ::aurum::ReqClick* request, ::aurum::RspClick* response);
-    ::grpc::Status execute() override;
-    static std::unique_ptr<ClickCommand> createCommand(const ::aurum::ReqClick* request, ::aurum::RspClick* response);
-};
-
-class ClickElementCommand : public ClickCommand {
-    using ClickCommand::ClickCommand;
-public:
-    ::grpc::Status execute() override;
-};
-
-class ClickCoordCommand : public ClickCommand {
-    using ClickCommand::ClickCommand;
-public:
-    ::grpc::Status execute() override;
-};
-
-class ClickAtspiCommand : public ClickCommand {
-    using ClickCommand::ClickCommand;
-public:
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/CloseAppCommand.h b/bootstrap/server/inc/Commands/CloseAppCommand.h
deleted file mode 100644 (file)
index fb00f39..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef CLOSE_APP_COMMAND_H
-#define CLOSE_APP_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class CloseAppCommand : public Command {
-private:
-    const ::aurum::ReqCloseApp* mRequest;
-    ::aurum::RspCloseApp*       mResponse;
-
-public:
-    CloseAppCommand(const ::aurum::ReqCloseApp* request,
-                    ::aurum::RspCloseApp*       response);
-    ::grpc::Status execute() override;
-    ::grpc::Status executePost() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/Command.h b/bootstrap/server/inc/Commands/Command.h
deleted file mode 100644 (file)
index 59bf76e..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef COMMAND_H
-#define COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-
-#include "config.h"
-
-class Command {
-public:
-    virtual ~Command(){};
-    virtual ::grpc::Status execute() = 0;
-    virtual ::grpc::Status executePost();
-    virtual ::grpc::Status executePre();
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/Commands.h b/bootstrap/server/inc/Commands/Commands.h
deleted file mode 100644 (file)
index 7a5acd8..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef COMMANDS_H
-#define COMMANDS_H
-
-#include "Commands/KillServerCommand.h"
-#include "Commands/SyncCommand.h"
-
-#include "Commands/FindElementCommand.h"
-
-#include "Commands/GetAttributeCommand.h"
-#include "Commands/GetValueCommand.h"
-#include "Commands/SetValueCommand.h"
-
-#include "Commands/ClearCommand.h"
-#include "Commands/GetSizeCommand.h"
-
-#include "Commands/ClickCommand.h"
-#include "Commands/FlickCommand.h"
-#include "Commands/LongClickCommand.h"
-
-#include "Commands/TouchDownCommand.h"
-#include "Commands/TouchMoveCommand.h"
-#include "Commands/TouchUpCommand.h"
-
-#include "Commands/CloseAppCommand.h"
-#include "Commands/GetAppInfoCommand.h"
-#include "Commands/InstallAppCommand.h"
-#include "Commands/LaunchAppCommand.h"
-#include "Commands/RemoveAppCommand.h"
-
-#include "Commands/GetDeviceTimeCommand.h"
-#include "Commands/GetLocationCommand.h"
-#include "Commands/SendKeyCommand.h"
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/FindElementCommand.h b/bootstrap/server/inc/Commands/FindElementCommand.h
deleted file mode 100644 (file)
index 488e321..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef FIND_ELEMENT_COMMAND_H
-#define FIND_ELEMENT_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class FindElementCommand : public Command {
-protected:
-    const ::aurum::ReqFindElement* mRequest;
-    ::aurum::RspFindElement*       mResponse;
-
-protected:
-    ObjectMapper* mObjMap;
-
-public:
-    FindElementCommand(const ::aurum::ReqFindElement* request,
-                       ::aurum::RspFindElement*       response);
-    ::grpc::Status execute() override;
-protected:
-    virtual ISearchable* getSearchableTop(void);
-    virtual std::shared_ptr<UiSelector> getSelector(void);
-};
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/FlickCommand.h b/bootstrap/server/inc/Commands/FlickCommand.h
deleted file mode 100644 (file)
index f78e1e4..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef FLICK_COMMAND_H
-#define FLICK_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class FlickCommand : public Command {
-private:
-    const ::aurum::ReqFlick* mRequest;
-    ::aurum::RspFlick*       mResponse;
-
-public:
-    FlickCommand(const ::aurum::ReqFlick* request, ::aurum::RspFlick* response);
-    ;
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/GetAppInfoCommand.h b/bootstrap/server/inc/Commands/GetAppInfoCommand.h
deleted file mode 100644 (file)
index 1a9a146..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef IS_APP_INSTALLED_COMMAND_H
-#define IS_APP_INSTALLED_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class GetAppInfoCommand : public Command {
-private:
-    const ::aurum::ReqGetAppInfo* mRequest;
-    ::aurum::RspGetAppInfo*       mResponse;
-
-public:
-    GetAppInfoCommand(const ::aurum::ReqGetAppInfo* request,
-                      ::aurum::RspGetAppInfo*       response);
-    ;
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/GetAttributeCommand.h b/bootstrap/server/inc/Commands/GetAttributeCommand.h
deleted file mode 100644 (file)
index a1cac0b..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-#ifndef GET_ATTRIBUTE_COMMAND_H
-#define GET_ATTRIBUTE_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class GetAttributeCommand : public Command {
-protected:
-    const ::aurum::ReqGetAttribute* mRequest;
-    ::aurum::RspGetAttribute*       mResponse;
-    ObjectMapper* mObjMap;
-
-public:
-    GetAttributeCommand(const ::aurum::ReqGetAttribute* request,
-                        ::aurum::RspGetAttribute*       response);
-    ::grpc::Status execute() override;
-    static std::unique_ptr<GetAttributeCommand> createCommand(const ::aurum::ReqGetAttribute* request,
-                                                              ::aurum::RspGetAttribute*       response);
-};
-
-class GetVisibleAttributeCommand : public GetAttributeCommand {
-    using GetAttributeCommand::GetAttributeCommand;
-public:
-    ::grpc::Status execute() override;
-};
-
-class GetFocusedAttributeCommand : public GetAttributeCommand {
-    using GetAttributeCommand::GetAttributeCommand;
-public:
-    ::grpc::Status execute() override;
-};
-
-class GetFocusableAttributeCommand : public GetAttributeCommand {
-    using GetAttributeCommand::GetAttributeCommand;
-public:
-    ::grpc::Status execute() override;
-};
-
-class GetCheckableAttributeCommand : public GetAttributeCommand {
-    using GetAttributeCommand::GetAttributeCommand;
-public:
-    ::grpc::Status execute() override;
-};
-
-class GetCheckedAttributeCommand : public GetAttributeCommand {
-    using GetAttributeCommand::GetAttributeCommand;
-public:
-    ::grpc::Status execute() override;
-};
-
-class GetEnabledAttributeCommand : public GetAttributeCommand {
-    using GetAttributeCommand::GetAttributeCommand;
-public:
-    ::grpc::Status execute() override;
-};
-
-class GetClickableAttributeCommand : public GetAttributeCommand {
-    using GetAttributeCommand::GetAttributeCommand;
-public:
-    ::grpc::Status execute() override;
-};
-
-class GetScrollableAttributeCommand : public GetAttributeCommand {
-    using GetAttributeCommand::GetAttributeCommand;
-public:
-    ::grpc::Status execute() override;
-};
-
-class GetSelectableAttributeCommand : public GetAttributeCommand {
-    using GetAttributeCommand::GetAttributeCommand;
-public:
-    ::grpc::Status execute() override;
-};
-
-class GetSelectedAttributeCommand : public GetAttributeCommand {
-    using GetAttributeCommand::GetAttributeCommand;
-public:
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/GetDeviceTimeCommand.h b/bootstrap/server/inc/Commands/GetDeviceTimeCommand.h
deleted file mode 100644 (file)
index 4521709..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef GET_DEVICE_TIME_COMMAND_H
-#define GET_DEVICE_TIME_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class GetDeviceTimeCommand : public Command {
-private:
-    const ::aurum::ReqGetDeviceTime* mRequest;
-    ::aurum::RspGetDeviceTime*       mResponse;
-
-public:
-    GetDeviceTimeCommand(const ::aurum::ReqGetDeviceTime* request,
-                         ::aurum::RspGetDeviceTime*       response);
-    ;
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/GetLocationCommand.h b/bootstrap/server/inc/Commands/GetLocationCommand.h
deleted file mode 100644 (file)
index 2cb1341..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef GET_LOCATION_COMMAND_H
-#define GET_LOCATION_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class GetLocationCommand : public Command {
-private:
-    const ::aurum::ReqGetLocation* mRequest;
-    ::aurum::RspGetLocation*       mResponse;
-
-public:
-    GetLocationCommand(const ::aurum::ReqGetLocation* request,
-                       ::aurum::RspGetLocation*       response);
-    ;
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/GetSizeCommand.h b/bootstrap/server/inc/Commands/GetSizeCommand.h
deleted file mode 100644 (file)
index d6c8a33..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef GET_SIZE_COMMAND_H
-#define GET_SIZE_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class GetSizeCommand : public Command {
-private:
-    const ::aurum::ReqGetSize* mRequest;
-    ::aurum::RspGetSize*       mResponse;
-
-public:
-    GetSizeCommand(const ::aurum::ReqGetSize* request,
-                   ::aurum::RspGetSize*       response);
-    ;
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/GetValueCommand.h b/bootstrap/server/inc/Commands/GetValueCommand.h
deleted file mode 100644 (file)
index ccbd6ec..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef GET_VALUE_COMMAND_H
-#define GET_VALUE_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class GetValueCommand : public Command {
-private:
-    const ::aurum::ReqGetValue* mRequest;
-    ::aurum::RspGetValue*       mResponse;
-
-public:
-    GetValueCommand(const ::aurum::ReqGetValue* request,
-                    ::aurum::RspGetValue*       response);
-    ;
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/InstallAppCommand.h b/bootstrap/server/inc/Commands/InstallAppCommand.h
deleted file mode 100644 (file)
index 4ddc3e2..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef INSTALL_APP_COMMAND_H
-#define INSTALL_APP_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class InstallAppCommand : public Command {
-private:
-    ::grpc::ServerReader< ::aurum::ReqInstallApp>* mRequest;
-    ::aurum::RspInstallApp*                        mResponse;
-
-public:
-    InstallAppCommand(::grpc::ServerReader< ::aurum::ReqInstallApp>* request,
-                      ::aurum::RspInstallApp*                        response);
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/KillServerCommand.h b/bootstrap/server/inc/Commands/KillServerCommand.h
deleted file mode 100644 (file)
index 3121ac1..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef KILL_SERVER_COMMAND_H
-#define KILL_SERVER_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class KillServerCommand : public Command {
-private:
-    const ::aurum::ReqEmpty* mRequest;
-    ::aurum::RspEmpty*       mResponse;
-
-public:
-    KillServerCommand(const ::aurum::ReqEmpty* request,
-                      ::aurum::RspEmpty*       response);
-    ;
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/LaunchAppCommand.h b/bootstrap/server/inc/Commands/LaunchAppCommand.h
deleted file mode 100644 (file)
index 2227fed..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef LAUNCH_APP_COMMAND_H
-#define LAUNCH_APP_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class LaunchAppCommand : public Command {
-private:
-    const ::aurum::ReqLaunchApp* mRequest;
-    ::aurum::RspLaunchApp*       mResponse;
-
-public:
-    LaunchAppCommand(const ::aurum::ReqLaunchApp* request,
-                     ::aurum::RspLaunchApp*       response);
-    ::grpc::Status execute() override;
-    ::grpc::Status executePost() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/LongClickCommand.h b/bootstrap/server/inc/Commands/LongClickCommand.h
deleted file mode 100644 (file)
index 86a0b83..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef LONG_CLICK_COMMAND_H
-#define LONG_CLICK_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class LongClickCommand : public Command {
-private:
-    const ::aurum::ReqClick* mRequest;
-    ::aurum::RspClick*       mResponse;
-
-public:
-    LongClickCommand(const ::aurum::ReqClick* request,
-                     ::aurum::RspClick*       response);
-    ::grpc::Status execute() override;
-private:
-    const static unsigned int LOGNCLICK_INTERVAL = 50;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/PostCommand.h b/bootstrap/server/inc/Commands/PostCommand.h
deleted file mode 100644 (file)
index 29bd8a2..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef POST_COMMAND_H
-#define POST_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class PostCommand : public Command {
-private:
-    Command *mCommand;
-    PostCommand();
-
-public:
-    PostCommand(Command *cmd);
-    ::grpc::Status execute() override;
-    ::grpc::Status executePre() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/PreCommand.h b/bootstrap/server/inc/Commands/PreCommand.h
deleted file mode 100644 (file)
index 7d59d2a..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef PRE_COMMAND_H
-#define PRE_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class PreCommand : public Command {
-private:
-    Command *mCommand;
-    PreCommand();
-
-public:
-    PreCommand(Command *cmd);
-    ::grpc::Status execute() override;
-    ::grpc::Status executePost() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/RemoveAppCommand.h b/bootstrap/server/inc/Commands/RemoveAppCommand.h
deleted file mode 100644 (file)
index 9ab28ba..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef REMOVE_APP_COMMAND_H
-#define REMOVE_APP_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class RemoveAppCommand : public Command {
-private:
-    const ::aurum::ReqRemoveApp* mRequest;
-    ::aurum::RspRemoveApp*       mResponse;
-
-public:
-    RemoveAppCommand(const ::aurum::ReqRemoveApp* request,
-                     ::aurum::RspRemoveApp*       response);
-    ;
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/SendKeyCommand.h b/bootstrap/server/inc/Commands/SendKeyCommand.h
deleted file mode 100644 (file)
index 96fd071..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef SEND_KEY_COMMAND_H
-#define SEND_KEY_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class SendKeyCommand : public Command {
-private:
-    const ::aurum::ReqKey* mRequest;
-    ::aurum::RspKey*       mResponse;
-
-public:
-    SendKeyCommand(const ::aurum::ReqKey* request, ::aurum::RspKey* response);
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/SetValueCommand.h b/bootstrap/server/inc/Commands/SetValueCommand.h
deleted file mode 100644 (file)
index 13cf245..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef SET_VALUE_COMMAND_H
-#define SET_VALUE_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class SetValueCommand : public Command {
-private:
-    const ::aurum::ReqSetValue* mRequest;
-    ::aurum::RspSetValue*       mResponse;
-
-public:
-    SetValueCommand(const ::aurum::ReqSetValue* request,
-                    ::aurum::RspSetValue*       response);
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/SyncCommand.h b/bootstrap/server/inc/Commands/SyncCommand.h
deleted file mode 100644 (file)
index ecc7d6a..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef SYNC_COMMAND_H
-#define SYNC_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class SyncCommand : public Command {
-private:
-    const ::aurum::ReqEmpty* mRequest;
-    ::aurum::RspEmpty*       mResponse;
-
-public:
-    SyncCommand(const ::aurum::ReqEmpty* request, ::aurum::RspEmpty* response);
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/TouchDownCommand.h b/bootstrap/server/inc/Commands/TouchDownCommand.h
deleted file mode 100644 (file)
index 29b796b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef TOUCH_DOWN_COMMAND_H
-#define TOUCH_DOWN_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class TouchDownCommand : public Command {
-private:
-    const ::aurum::ReqTouchDown* mRequest;
-    ::aurum::RspTouchDown*       mResponse;
-
-public:
-    TouchDownCommand(const ::aurum::ReqTouchDown* request,
-                     ::aurum::RspTouchDown*       response);
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/TouchMoveCommand.h b/bootstrap/server/inc/Commands/TouchMoveCommand.h
deleted file mode 100644 (file)
index 12b719a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef TOUCH_MOVE_COMMAND_H
-#define TOUCH_MOVE_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class TouchMoveCommand : public Command {
-private:
-    const ::aurum::ReqTouchMove* mRequest;
-    ::aurum::RspTouchMove*       mResponse;
-
-public:
-    TouchMoveCommand(const ::aurum::ReqTouchMove* request,
-                     ::aurum::RspTouchMove*       response);
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/Commands/TouchUpCommand.h b/bootstrap/server/inc/Commands/TouchUpCommand.h
deleted file mode 100644 (file)
index 7ddc9e0..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef TOUCH_UP_COMMAND_H
-#define TOUCH_UP_COMMAND_H
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "Commands/Command.h"
-#include "ObjectMapper.h"
-#include "aurum.grpc.pb.h"
-#include "config.h"
-
-class TouchUpCommand : public Command {
-private:
-    const ::aurum::ReqTouchUp* mRequest;
-    ::aurum::RspTouchUp*       mResponse;
-
-public:
-    TouchUpCommand(const ::aurum::ReqTouchUp* request,
-                   ::aurum::RspTouchUp*       response);
-    ::grpc::Status execute() override;
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/inc/ObjectMapper.h b/bootstrap/server/inc/ObjectMapper.h
deleted file mode 100644 (file)
index b1f127f..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef OBJECT_MAPPER_H
-#define OBJECT_MAPPER_H
-
-#include <map>
-#include <string>
-
-#include "UiObject.h"
-
-class ObjectMapper {
-private:
-    std::map<std::string, std::unique_ptr<UiObject>> mObjectMap;
-    unsigned long long                               mObjCounter;
-
-private:
-    ObjectMapper();
-
-public:
-    ~ObjectMapper();
-
-public:
-    static ObjectMapper *getInstance();
-    std::string          addElement(std::unique_ptr<UiObject> object);
-    UiObject *           getElement(const std::string &key);
-};
-
-#endif
\ No newline at end of file
diff --git a/bootstrap/server/meson.build b/bootstrap/server/meson.build
deleted file mode 100644 (file)
index f51672e..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-bootstrap_svr_inc = [
-   libaurum_inc,
-   root_inc,
-   include_directories('inc'),
-   include_directories('inc/Commands'),
-   loguru_inc,
-]
-
-bootstrap_svr_src = [
-   files('src/BootstrapServer.cc'),
-   files('src/AurumServiceImpl.cc'),
-   files('src/ObjectMapper.cc'),
-]
-
-bootstrap_svr_src += [
-   files('src/Commands/ClearCommand.cc'),
-   files('src/Commands/ClickCommand.cc'),
-   files('src/Commands/CloseAppCommand.cc'),
-   files('src/Commands/FindElementCommand.cc'),
-   files('src/Commands/FlickCommand.cc'),
-   files('src/Commands/GetAttributeCommand.cc'),
-   files('src/Commands/GetDeviceTimeCommand.cc'),
-   files('src/Commands/GetLocationCommand.cc'),
-   files('src/Commands/GetSizeCommand.cc'),
-   files('src/Commands/GetValueCommand.cc'),
-   files('src/Commands/InstallAppCommand.cc'),
-   files('src/Commands/GetAppInfoCommand.cc'),
-   files('src/Commands/LaunchAppCommand.cc'),
-   files('src/Commands/LongClickCommand.cc'),
-   files('src/Commands/RemoveAppCommand.cc'),
-   files('src/Commands/SendKeyCommand.cc'),
-   files('src/Commands/SetValueCommand.cc'),
-   files('src/Commands/TouchDownCommand.cc'),
-   files('src/Commands/TouchMoveCommand.cc'),
-   files('src/Commands/TouchUpCommand.cc'),
-   files('src/Commands/SyncCommand.cc'),
-   files('src/Commands/KillServerCommand.cc'),
-   files('src/Commands/Command.cc'),
-   files('src/Commands/PreCommand.cc'),
-   files('src/Commands/PostCommand.cc'),
-]
-
-bootstrap_svr_dep = [
-   libaurum,
-   grpc_deps,
-   loguru_deps,
-]
-
-if get_option('tizen') == true
-bootstrap_svr_dep += [
-   dependency('capi-appfw-app-control'),
-   dependency('capi-appfw-app-manager'),
-   dependency('capi-appfw-package-manager'),
-]
-endif
-
-bootstrap_svr_bin = executable(
-   'aurum_bootstrap',
-   [bootstrap_svr_src, grpc_src, grpc_pb_src],
-   dependencies: bootstrap_svr_dep,
-   include_directories: bootstrap_svr_inc,
-   link_with: libloguru,
-   install:true,
-   pie:true,
-)
-
-system_unit_dir = ''
-user_unit_dir = ''
-
-systemd = dependency('systemd', required: false)
-if systemd.found()
-   user_unit_dir = systemd.get_pkgconfig_variable('systemduserunitdir')
-endif
-
-install_data('aurum-bootstrap.service', install_dir:user_unit_dir)
diff --git a/bootstrap/server/src/AurumServiceImpl.cc b/bootstrap/server/src/AurumServiceImpl.cc
deleted file mode 100644 (file)
index 89e7c60..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-#include "AurumServiceImpl.h"
-
-#include <AccessibleWatcher.h>
-#include "Commands/Commands.h"
-#include "Commands/PostCommand.h"
-#include "Commands/PreCommand.h"
-
-#include "config.h"
-#include "loguru.hpp"
-
-using namespace grpc;
-using namespace aurum;
-
-aurumServiceImpl::aurumServiceImpl()
-{
-    AccessibleWatcher::getInstance();
-}
-
-::grpc::Status aurumServiceImpl::execute(Command* cmd)
-{
-    std::unique_ptr<PreCommand>  proxyPreCmd  = std::make_unique<PreCommand>(cmd);
-    std::unique_ptr<PostCommand> proxyPostCmd = std::make_unique<PostCommand>(proxyPreCmd.get());
-    ::grpc::Status rst = proxyPostCmd->execute();
-    return rst;
-}
-
-aurumServiceImpl::~aurumServiceImpl() {}
-::grpc::Status aurumServiceImpl::aurumServiceImpl::sync(
-    ::grpc::ServerContext* context, const ::aurum::ReqEmpty* request,
-    ::aurum::RspEmpty* response)
-{
-    std::unique_ptr<SyncCommand> cmd = std::make_unique<SyncCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::aurumServiceImpl::killServer(
-    ::grpc::ServerContext* context, const ::aurum::ReqEmpty* request,
-    ::aurum::RspEmpty* response)
-{
-    std::unique_ptr<KillServerCommand> cmd = std::make_unique<KillServerCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::aurumServiceImpl::findElement(
-    ::grpc::ServerContext* context, const ::aurum::ReqFindElement* request,
-    ::aurum::RspFindElement* response)
-{
-    std::unique_ptr<FindElementCommand> cmd = std::make_unique<FindElementCommand>(request, response);
-    return execute(cmd.get());
-}
-
-::grpc::Status aurumServiceImpl::aurumServiceImpl::click(
-    ::grpc::ServerContext* context, const ::aurum::ReqClick* request,
-    ::aurum::RspClick* response)
-{
-    std::unique_ptr<ClickCommand> cmd = ClickCommand::createCommand(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::getValue(::grpc::ServerContext*      context,
-                                          const ::aurum::ReqGetValue* request,
-                                          ::aurum::RspGetValue*       response)
-{
-    std::unique_ptr<GetValueCommand> cmd = std::make_unique<GetValueCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::setValue(::grpc::ServerContext*      context,
-                                          const ::aurum::ReqSetValue* request,
-                                          ::aurum::RspSetValue*       response)
-{
-    std::unique_ptr<SetValueCommand> cmd = std::make_unique<SetValueCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::getAttribute(
-    ::grpc::ServerContext* context, const ::aurum::ReqGetAttribute* request,
-    ::aurum::RspGetAttribute* response)
-{
-    std::unique_ptr<GetAttributeCommand> cmd = GetAttributeCommand::createCommand(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::getSize(::grpc::ServerContext*     context,
-                                         const ::aurum::ReqGetSize* request,
-                                         ::aurum::RspGetSize*       response)
-{
-    std::unique_ptr<GetSizeCommand> cmd = std::make_unique<GetSizeCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::clear(::grpc::ServerContext*   context,
-                                       const ::aurum::ReqClear* request,
-                                       ::aurum::RspClear*       response)
-{
-    std::unique_ptr<ClearCommand> cmd = std::make_unique<ClearCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::installApp(
-    ::grpc::ServerContext*                         context,
-    ::grpc::ServerReader< ::aurum::ReqInstallApp>* request,
-    ::aurum::RspInstallApp*                        response)
-{
-    std::unique_ptr<InstallAppCommand> cmd = std::make_unique<InstallAppCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::removeApp(::grpc::ServerContext*       context,
-                                           const ::aurum::ReqRemoveApp* request,
-                                           ::aurum::RspRemoveApp* response)
-{
-    std::unique_ptr<RemoveAppCommand> cmd = std::make_unique<RemoveAppCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::getAppInfo(
-    ::grpc::ServerContext* context, const ::aurum::ReqGetAppInfo* request,
-    ::aurum::RspGetAppInfo* response)
-{
-    std::unique_ptr<GetAppInfoCommand> cmd = std::make_unique<GetAppInfoCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::launchApp(::grpc::ServerContext*       context,
-                                           const ::aurum::ReqLaunchApp* request,
-                                           ::aurum::RspLaunchApp* response)
-{
-    std::unique_ptr<LaunchAppCommand> cmd = std::make_unique<LaunchAppCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::closeApp(::grpc::ServerContext*      context,
-                                          const ::aurum::ReqCloseApp* request,
-                                          ::aurum::RspCloseApp*       response)
-{
-    std::unique_ptr<CloseAppCommand> cmd = std::make_unique<CloseAppCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::touchDown(::grpc::ServerContext*       context,
-                                           const ::aurum::ReqTouchDown* request,
-                                           ::aurum::RspTouchDown* response)
-{
-    std::unique_ptr<TouchDownCommand> cmd = std::make_unique<TouchDownCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::touchUp(::grpc::ServerContext*     context,
-                                         const ::aurum::ReqTouchUp* request,
-                                         ::aurum::RspTouchUp*       response)
-{
-    std::unique_ptr<TouchUpCommand> cmd = std::make_unique<TouchUpCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::touchMove(::grpc::ServerContext*       context,
-                                           const ::aurum::ReqTouchMove* request,
-                                           ::aurum::RspTouchMove* response)
-{
-    std::unique_ptr<TouchMoveCommand> cmd = std::make_unique<TouchMoveCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::longClick(::grpc::ServerContext*   context,
-                                           const ::aurum::ReqClick* request,
-                                           ::aurum::RspClick*       response)
-{
-    std::unique_ptr<LongClickCommand> cmd = std::make_unique<LongClickCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::flick(::grpc::ServerContext*   context,
-                                       const ::aurum::ReqFlick* request,
-                                       ::aurum::RspFlick*       response)
-{
-    std::unique_ptr<FlickCommand> cmd = std::make_unique<FlickCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::getDeviceTime(
-    ::grpc::ServerContext* context, const ::aurum::ReqGetDeviceTime* request,
-    ::aurum::RspGetDeviceTime* response)
-{
-    std::unique_ptr<GetDeviceTimeCommand> cmd = std::make_unique<GetDeviceTimeCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::getLocation(
-    ::grpc::ServerContext* context, const ::aurum::ReqGetLocation* request,
-    ::aurum::RspGetLocation* response)
-{
-    std::unique_ptr<GetLocationCommand> cmd = std::make_unique<GetLocationCommand>(request, response);
-    return execute(cmd.get());
-}
-::grpc::Status aurumServiceImpl::sendKey(::grpc::ServerContext* context,
-                                         const ::aurum::ReqKey* request,
-                                         ::aurum::RspKey*       response)
-{
-    std::unique_ptr<SendKeyCommand> cmd = std::make_unique<SendKeyCommand>(request, response);
-    return execute(cmd.get());
-}
diff --git a/bootstrap/server/src/BootstrapServer.cc b/bootstrap/server/src/BootstrapServer.cc
deleted file mode 100644 (file)
index e053a49..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <iostream>
-#include <glib.h>
-
-#include <gio/gio.h>
-#include <grpcpp/grpcpp.h>
-#include "aurum.grpc.pb.h"
-
-#include "AurumServiceImpl.h"
-#include "config.h"
-#include "loguru.hpp"
-
-using namespace grpc;
-
-static gpointer
-_grpc_thread_func (gpointer data __attribute__((unused)))
-{
-    std::string binding("0.0.0.0:50051");
-    aurumServiceImpl service;
-    ServerBuilder builder;
-
-    LOG_F(INFO, "[T] Server Listening on %s", binding.c_str());
-    builder.AddListeningPort(binding, grpc::InsecureServerCredentials());
-    builder.RegisterService(&service);
-    std::unique_ptr<Server> server(builder.BuildAndStart());
-    server->Wait();
-
-    return NULL;
-}
-
-int main(int argc, char **argv)
-{
-    const char *logPath = "/tmp/ua.log";
-    GMainLoop *loop;
-
-    loguru::init(argc, argv);
-    loguru::g_preamble = false;
-    loguru::add_file(logPath, loguru::Append, loguru::Verbosity_MAX);
-    LOG_SCOPE_F(INFO, "Log : %s", logPath);
-
-    loop = g_main_loop_new ( NULL , FALSE );
-    g_thread_new("grpc_thread", _grpc_thread_func, loop);
-
-    g_main_loop_run (loop);
-    g_main_loop_unref(loop);
-
-    return 0;
-}
diff --git a/bootstrap/server/src/Commands/ClearCommand.cc b/bootstrap/server/src/Commands/ClearCommand.cc
deleted file mode 100644 (file)
index 5c24358..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#include "ClearCommand.h"
-#include <UiObject.h>
-#include <loguru.hpp>
-#include <string>
-
-ClearCommand::ClearCommand(const ::aurum::ReqClear* request,
-                           ::aurum::RspClear*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-bool ClearCommand::hasHintText(UiObject *obj)
-{
-    if (!obj) return false;
-
-    auto old_text = obj->getText();
-    obj->setText("");
-    if (!old_text.compare(obj->getText())) {
-        return true;
-    } else {
-        obj->setText(old_text);
-        return false;
-    }
-}
-
-::grpc::Status ClearCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "Clear --------------- ");
-    ObjectMapper* mObjMap = ObjectMapper::getInstance();
-    UiObject*     obj = mObjMap->getElement(mRequest->elementid());
-
-    if (obj) {
-        obj->setText("");
-        obj->refresh();
-        auto text = obj->getText();
-        if (text.length() != 0) {
-            if (hasHintText(obj)) {
-                mResponse->set_status(::aurum::RspStatus::OK);
-            } else {
-                mResponse->set_status(::aurum::RspStatus::ERROR);
-            }
-        } else {
-            mResponse->set_status(::aurum::RspStatus::OK);
-        }
-    }
-
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/ClickCommand.cc b/bootstrap/server/src/Commands/ClickCommand.cc
deleted file mode 100644 (file)
index 8ccc6ad..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#include "ClickCommand.h"
-
-#include "UiObject.h"
-#include "UiDevice.h"
-
-#include <loguru.hpp>
-
-ClickCommand::ClickCommand(const ::aurum::ReqClick* request,
-                           ::aurum::RspClick*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status ClickCommand::execute()
-{
-   return grpc::Status::CANCELLED;
-}
-
-std::unique_ptr<ClickCommand> ClickCommand::createCommand(const ::aurum::ReqClick* request, ::aurum::RspClick* response)
-{
-    ::aurum::ReqClick_RequestType type = request->type();
-
-    if (type == ::aurum::ReqClick_RequestType::ReqClick_RequestType_ELEMENTID)
-        return std::make_unique<ClickElementCommand>(request, response);
-    else if (type == ::aurum::ReqClick_RequestType::ReqClick_RequestType_COORD)
-        return std::make_unique<ClickCoordCommand>(request, response);
-    else if (type == ::aurum::ReqClick_RequestType::ReqClick_RequestType_ATSPI)
-        return std::make_unique<ClickAtspiCommand>(request, response);
-    else
-        return std::make_unique<ClickCommand>(request, response);
-}
-
-::grpc::Status ClickElementCommand::execute()
-{
-    ObjectMapper* mObjMap = ObjectMapper::getInstance();
-    UiObject* obj = mObjMap->getElement(mRequest->elementid());
-
-    if (obj) {
-        obj->click();
-        mResponse->set_status(::aurum::RspStatus::OK);
-    } else
-        mResponse->set_status(::aurum::RspStatus::ERROR);
-
-    return grpc::Status::OK;
-}
-
-::grpc::Status ClickCoordCommand::execute()
-{
-    UiDevice* obj = UiDevice::getInstance(DeviceType::DEFAULT);
-    const ::aurum::Point& point = mRequest->coordination();
-    obj->click(point.x(), point.y());
-    mResponse->set_status(::aurum::RspStatus::OK);
-}
-
-::grpc::Status ClickAtspiCommand::execute()
-{
-    return grpc::Status::CANCELLED;
-}
diff --git a/bootstrap/server/src/Commands/CloseAppCommand.cc b/bootstrap/server/src/Commands/CloseAppCommand.cc
deleted file mode 100644 (file)
index 3221d36..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#include "CloseAppCommand.h"
-#include <loguru.hpp>
-#include <chrono>
-#include <thread>
-#ifdef GBSBUILD
-#include <app_manager_extension.h>
-#endif
-
-CloseAppCommand::CloseAppCommand(const ::aurum::ReqCloseApp* request,
-                                 ::aurum::RspCloseApp*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status CloseAppCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "CloseApp --------------- ");
-#ifdef GBSBUILD
-    std::string   packageName = mRequest->packagename();
-    app_context_h app_context = NULL;
-
-    LOG_F(INFO, "close req : %s", packageName.c_str());
-
-    int ret = app_manager_get_app_context(packageName.c_str(), &app_context);
-    if (ret) {
-        LOG_SCOPE_F(INFO, "Terminate Failed(1/2) Err Code : %d", ret);
-        mResponse->set_status(::aurum::RspStatus::ERROR);
-        return grpc::Status::OK;
-    }
-    ret = app_manager_terminate_app(app_context);
-    if (ret) {
-        LOG_SCOPE_F(INFO, "Terminate Failed(2/2) Err Code : %d", ret);
-        mResponse->set_status(::aurum::RspStatus::ERROR);
-        return grpc::Status::OK;
-    }
-#endif
-    return grpc::Status::OK;
-}
-
-::grpc::Status CloseAppCommand::executePost()
-{
-    LOG_SCOPE_F(INFO, "CloseAppCommand::executePost");
-    std::this_thread::sleep_for(std::chrono::milliseconds{1500});
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/Command.cc b/bootstrap/server/src/Commands/Command.cc
deleted file mode 100644 (file)
index 71a6eb7..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "Command.h"
-#include <loguru.hpp>
-
-::grpc::Status Command::executePost()
-{
-    return ::grpc::Status::OK;
-}
-
-::grpc::Status Command::executePre()
-{
-    return ::grpc::Status::OK;
-}
diff --git a/bootstrap/server/src/Commands/FindElementCommand.cc b/bootstrap/server/src/Commands/FindElementCommand.cc
deleted file mode 100644 (file)
index cc9912e..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#include "FindElementCommand.h"
-
-#include "ISearchable.h"
-
-#include "Sel.h"
-#include "UiDevice.h"
-#include "UiObject.h"
-#include "UiSelector.h"
-
-#include <loguru.hpp>
-
-FindElementCommand::FindElementCommand(const ::aurum::ReqFindElement* request,
-                                       ::aurum::RspFindElement*       response)
-    : mRequest{request}, mResponse{response}
-{
-    mObjMap = ObjectMapper::getInstance();
-}
-ISearchable* FindElementCommand::getSearchableTop(void)
-{
-    ISearchable* searchableObj = nullptr;
-    bool fromObject = mRequest->elementid().empty() == false;
-
-    if (fromObject) searchableObj = mObjMap->getElement(mRequest->elementid());
-    if (!searchableObj) searchableObj = UiDevice::getInstance(DeviceType::DEFAULT);
-
-    return searchableObj;
-}
-std::shared_ptr<UiSelector> FindElementCommand::getSelector(void)
-{
-    return Sel::text(mRequest->textfield());
-}
-
-::grpc::Status FindElementCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "findElement --------------- ");
-    auto searchableObj = getSearchableTop();
-    auto sel           = getSelector();
-
-    std::vector<std::unique_ptr<UiObject>> founds = searchableObj->findObjects(sel);
-
-    if (founds.size() > 0) {
-        for (auto& found : founds) {
-            UiObject*   obj = found.get();
-            std::string key = mObjMap->addElement(std::move(found));
-            LOG_F(INFO, "found object : %s key:%s",
-                  obj->getResourceName().c_str(), key.c_str());
-            ::aurum::Element* elm = mResponse->add_elements();
-            elm->set_elementid(key);
-        }
-        mResponse->set_status(::aurum::RspStatus::OK);
-    }
-
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/FlickCommand.cc b/bootstrap/server/src/Commands/FlickCommand.cc
deleted file mode 100644 (file)
index a2ff94f..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "FlickCommand.h"
-#include <loguru.hpp>
-
-#include <UiDevice.h>
-
-FlickCommand::FlickCommand(const ::aurum::ReqFlick *request,
-                           ::aurum::RspFlick *      response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status FlickCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "Flick --------------- ");
-
-    const ::aurum::Point &startPoint = mRequest->startpoint();
-    const ::aurum::Point &endPoint = mRequest->endpoint();
-    int                   durationMs = mRequest->durationms();
-
-    UiDevice *device = UiDevice::getInstance(DeviceType::DEFAULT);
-    device->drag(startPoint.x(), startPoint.y(), endPoint.x(), endPoint.y(), durationMs);
-    mResponse->set_status(::aurum::RspStatus::OK);
-
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/GetAppInfoCommand.cc b/bootstrap/server/src/Commands/GetAppInfoCommand.cc
deleted file mode 100644 (file)
index 961fd82..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#include "GetAppInfoCommand.h"
-#include <loguru.hpp>
-#ifdef GBSBUILD
-#include <app_manager_extension.h>
-#include <package_manager.h>
-#endif
-
-GetAppInfoCommand::GetAppInfoCommand(const ::aurum::ReqGetAppInfo* request,
-                                     ::aurum::RspGetAppInfo*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status GetAppInfoCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "GetAppInfo --------------- ");
-#ifdef GBSBUILD
-    std::string packageName = mRequest->packagename();
-
-    app_context_h  app_context;
-    package_info_h package_info;
-    app_state_e    appState;
-
-    char* label = nullptr;
-    int   ret = -1;
-
-    mResponse->set_status(::aurum::RspStatus::OK);
-    mResponse->set_isinstalled(false);
-    mResponse->set_isrunning(false);
-    mResponse->set_isfocused(false);
-
-    if (!package_manager_get_package_info(packageName.c_str(), &package_info)) {
-        if (!package_info_get_label(package_info, &label)) {
-            if (label) {
-                free(label);
-                mResponse->set_isinstalled(true);
-            }
-        }
-    }
-
-    if (!app_manager_get_app_context(packageName.c_str(), &app_context)) {
-        if (!app_context_get_app_state(app_context, &appState)) {
-            mResponse->set_isfocused(appState & APP_STATE_FOREGROUND);
-            mResponse->set_isrunning(!(appState & APP_STATE_TERMINATED));
-        }
-    }
-
-#endif
-    return grpc::Status::OK;
-}
diff --git a/bootstrap/server/src/Commands/GetAttributeCommand.cc b/bootstrap/server/src/Commands/GetAttributeCommand.cc
deleted file mode 100644 (file)
index f844c54..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-#include "GetAttributeCommand.h"
-#include <loguru.hpp>
-
-#include <UiDevice.h>
-#include <UiObject.h>
-
-GetAttributeCommand::GetAttributeCommand(
-    const ::aurum::ReqGetAttribute* request, ::aurum::RspGetAttribute* response)
-    : mRequest{request}, mResponse{response},  mObjMap{ObjectMapper::getInstance()}
-{
-}
-
-::grpc::Status GetAttributeCommand::execute()
-{
-    return grpc::Status::CANCELLED;
-}
-
-std::unique_ptr<GetAttributeCommand> GetAttributeCommand::createCommand(const ::aurum::ReqGetAttribute* request,
-                                                                        ::aurum::RspGetAttribute*       response)
-{
-    ::aurum::ReqGetAttribute_RequestType type = request->attribute();
-
-    LOG_SCOPE_F(INFO, "type : %d", type);
-
-    if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_VISIBLE)
-        return std::make_unique<GetVisibleAttributeCommand>(request, response);
-    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_FOCUSABLE)
-        return std::make_unique<GetFocusableAttributeCommand>(request, response);
-    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_FOCUSED)
-        return std::make_unique<GetFocusedAttributeCommand>(request, response);
-    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_ENABLED)
-        return std::make_unique<GetEnabledAttributeCommand>(request, response);
-    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_CLICKABLE)
-        return std::make_unique<GetClickableAttributeCommand>(request, response);
-    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_SCROLLABLE)
-        return std::make_unique<GetScrollableAttributeCommand>(request, response);
-    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_CHECKABLE)
-        return std::make_unique<GetCheckableAttributeCommand>(request, response);
-    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_CHECKED)
-        return std::make_unique<GetCheckedAttributeCommand>(request, response);
-    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_SELECTED)
-        return std::make_unique<GetSelectedAttributeCommand>(request, response);
-    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_SELECTABLE)
-        return std::make_unique<GetSelectableAttributeCommand>(request, response);
-    else
-        return std::make_unique<GetAttributeCommand>(request, response);
-}
-
-::grpc::Status GetVisibleAttributeCommand::execute()
-{
-    UiObject* obj = mObjMap->getElement(mRequest->elementid());
-    if (!obj) {
-        mResponse->set_boolvalue(false);
-        mResponse->set_status(aurum::RspStatus::ERROR);
-        return grpc::Status::OK;
-    }
-    mResponse->set_boolvalue(obj->isVisible());
-    mResponse->set_status(aurum::RspStatus::OK);
-    return grpc::Status::OK;
-}
-
-::grpc::Status GetFocusedAttributeCommand::execute()
-{
-    UiObject* obj = mObjMap->getElement(mRequest->elementid());
-    if (!obj) {
-        mResponse->set_boolvalue(false);
-        mResponse->set_status(aurum::RspStatus::ERROR);
-        return grpc::Status::OK;
-    }
-    mResponse->set_boolvalue(obj->isFocused());
-    mResponse->set_status(aurum::RspStatus::OK);
-    return grpc::Status::OK;
-}
-
-::grpc::Status GetFocusableAttributeCommand::execute()
-{
-    UiObject* obj = mObjMap->getElement(mRequest->elementid());
-    if (!obj) {
-        mResponse->set_boolvalue(false);
-        mResponse->set_status(aurum::RspStatus::ERROR);
-        return grpc::Status::OK;
-    }
-    mResponse->set_boolvalue(obj->isFocusable());
-    mResponse->set_status(aurum::RspStatus::OK);
-    return grpc::Status::OK;
-}
-
-::grpc::Status GetCheckableAttributeCommand::execute()
-{
-    UiObject* obj = mObjMap->getElement(mRequest->elementid());
-    if (!obj) {
-        mResponse->set_boolvalue(false);
-        mResponse->set_status(aurum::RspStatus::ERROR);
-        return grpc::Status::OK;
-    }
-    mResponse->set_boolvalue(obj->isCheckable());
-    mResponse->set_status(aurum::RspStatus::OK);
-    return grpc::Status::OK;
-}
-
-::grpc::Status GetCheckedAttributeCommand::execute()
-{
-    UiObject* obj = mObjMap->getElement(mRequest->elementid());
-    if (!obj) {
-        mResponse->set_boolvalue(false);
-        mResponse->set_status(aurum::RspStatus::ERROR);
-        return grpc::Status::OK;
-    }
-    mResponse->set_boolvalue(obj->isChecked());
-    mResponse->set_status(aurum::RspStatus::OK);
-    return grpc::Status::OK;
-}
-
-::grpc::Status GetEnabledAttributeCommand::execute()
-{
-    UiObject* obj = mObjMap->getElement(mRequest->elementid());
-    if (!obj) {
-        mResponse->set_boolvalue(false);
-        mResponse->set_status(aurum::RspStatus::ERROR);
-        return grpc::Status::OK;
-    }
-    mResponse->set_boolvalue(obj->isEnabled());
-    mResponse->set_status(aurum::RspStatus::OK);
-    return grpc::Status::OK;
-}
-
-::grpc::Status GetClickableAttributeCommand::execute()
-{
-    UiObject* obj = mObjMap->getElement(mRequest->elementid());
-    if (!obj) {
-        mResponse->set_boolvalue(false);
-        mResponse->set_status(aurum::RspStatus::ERROR);
-        return grpc::Status::OK;
-    }
-    mResponse->set_boolvalue(obj->isClickable());
-    mResponse->set_status(aurum::RspStatus::OK);
-    return grpc::Status::OK;
-}
-
-::grpc::Status GetScrollableAttributeCommand::execute()
-{
-    UiObject* obj = mObjMap->getElement(mRequest->elementid());
-    if (!obj) {
-        mResponse->set_boolvalue(false);
-        mResponse->set_status(aurum::RspStatus::ERROR);
-        return grpc::Status::OK;
-    }
-    mResponse->set_boolvalue(obj->isScrollable());
-    mResponse->set_status(aurum::RspStatus::OK);
-    return grpc::Status::OK;
-}
-
-::grpc::Status GetSelectableAttributeCommand::execute()
-{
-    UiObject* obj = mObjMap->getElement(mRequest->elementid());
-    if (!obj) {
-        mResponse->set_boolvalue(false);
-        mResponse->set_status(aurum::RspStatus::ERROR);
-        return grpc::Status::OK;
-    }
-    mResponse->set_boolvalue(obj->isSelectable());
-    mResponse->set_status(aurum::RspStatus::OK);
-    return grpc::Status::OK;
-}
-
-::grpc::Status GetSelectedAttributeCommand::execute()
-{
-    UiObject* obj = mObjMap->getElement(mRequest->elementid());
-    if (!obj) {
-        mResponse->set_boolvalue(false);
-        mResponse->set_status(aurum::RspStatus::ERROR);
-        return grpc::Status::OK;
-    }
-    mResponse->set_boolvalue(obj->isSelected());
-    mResponse->set_status(aurum::RspStatus::OK);
-    return grpc::Status::OK;
-}
diff --git a/bootstrap/server/src/Commands/GetDeviceTimeCommand.cc b/bootstrap/server/src/Commands/GetDeviceTimeCommand.cc
deleted file mode 100644 (file)
index 6f9c2a6..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#include "GetDeviceTimeCommand.h"
-#include <loguru.hpp>
-
-GetDeviceTimeCommand::GetDeviceTimeCommand(
-    const ::aurum::ReqGetDeviceTime* request,
-    ::aurum::RspGetDeviceTime*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status GetDeviceTimeCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "GetDeviceTime --------------- ");
-    // ObjectMapper *mObjMap = ObjectMapper::getInstance();
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/GetLocationCommand.cc b/bootstrap/server/src/Commands/GetLocationCommand.cc
deleted file mode 100644 (file)
index a8a5aff..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#include "GetLocationCommand.h"
-#include <loguru.hpp>
-
-GetLocationCommand::GetLocationCommand(const ::aurum::ReqGetLocation* request,
-                                       ::aurum::RspGetLocation*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status GetLocationCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "CliGetLocation --------------- ");
-    // ObjectMapper *mObjMap = ObjectMapper::getInstance();
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/GetSizeCommand.cc b/bootstrap/server/src/Commands/GetSizeCommand.cc
deleted file mode 100644 (file)
index de77d0e..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#include "GetSizeCommand.h"
-#include <loguru.hpp>
-
-#include <UiObject.h>
-
-GetSizeCommand::GetSizeCommand(const ::aurum::ReqGetSize* request,
-                               ::aurum::RspGetSize*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status GetSizeCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "GetSize --------------- ");
-    ObjectMapper *mObjMap = ObjectMapper::getInstance();
-    UiObject* obj = mObjMap->getElement(mRequest->elementid());
-    if (obj) {
-        const Rect<int> &size = obj->getBoundingBox();
-        ::aurum::Rect rect;
-        rect.set_x(size.mTopLeft.x);
-        rect.set_y(size.mTopLeft.y);
-        rect.set_width(size.width());
-        rect.set_height(size.height());
-        mResponse->mutable_size()->CopyFrom(rect);
-    }
-
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/GetValueCommand.cc b/bootstrap/server/src/Commands/GetValueCommand.cc
deleted file mode 100644 (file)
index 0eabcb5..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "GetValueCommand.h"
-#include <loguru.hpp>
-
-#include <UiObject.h>
-
-GetValueCommand::GetValueCommand(const ::aurum::ReqGetValue* request,
-                                 ::aurum::RspGetValue*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status GetValueCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "GetValue --------------- ");
-    ObjectMapper* mObjMap = ObjectMapper::getInstance();
-    UiObject*     obj = mObjMap->getElement(mRequest->elementid());
-
-    if (obj) {
-        std::string text = obj->getText();
-        mResponse->set_stringvalue(text.c_str());
-        mResponse->set_status(::aurum::RspStatus::OK);
-    }
-
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/InstallAppCommand.cc b/bootstrap/server/src/Commands/InstallAppCommand.cc
deleted file mode 100644 (file)
index 454bda5..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#include "InstallAppCommand.h"
-#include <fstream>
-#include <loguru.hpp>
-#ifdef GBSBUILD
-#include <package_manager.h>
-#endif
-
-InstallAppCommand::InstallAppCommand(
-    ::grpc::ServerReader<::aurum::ReqInstallApp> *request,
-    ::aurum::RspInstallApp *                      response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status InstallAppCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "InstallApp --------------- ");
-#ifdef GBSBUILD
-    ::aurum::ReqInstallApp chunk;
-
-    std::ofstream outfile("/tmp/app.tpk", std::ofstream::binary);
-
-    while (mRequest->Read(&chunk)) {
-        std::size_t size = chunk.package().length();
-        const char *bufptr = chunk.package().c_str();
-        outfile.write(bufptr, size);
-    }
-    outfile.close();
-
-    package_manager_request_h pkgRequest;
-    int                       id;
-
-    package_manager_request_create(&pkgRequest);
-    package_manager_request_install(pkgRequest, "/tmp/app.tpk", &id);
-#endif
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/KillServerCommand.cc b/bootstrap/server/src/Commands/KillServerCommand.cc
deleted file mode 100644 (file)
index 2e51682..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#include "KillServerCommand.h"
-#include <loguru.hpp>
-
-KillServerCommand::KillServerCommand(const ::aurum::ReqEmpty* request,
-                                     ::aurum::RspEmpty*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status KillServerCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "Kill Server ");
-
-    exit(1);
-
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/LaunchAppCommand.cc b/bootstrap/server/src/Commands/LaunchAppCommand.cc
deleted file mode 100644 (file)
index 6002a94..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#include "LaunchAppCommand.h"
-#include <loguru.hpp>
-#include <chrono>
-#include <thread>
-
-#ifdef GBSBUILD
-#include <app_control.h>
-#endif
-
-LaunchAppCommand::LaunchAppCommand(const ::aurum::ReqLaunchApp* request,
-                                   ::aurum::RspLaunchApp*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status LaunchAppCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "LaunchApp --------------- ");
-#ifdef GBSBUILD
-    app_control_h appControl;
-    std::string   packageName = mRequest->packagename();
-    int           ret = -1;
-
-    if (packageName.empty()) return grpc::Status::OK;
-
-    ret = app_control_create(&appControl);
-    if (ret) {
-        LOG_SCOPE_F(INFO, "Launch Failed(1/3) Err Code : %ull", ret);
-        mResponse->set_status(::aurum::RspStatus::ERROR);
-        return grpc::Status::OK;
-    }
-
-    ret = app_control_set_app_id(appControl, packageName.c_str());
-    if (ret) {
-        LOG_SCOPE_F(INFO, "Launch Failed(2/3) Err Code : %ull", ret);
-        mResponse->set_status(::aurum::RspStatus::ERROR);
-        return grpc::Status::OK;
-    }
-
-    ret = app_control_send_launch_request(appControl, NULL, NULL);
-    if (ret) {
-        LOG_SCOPE_F(INFO, "Launch Failed(3/3) Err Code : %ull", ret);
-        mResponse->set_status(::aurum::RspStatus::ERROR);
-        return grpc::Status::OK;
-    }
-#endif
-    return grpc::Status::OK;
-}
-::grpc::Status LaunchAppCommand::executePost()
-{
-    LOG_SCOPE_F(INFO, "LaunchAppCommand::executePost");
-    std::this_thread::sleep_for(std::chrono::milliseconds{1500});
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/LongClickCommand.cc b/bootstrap/server/src/Commands/LongClickCommand.cc
deleted file mode 100644 (file)
index 6dcc5a1..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#include "LongClickCommand.h"
-#include <loguru.hpp>
-
-#include <UiObject.h>
-#include <UiDevice.h>
-
-LongClickCommand::LongClickCommand(const ::aurum::ReqClick* request,
-                                   ::aurum::RspClick*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status LongClickCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "LongClick --------------- ");
-
-    ObjectMapper* mObjMap = ObjectMapper::getInstance();
-    ::aurum::ReqClick_RequestType type = mRequest->type();
-
-    if (type == ::aurum::ReqClick_RequestType_ELEMENTID) {
-        UiObject* obj = mObjMap->getElement(mRequest->elementid());
-        if (obj) {
-            obj->longClick(LOGNCLICK_INTERVAL);
-            mResponse->set_status(::aurum::RspStatus::OK);
-        } else
-            mResponse->set_status(::aurum::RspStatus::ERROR);
-    } else if (type == ::aurum::ReqClick_RequestType_COORD) {
-        UiDevice* obj = UiDevice::getInstance(DeviceType::DEFAULT);
-        const ::aurum::Point& point = mRequest->coordination();
-        obj->click(point.x(), point.y(), LOGNCLICK_INTERVAL);
-        mResponse->set_status(::aurum::RspStatus::OK);
-    } else if (type == ::aurum::ReqClick_RequestType_ATSPI) {
-        mResponse->set_status(::aurum::RspStatus::ERROR);
-    }
-
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/PostCommand.cc b/bootstrap/server/src/Commands/PostCommand.cc
deleted file mode 100644 (file)
index 71f4692..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#include "PostCommand.h"
-#include <atspi/atspi.h>
-#include <loguru.hpp>
-
-PostCommand::PostCommand() : PostCommand(nullptr) {}
-PostCommand::PostCommand(Command *cmd) : mCommand{cmd} {}
-
-::grpc::Status PostCommand::execute()
-{
-    ::grpc::Status rst = mCommand->execute();
-    LOG_SCOPE_F(INFO, "PostCommand --------------- ");
-    mCommand->executePost();
-    // do post-command
-    return rst;
-}
-
-::grpc::Status PostCommand::executePre()
-{
-    return mCommand->executePre();
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/PreCommand.cc b/bootstrap/server/src/Commands/PreCommand.cc
deleted file mode 100644 (file)
index a0f13ff..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#include "PreCommand.h"
-#include <atspi/atspi.h>
-#include <loguru.hpp>
-
-PreCommand::PreCommand() : PreCommand(nullptr) {}
-PreCommand::PreCommand(Command *cmd) : mCommand{cmd} {}
-
-::grpc::Status PreCommand::execute()
-{
-    {
-        LOG_SCOPE_F(INFO, "PreCommand --------------- ");
-        AtspiAccessible *n = atspi_get_desktop(0);
-        if (n) {
-            char *name = atspi_accessible_get_name(n, NULL);
-            if(name) free(name);
-            g_object_unref(n);
-        }
-    }
-    mCommand->executePre();
-    return mCommand->execute();
-}
-
-::grpc::Status PreCommand::executePost()
-{
-    return mCommand->executePost();
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/RemoveAppCommand.cc b/bootstrap/server/src/Commands/RemoveAppCommand.cc
deleted file mode 100644 (file)
index 0fa6816..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#include "RemoveAppCommand.h"
-#include <loguru.hpp>
-#ifdef GBSBUILD
-#include <package_manager.h>
-#endif
-
-RemoveAppCommand::RemoveAppCommand(const ::aurum::ReqRemoveApp* request,
-                                   ::aurum::RspRemoveApp*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status RemoveAppCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "RemoveApp --------------- ");
-#ifdef GBSBUILD
-    package_manager_request_h pkgRequest;
-    std::string               name = mRequest->packagename();
-    int                       id;
-    LOG_F(INFO, "package name :%s", name.c_str());
-
-    package_manager_request_create(&pkgRequest);
-    package_manager_request_uninstall(pkgRequest, name.c_str(), &id);
-#endif
-
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/SendKeyCommand.cc b/bootstrap/server/src/Commands/SendKeyCommand.cc
deleted file mode 100644 (file)
index 7897a7f..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#include "SendKeyCommand.h"
-#include <loguru.hpp>
-
-#include <UiDevice.h>
-
-SendKeyCommand::SendKeyCommand(const ::aurum::ReqKey* request,
-                               ::aurum::RspKey*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status SendKeyCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "SendKey --------------- ");
-    UiDevice* mDevice = UiDevice::getInstance(DeviceType::DEFAULT);
-    ::aurum::ReqKey_KeyType type = mRequest->type();
-
-    if (type == ::aurum::ReqKey_KeyType::ReqKey_KeyType_BACK)
-        mDevice->pressBack();
-    else if (type == ::aurum::ReqKey_KeyType::ReqKey_KeyType_HOME)
-        mDevice->pressHome();
-    else if (type == ::aurum::ReqKey_KeyType::ReqKey_KeyType_MENU)
-        mDevice->pressMenu();
-    else if (type == ::aurum::ReqKey_KeyType::ReqKey_KeyType_VOLUP)
-        mDevice->pressVolUp();
-    else if (type == ::aurum::ReqKey_KeyType::ReqKey_KeyType_VOLDOWN)
-        mDevice->pressVolDown();
-    else if (type == ::aurum::ReqKey_KeyType::ReqKey_KeyType_POWER)
-        mDevice->pressPower();
-    else if (type == ::aurum::ReqKey_KeyType::ReqKey_KeyType_KEY) {
-        ; // TODO
-    }
-    else if (type == ::aurum::ReqKey_KeyType::ReqKey_KeyType_XF86) {
-        ; // TODO
-    }
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/SetValueCommand.cc b/bootstrap/server/src/Commands/SetValueCommand.cc
deleted file mode 100644 (file)
index 9f574ee..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#include "SetValueCommand.h"
-#include <loguru.hpp>
-
-SetValueCommand::SetValueCommand(const ::aurum::ReqSetValue* request,
-                                 ::aurum::RspSetValue*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status SetValueCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "SetValue (text:%s) --------------- ", mRequest->stringvalue().c_str());
-    ObjectMapper* mObjMap = ObjectMapper::getInstance();
-    UiObject*     obj = mObjMap->getElement(mRequest->elementid());
-    if (obj) obj->setText(const_cast<std::string&>(mRequest->stringvalue()));
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/SyncCommand.cc b/bootstrap/server/src/Commands/SyncCommand.cc
deleted file mode 100644 (file)
index 9d09214..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "SyncCommand.h"
-#include <loguru.hpp>
-
-#include <AccessibleWatcher.h>
-#include <AccessibleNode.h>
-
-SyncCommand::SyncCommand(const ::aurum::ReqEmpty *request,
-                         ::aurum::RspEmpty *      response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status SyncCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "Sync Command ");
-    const AccessibleWatcher *accObj = AccessibleWatcher::getInstance();
-
-    auto root = accObj->getRootNode();
-    LOG_F(INFO, "root node tree / depth : 2");
-    root->print(0, 2);
-
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/TouchDownCommand.cc b/bootstrap/server/src/Commands/TouchDownCommand.cc
deleted file mode 100644 (file)
index 4864cc5..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#include "TouchDownCommand.h"
-#include <UiDevice.h>
-#include <loguru.hpp>
-
-TouchDownCommand::TouchDownCommand(const ::aurum::ReqTouchDown* request,
-                                   ::aurum::RspTouchDown*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status TouchDownCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "TouchDown --------------- ");
-    const aurum::Point& point_ = mRequest->coordination();
-    mResponse->set_seqid(0);
-    UiDevice::getInstance(DeviceType::DEFAULT)
-        ->touchDown(point_.x(), point_.y());
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/TouchMoveCommand.cc b/bootstrap/server/src/Commands/TouchMoveCommand.cc
deleted file mode 100644 (file)
index 18fbeb9..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#include "TouchMoveCommand.h"
-#include <UiDevice.h>
-#include <loguru.hpp>
-
-TouchMoveCommand::TouchMoveCommand(const ::aurum::ReqTouchMove* request,
-                                   ::aurum::RspTouchMove*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status TouchMoveCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "TouchMove --------------- ");
-    const aurum::Point& point = mRequest->coordination();
-    UiDevice::getInstance(DeviceType::DEFAULT)->touchMove(point.x(), point.y());
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/Commands/TouchUpCommand.cc b/bootstrap/server/src/Commands/TouchUpCommand.cc
deleted file mode 100644 (file)
index 20d8083..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#include "TouchUpCommand.h"
-#include <UiDevice.h>
-#include <loguru.hpp>
-
-TouchUpCommand::TouchUpCommand(const ::aurum::ReqTouchUp* request,
-                               ::aurum::RspTouchUp*       response)
-    : mRequest{request}, mResponse{response}
-{
-}
-
-::grpc::Status TouchUpCommand::execute()
-{
-    LOG_SCOPE_F(INFO, "TouchUp --------------- ");
-    const aurum::Point& point = mRequest->coordination();
-    UiDevice::getInstance(DeviceType::DEFAULT)->touchUp(point.x(), point.y());
-    return grpc::Status::OK;
-}
\ No newline at end of file
diff --git a/bootstrap/server/src/ObjectMapper.cc b/bootstrap/server/src/ObjectMapper.cc
deleted file mode 100644 (file)
index 75bf956..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "ObjectMapper.h"
-
-ObjectMapper::ObjectMapper() : mObjectMap{}, mObjCounter{0} {}
-
-ObjectMapper::~ObjectMapper() {}
-
-ObjectMapper *ObjectMapper::getInstance()
-{
-    static ObjectMapper *mInstance = new ObjectMapper();
-    return mInstance;
-}
-
-std::string ObjectMapper::addElement(std::unique_ptr<UiObject> object)
-{
-    ++mObjCounter;
-    std::string key = std::to_string(mObjCounter);
-    mObjectMap[key] = std::move(object);
-    return key;
-}
-
-UiObject *ObjectMapper::getElement(const std::string &key)
-{
-    unsigned long long keyCnt = (unsigned long long)std::stoll(key); // this key is a result of calling std:to_string(mObjCounter)
-    if (keyCnt <= 0 || keyCnt > mObjCounter) return nullptr;
-    if (mObjectMap.count(key)) {
-        UiObject *obj = mObjectMap[key].get();
-        const_cast<const UiObject *>(obj)->refresh();
-        return obj;
-    }
-    return nullptr;
-}
index 748dd5e1b3d729002eb564ae52d6ab80b2f3f733..ed0f20ff949fec2ff081294752d9fe6e734edf5b 100644 (file)
@@ -18,7 +18,7 @@ root_inc = include_directories('./')
 subdir('protocol')
 subdir('libloguru')
 subdir('libaurum')
-subdir('bootstrap')
+subdir('org.tizen.aurum-bootstrap')
 subdir('tests')
 
 configure_file(
index 1bcc3706269921fd34fdd3cecbf70ba53ccf9b6e..7f6e0a05bace77c6437263546d8cb22d98b69efb 100644 (file)
@@ -3,5 +3,13 @@ option('tizen',
   value: false,
   description: 'enable tizen specific dependancy'
 )
-
-
+option('tzapp_path',
+  type: 'string',
+  value: '/usr/apps/',
+  description: 'installation path for tizen app binary'
+)
+option('tzpackage_path',
+  type: 'string',
+  value: '/usr/share/packages/',
+  description: 'installation path for registering tizen service app'
+)
diff --git a/org.tizen.aurum-bootstrap/inc/AurumServiceImpl.h b/org.tizen.aurum-bootstrap/inc/AurumServiceImpl.h
new file mode 100644 (file)
index 0000000..bf6ae41
--- /dev/null
@@ -0,0 +1,91 @@
+#ifndef aurum_IMPL_H
+#define aurum_IMPL_H
+
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "aurum.grpc.pb.h"
+
+class aurumServiceImpl final : public aurum::Bootstrap::Service {
+public:
+    aurumServiceImpl();
+    virtual ~aurumServiceImpl();
+
+protected:
+    ::grpc::Status execute(Command *cmd);
+
+public:
+    ::grpc::Status sync(::grpc::ServerContext *  context,
+                        const ::aurum::ReqEmpty *request,
+                        ::aurum::RspEmpty *      response) override;
+    ::grpc::Status killServer(::grpc::ServerContext *  context,
+                              const ::aurum::ReqEmpty *request,
+                              ::aurum::RspEmpty *      response) override;
+
+    ::grpc::Status findElement(::grpc::ServerContext *        context,
+                               const ::aurum::ReqFindElement *request,
+                               ::aurum::RspFindElement *response) override;
+
+    ::grpc::Status getValue(::grpc::ServerContext *     context,
+                            const ::aurum::ReqGetValue *request,
+                            ::aurum::RspGetValue *      response) override;
+    ::grpc::Status setValue(::grpc::ServerContext *     context,
+                            const ::aurum::ReqSetValue *request,
+                            ::aurum::RspSetValue *      response) override;
+    ::grpc::Status getAttribute(::grpc::ServerContext *         context,
+                                const ::aurum::ReqGetAttribute *request,
+                                ::aurum::RspGetAttribute *response) override;
+    ::grpc::Status getSize(::grpc::ServerContext *    context,
+                           const ::aurum::ReqGetSize *request,
+                           ::aurum::RspGetSize *      response) override;
+    ::grpc::Status clear(::grpc::ServerContext *  context,
+                         const ::aurum::ReqClear *request,
+                         ::aurum::RspClear *      response) override;
+    ::grpc::Status installApp(
+        ::grpc::ServerContext *                        context,
+        ::grpc::ServerReader< ::aurum::ReqInstallApp> *reader,
+        ::aurum::RspInstallApp *                       response) override;
+    ::grpc::Status removeApp(::grpc::ServerContext *      context,
+                             const ::aurum::ReqRemoveApp *request,
+                             ::aurum::RspRemoveApp *      response) override;
+    ::grpc::Status getAppInfo(::grpc::ServerContext *       context,
+                              const ::aurum::ReqGetAppInfo *request,
+                              ::aurum::RspGetAppInfo *      response) override;
+    ::grpc::Status launchApp(::grpc::ServerContext *      context,
+                             const ::aurum::ReqLaunchApp *request,
+                             ::aurum::RspLaunchApp *      response) override;
+    ::grpc::Status closeApp(::grpc::ServerContext *     context,
+                            const ::aurum::ReqCloseApp *request,
+                            ::aurum::RspCloseApp *      response) override;
+
+    ::grpc::Status click(::grpc::ServerContext *  context,
+                         const ::aurum::ReqClick *request,
+                         ::aurum::RspClick *      response) override;
+    ::grpc::Status longClick(::grpc::ServerContext *  context,
+                             const ::aurum::ReqClick *request,
+                             ::aurum::RspClick *      response) override;
+    ::grpc::Status flick(::grpc::ServerContext *  context,
+                         const ::aurum::ReqFlick *request,
+                         ::aurum::RspFlick *      response) override;
+
+    ::grpc::Status touchDown(::grpc::ServerContext *      context,
+                             const ::aurum::ReqTouchDown *request,
+                             ::aurum::RspTouchDown *      response) override;
+    ::grpc::Status touchUp(::grpc::ServerContext *    context,
+                           const ::aurum::ReqTouchUp *request,
+                           ::aurum::RspTouchUp *      response) override;
+    ::grpc::Status touchMove(::grpc::ServerContext *      context,
+                             const ::aurum::ReqTouchMove *request,
+                             ::aurum::RspTouchMove *      response) override;
+
+    ::grpc::Status getDeviceTime(::grpc::ServerContext *          context,
+                                 const ::aurum::ReqGetDeviceTime *request,
+                                 ::aurum::RspGetDeviceTime *response) override;
+    ::grpc::Status getLocation(::grpc::ServerContext *        context,
+                               const ::aurum::ReqGetLocation *request,
+                               ::aurum::RspGetLocation *response) override;
+    ::grpc::Status sendKey(::grpc::ServerContext *context,
+                           const ::aurum::ReqKey *request,
+                           ::aurum::RspKey *      response) override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/ClearCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/ClearCommand.h
new file mode 100644 (file)
index 0000000..0197559
--- /dev/null
@@ -0,0 +1,24 @@
+#ifndef CLEAR_COMMAND_H
+#define CLEAR_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class ClearCommand : public Command {
+private:
+    const ::aurum::ReqClear* mRequest;
+    ::aurum::RspClear*       mResponse;
+
+public:
+    ClearCommand(const ::aurum::ReqClear* request, ::aurum::RspClear* response);
+    ::grpc::Status execute() override;
+
+protected:
+    bool hasHintText(UiObject *obj);
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/ClickCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/ClickCommand.h
new file mode 100644 (file)
index 0000000..cf03a01
--- /dev/null
@@ -0,0 +1,39 @@
+#ifndef CLICK_COMMAND_H
+#define CLICK_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+class ClickCommand : public Command {
+protected:
+    const ::aurum::ReqClick* mRequest;
+    ::aurum::RspClick*       mResponse;
+
+public:
+    ClickCommand(const ::aurum::ReqClick* request, ::aurum::RspClick* response);
+    ::grpc::Status execute() override;
+    static std::unique_ptr<ClickCommand> createCommand(const ::aurum::ReqClick* request, ::aurum::RspClick* response);
+};
+
+class ClickElementCommand : public ClickCommand {
+    using ClickCommand::ClickCommand;
+public:
+    ::grpc::Status execute() override;
+};
+
+class ClickCoordCommand : public ClickCommand {
+    using ClickCommand::ClickCommand;
+public:
+    ::grpc::Status execute() override;
+};
+
+class ClickAtspiCommand : public ClickCommand {
+    using ClickCommand::ClickCommand;
+public:
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/CloseAppCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/CloseAppCommand.h
new file mode 100644 (file)
index 0000000..fb00f39
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef CLOSE_APP_COMMAND_H
+#define CLOSE_APP_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class CloseAppCommand : public Command {
+private:
+    const ::aurum::ReqCloseApp* mRequest;
+    ::aurum::RspCloseApp*       mResponse;
+
+public:
+    CloseAppCommand(const ::aurum::ReqCloseApp* request,
+                    ::aurum::RspCloseApp*       response);
+    ::grpc::Status execute() override;
+    ::grpc::Status executePost() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/Command.h b/org.tizen.aurum-bootstrap/inc/Commands/Command.h
new file mode 100644 (file)
index 0000000..59bf76e
--- /dev/null
@@ -0,0 +1,19 @@
+#ifndef COMMAND_H
+#define COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+
+#include "config.h"
+
+class Command {
+public:
+    virtual ~Command(){};
+    virtual ::grpc::Status execute() = 0;
+    virtual ::grpc::Status executePost();
+    virtual ::grpc::Status executePre();
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/Commands.h b/org.tizen.aurum-bootstrap/inc/Commands/Commands.h
new file mode 100644 (file)
index 0000000..7a5acd8
--- /dev/null
@@ -0,0 +1,34 @@
+#ifndef COMMANDS_H
+#define COMMANDS_H
+
+#include "Commands/KillServerCommand.h"
+#include "Commands/SyncCommand.h"
+
+#include "Commands/FindElementCommand.h"
+
+#include "Commands/GetAttributeCommand.h"
+#include "Commands/GetValueCommand.h"
+#include "Commands/SetValueCommand.h"
+
+#include "Commands/ClearCommand.h"
+#include "Commands/GetSizeCommand.h"
+
+#include "Commands/ClickCommand.h"
+#include "Commands/FlickCommand.h"
+#include "Commands/LongClickCommand.h"
+
+#include "Commands/TouchDownCommand.h"
+#include "Commands/TouchMoveCommand.h"
+#include "Commands/TouchUpCommand.h"
+
+#include "Commands/CloseAppCommand.h"
+#include "Commands/GetAppInfoCommand.h"
+#include "Commands/InstallAppCommand.h"
+#include "Commands/LaunchAppCommand.h"
+#include "Commands/RemoveAppCommand.h"
+
+#include "Commands/GetDeviceTimeCommand.h"
+#include "Commands/GetLocationCommand.h"
+#include "Commands/SendKeyCommand.h"
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/FindElementCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/FindElementCommand.h
new file mode 100644 (file)
index 0000000..488e321
--- /dev/null
@@ -0,0 +1,27 @@
+#ifndef FIND_ELEMENT_COMMAND_H
+#define FIND_ELEMENT_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class FindElementCommand : public Command {
+protected:
+    const ::aurum::ReqFindElement* mRequest;
+    ::aurum::RspFindElement*       mResponse;
+
+protected:
+    ObjectMapper* mObjMap;
+
+public:
+    FindElementCommand(const ::aurum::ReqFindElement* request,
+                       ::aurum::RspFindElement*       response);
+    ::grpc::Status execute() override;
+protected:
+    virtual ISearchable* getSearchableTop(void);
+    virtual std::shared_ptr<UiSelector> getSelector(void);
+};
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/FlickCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/FlickCommand.h
new file mode 100644 (file)
index 0000000..f78e1e4
--- /dev/null
@@ -0,0 +1,22 @@
+#ifndef FLICK_COMMAND_H
+#define FLICK_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class FlickCommand : public Command {
+private:
+    const ::aurum::ReqFlick* mRequest;
+    ::aurum::RspFlick*       mResponse;
+
+public:
+    FlickCommand(const ::aurum::ReqFlick* request, ::aurum::RspFlick* response);
+    ;
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/GetAppInfoCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/GetAppInfoCommand.h
new file mode 100644 (file)
index 0000000..1a9a146
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef IS_APP_INSTALLED_COMMAND_H
+#define IS_APP_INSTALLED_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class GetAppInfoCommand : public Command {
+private:
+    const ::aurum::ReqGetAppInfo* mRequest;
+    ::aurum::RspGetAppInfo*       mResponse;
+
+public:
+    GetAppInfoCommand(const ::aurum::ReqGetAppInfo* request,
+                      ::aurum::RspGetAppInfo*       response);
+    ;
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/GetAttributeCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/GetAttributeCommand.h
new file mode 100644 (file)
index 0000000..a1cac0b
--- /dev/null
@@ -0,0 +1,85 @@
+#ifndef GET_ATTRIBUTE_COMMAND_H
+#define GET_ATTRIBUTE_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class GetAttributeCommand : public Command {
+protected:
+    const ::aurum::ReqGetAttribute* mRequest;
+    ::aurum::RspGetAttribute*       mResponse;
+    ObjectMapper* mObjMap;
+
+public:
+    GetAttributeCommand(const ::aurum::ReqGetAttribute* request,
+                        ::aurum::RspGetAttribute*       response);
+    ::grpc::Status execute() override;
+    static std::unique_ptr<GetAttributeCommand> createCommand(const ::aurum::ReqGetAttribute* request,
+                                                              ::aurum::RspGetAttribute*       response);
+};
+
+class GetVisibleAttributeCommand : public GetAttributeCommand {
+    using GetAttributeCommand::GetAttributeCommand;
+public:
+    ::grpc::Status execute() override;
+};
+
+class GetFocusedAttributeCommand : public GetAttributeCommand {
+    using GetAttributeCommand::GetAttributeCommand;
+public:
+    ::grpc::Status execute() override;
+};
+
+class GetFocusableAttributeCommand : public GetAttributeCommand {
+    using GetAttributeCommand::GetAttributeCommand;
+public:
+    ::grpc::Status execute() override;
+};
+
+class GetCheckableAttributeCommand : public GetAttributeCommand {
+    using GetAttributeCommand::GetAttributeCommand;
+public:
+    ::grpc::Status execute() override;
+};
+
+class GetCheckedAttributeCommand : public GetAttributeCommand {
+    using GetAttributeCommand::GetAttributeCommand;
+public:
+    ::grpc::Status execute() override;
+};
+
+class GetEnabledAttributeCommand : public GetAttributeCommand {
+    using GetAttributeCommand::GetAttributeCommand;
+public:
+    ::grpc::Status execute() override;
+};
+
+class GetClickableAttributeCommand : public GetAttributeCommand {
+    using GetAttributeCommand::GetAttributeCommand;
+public:
+    ::grpc::Status execute() override;
+};
+
+class GetScrollableAttributeCommand : public GetAttributeCommand {
+    using GetAttributeCommand::GetAttributeCommand;
+public:
+    ::grpc::Status execute() override;
+};
+
+class GetSelectableAttributeCommand : public GetAttributeCommand {
+    using GetAttributeCommand::GetAttributeCommand;
+public:
+    ::grpc::Status execute() override;
+};
+
+class GetSelectedAttributeCommand : public GetAttributeCommand {
+    using GetAttributeCommand::GetAttributeCommand;
+public:
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/GetDeviceTimeCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/GetDeviceTimeCommand.h
new file mode 100644 (file)
index 0000000..4521709
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef GET_DEVICE_TIME_COMMAND_H
+#define GET_DEVICE_TIME_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class GetDeviceTimeCommand : public Command {
+private:
+    const ::aurum::ReqGetDeviceTime* mRequest;
+    ::aurum::RspGetDeviceTime*       mResponse;
+
+public:
+    GetDeviceTimeCommand(const ::aurum::ReqGetDeviceTime* request,
+                         ::aurum::RspGetDeviceTime*       response);
+    ;
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/GetLocationCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/GetLocationCommand.h
new file mode 100644 (file)
index 0000000..2cb1341
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef GET_LOCATION_COMMAND_H
+#define GET_LOCATION_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class GetLocationCommand : public Command {
+private:
+    const ::aurum::ReqGetLocation* mRequest;
+    ::aurum::RspGetLocation*       mResponse;
+
+public:
+    GetLocationCommand(const ::aurum::ReqGetLocation* request,
+                       ::aurum::RspGetLocation*       response);
+    ;
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/GetSizeCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/GetSizeCommand.h
new file mode 100644 (file)
index 0000000..d6c8a33
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef GET_SIZE_COMMAND_H
+#define GET_SIZE_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class GetSizeCommand : public Command {
+private:
+    const ::aurum::ReqGetSize* mRequest;
+    ::aurum::RspGetSize*       mResponse;
+
+public:
+    GetSizeCommand(const ::aurum::ReqGetSize* request,
+                   ::aurum::RspGetSize*       response);
+    ;
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/GetValueCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/GetValueCommand.h
new file mode 100644 (file)
index 0000000..ccbd6ec
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef GET_VALUE_COMMAND_H
+#define GET_VALUE_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class GetValueCommand : public Command {
+private:
+    const ::aurum::ReqGetValue* mRequest;
+    ::aurum::RspGetValue*       mResponse;
+
+public:
+    GetValueCommand(const ::aurum::ReqGetValue* request,
+                    ::aurum::RspGetValue*       response);
+    ;
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/InstallAppCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/InstallAppCommand.h
new file mode 100644 (file)
index 0000000..4ddc3e2
--- /dev/null
@@ -0,0 +1,22 @@
+#ifndef INSTALL_APP_COMMAND_H
+#define INSTALL_APP_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class InstallAppCommand : public Command {
+private:
+    ::grpc::ServerReader< ::aurum::ReqInstallApp>* mRequest;
+    ::aurum::RspInstallApp*                        mResponse;
+
+public:
+    InstallAppCommand(::grpc::ServerReader< ::aurum::ReqInstallApp>* request,
+                      ::aurum::RspInstallApp*                        response);
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/KillServerCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/KillServerCommand.h
new file mode 100644 (file)
index 0000000..3121ac1
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef KILL_SERVER_COMMAND_H
+#define KILL_SERVER_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class KillServerCommand : public Command {
+private:
+    const ::aurum::ReqEmpty* mRequest;
+    ::aurum::RspEmpty*       mResponse;
+
+public:
+    KillServerCommand(const ::aurum::ReqEmpty* request,
+                      ::aurum::RspEmpty*       response);
+    ;
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/LaunchAppCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/LaunchAppCommand.h
new file mode 100644 (file)
index 0000000..2227fed
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef LAUNCH_APP_COMMAND_H
+#define LAUNCH_APP_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class LaunchAppCommand : public Command {
+private:
+    const ::aurum::ReqLaunchApp* mRequest;
+    ::aurum::RspLaunchApp*       mResponse;
+
+public:
+    LaunchAppCommand(const ::aurum::ReqLaunchApp* request,
+                     ::aurum::RspLaunchApp*       response);
+    ::grpc::Status execute() override;
+    ::grpc::Status executePost() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/LongClickCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/LongClickCommand.h
new file mode 100644 (file)
index 0000000..86a0b83
--- /dev/null
@@ -0,0 +1,24 @@
+#ifndef LONG_CLICK_COMMAND_H
+#define LONG_CLICK_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class LongClickCommand : public Command {
+private:
+    const ::aurum::ReqClick* mRequest;
+    ::aurum::RspClick*       mResponse;
+
+public:
+    LongClickCommand(const ::aurum::ReqClick* request,
+                     ::aurum::RspClick*       response);
+    ::grpc::Status execute() override;
+private:
+    const static unsigned int LOGNCLICK_INTERVAL = 50;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/PostCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/PostCommand.h
new file mode 100644 (file)
index 0000000..29bd8a2
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef POST_COMMAND_H
+#define POST_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class PostCommand : public Command {
+private:
+    Command *mCommand;
+    PostCommand();
+
+public:
+    PostCommand(Command *cmd);
+    ::grpc::Status execute() override;
+    ::grpc::Status executePre() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/PreCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/PreCommand.h
new file mode 100644 (file)
index 0000000..7d59d2a
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef PRE_COMMAND_H
+#define PRE_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class PreCommand : public Command {
+private:
+    Command *mCommand;
+    PreCommand();
+
+public:
+    PreCommand(Command *cmd);
+    ::grpc::Status execute() override;
+    ::grpc::Status executePost() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/RemoveAppCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/RemoveAppCommand.h
new file mode 100644 (file)
index 0000000..9ab28ba
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef REMOVE_APP_COMMAND_H
+#define REMOVE_APP_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class RemoveAppCommand : public Command {
+private:
+    const ::aurum::ReqRemoveApp* mRequest;
+    ::aurum::RspRemoveApp*       mResponse;
+
+public:
+    RemoveAppCommand(const ::aurum::ReqRemoveApp* request,
+                     ::aurum::RspRemoveApp*       response);
+    ;
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/SendKeyCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/SendKeyCommand.h
new file mode 100644 (file)
index 0000000..96fd071
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef SEND_KEY_COMMAND_H
+#define SEND_KEY_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class SendKeyCommand : public Command {
+private:
+    const ::aurum::ReqKey* mRequest;
+    ::aurum::RspKey*       mResponse;
+
+public:
+    SendKeyCommand(const ::aurum::ReqKey* request, ::aurum::RspKey* response);
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/SetValueCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/SetValueCommand.h
new file mode 100644 (file)
index 0000000..13cf245
--- /dev/null
@@ -0,0 +1,22 @@
+#ifndef SET_VALUE_COMMAND_H
+#define SET_VALUE_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class SetValueCommand : public Command {
+private:
+    const ::aurum::ReqSetValue* mRequest;
+    ::aurum::RspSetValue*       mResponse;
+
+public:
+    SetValueCommand(const ::aurum::ReqSetValue* request,
+                    ::aurum::RspSetValue*       response);
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/SyncCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/SyncCommand.h
new file mode 100644 (file)
index 0000000..ecc7d6a
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef SYNC_COMMAND_H
+#define SYNC_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class SyncCommand : public Command {
+private:
+    const ::aurum::ReqEmpty* mRequest;
+    ::aurum::RspEmpty*       mResponse;
+
+public:
+    SyncCommand(const ::aurum::ReqEmpty* request, ::aurum::RspEmpty* response);
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/TouchDownCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/TouchDownCommand.h
new file mode 100644 (file)
index 0000000..29b796b
--- /dev/null
@@ -0,0 +1,22 @@
+#ifndef TOUCH_DOWN_COMMAND_H
+#define TOUCH_DOWN_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class TouchDownCommand : public Command {
+private:
+    const ::aurum::ReqTouchDown* mRequest;
+    ::aurum::RspTouchDown*       mResponse;
+
+public:
+    TouchDownCommand(const ::aurum::ReqTouchDown* request,
+                     ::aurum::RspTouchDown*       response);
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/TouchMoveCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/TouchMoveCommand.h
new file mode 100644 (file)
index 0000000..12b719a
--- /dev/null
@@ -0,0 +1,22 @@
+#ifndef TOUCH_MOVE_COMMAND_H
+#define TOUCH_MOVE_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class TouchMoveCommand : public Command {
+private:
+    const ::aurum::ReqTouchMove* mRequest;
+    ::aurum::RspTouchMove*       mResponse;
+
+public:
+    TouchMoveCommand(const ::aurum::ReqTouchMove* request,
+                     ::aurum::RspTouchMove*       response);
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/Commands/TouchUpCommand.h b/org.tizen.aurum-bootstrap/inc/Commands/TouchUpCommand.h
new file mode 100644 (file)
index 0000000..7ddc9e0
--- /dev/null
@@ -0,0 +1,22 @@
+#ifndef TOUCH_UP_COMMAND_H
+#define TOUCH_UP_COMMAND_H
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "Commands/Command.h"
+#include "ObjectMapper.h"
+#include "aurum.grpc.pb.h"
+#include "config.h"
+
+class TouchUpCommand : public Command {
+private:
+    const ::aurum::ReqTouchUp* mRequest;
+    ::aurum::RspTouchUp*       mResponse;
+
+public:
+    TouchUpCommand(const ::aurum::ReqTouchUp* request,
+                   ::aurum::RspTouchUp*       response);
+    ::grpc::Status execute() override;
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/inc/ObjectMapper.h b/org.tizen.aurum-bootstrap/inc/ObjectMapper.h
new file mode 100644 (file)
index 0000000..b1f127f
--- /dev/null
@@ -0,0 +1,26 @@
+#ifndef OBJECT_MAPPER_H
+#define OBJECT_MAPPER_H
+
+#include <map>
+#include <string>
+
+#include "UiObject.h"
+
+class ObjectMapper {
+private:
+    std::map<std::string, std::unique_ptr<UiObject>> mObjectMap;
+    unsigned long long                               mObjCounter;
+
+private:
+    ObjectMapper();
+
+public:
+    ~ObjectMapper();
+
+public:
+    static ObjectMapper *getInstance();
+    std::string          addElement(std::unique_ptr<UiObject> object);
+    UiObject *           getElement(const std::string &key);
+};
+
+#endif
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/meson.build b/org.tizen.aurum-bootstrap/meson.build
new file mode 100644 (file)
index 0000000..aeb2413
--- /dev/null
@@ -0,0 +1,69 @@
+bootstrap_svr_inc = [
+   libaurum_inc,
+   root_inc,
+   include_directories('inc'),
+   include_directories('inc/Commands'),
+   loguru_inc,
+]
+
+bootstrap_svr_src = [
+   files('src/BootstrapServer.cc'),
+   files('src/AurumServiceImpl.cc'),
+   files('src/ObjectMapper.cc'),
+]
+
+bootstrap_svr_src += [
+   files('src/Commands/ClearCommand.cc'),
+   files('src/Commands/ClickCommand.cc'),
+   files('src/Commands/CloseAppCommand.cc'),
+   files('src/Commands/FindElementCommand.cc'),
+   files('src/Commands/FlickCommand.cc'),
+   files('src/Commands/GetAttributeCommand.cc'),
+   files('src/Commands/GetDeviceTimeCommand.cc'),
+   files('src/Commands/GetLocationCommand.cc'),
+   files('src/Commands/GetSizeCommand.cc'),
+   files('src/Commands/GetValueCommand.cc'),
+   files('src/Commands/InstallAppCommand.cc'),
+   files('src/Commands/GetAppInfoCommand.cc'),
+   files('src/Commands/LaunchAppCommand.cc'),
+   files('src/Commands/LongClickCommand.cc'),
+   files('src/Commands/RemoveAppCommand.cc'),
+   files('src/Commands/SendKeyCommand.cc'),
+   files('src/Commands/SetValueCommand.cc'),
+   files('src/Commands/TouchDownCommand.cc'),
+   files('src/Commands/TouchMoveCommand.cc'),
+   files('src/Commands/TouchUpCommand.cc'),
+   files('src/Commands/SyncCommand.cc'),
+   files('src/Commands/KillServerCommand.cc'),
+   files('src/Commands/Command.cc'),
+   files('src/Commands/PreCommand.cc'),
+   files('src/Commands/PostCommand.cc'),
+]
+
+bootstrap_svr_dep = [
+   libaurum,
+   grpc_deps,
+   loguru_deps,
+]
+
+if get_option('tizen') == true
+bootstrap_svr_dep += [
+   dependency('capi-appfw-app-control'),
+   dependency('capi-appfw-app-manager'),
+   dependency('capi-appfw-package-manager'),
+   dependency('capi-appfw-service-application'),
+]
+endif
+
+bootstrap_svr_bin = executable(
+   'aurum-bootstrap',
+   [bootstrap_svr_src, grpc_src, grpc_pb_src],
+   dependencies: bootstrap_svr_dep,
+   include_directories: bootstrap_svr_inc,
+   link_with: libloguru,
+   install:true,
+   install_dir:  join_paths(get_option('tzapp_path'), 'org.tizen.aurum-bootstrap', 'bin'),
+   pie:true,
+)
+
+install_data('org.tizen.aurum-bootstrap.xml', install_dir: get_option('tzpackage_path'))
diff --git a/org.tizen.aurum-bootstrap/org.tizen.aurum-bootstrap.xml b/org.tizen.aurum-bootstrap/org.tizen.aurum-bootstrap.xml
new file mode 100644 (file)
index 0000000..50f0f21
--- /dev/null
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="5.5" package="org.tizen.aurum-bootstrap" version="0.1.0">
+       <label>aurum-bootstrap</label>
+       <author email="wonki_.kim@samsung.com" href="www.samsung.com">Wonki Kim</author>
+       <description>autofilld</description>
+       <service-application appid="org.tizen.aurum-bootstrap" exec="aurum-bootstrap" multiple="false" nodisplay="true" taskmanage="false" type="capp">
+               <label>aurum bootstrap daemon</label>
+               <background-category value="system"/>
+       </service-application>
+       <privileges>
+               <privilege>http://tizen.org/privilege/datasharing</privilege>
+               <privilege>http://tizen.org/privilege/externalstroage</privilege>
+               <privilege>http://tizen.org/privilege/mediastorage</privilege>
+               <privilege>http://tizen.org/privilege/message.read</privilege>
+               <privilege>http://tizen.org/privilege/application.info</privilege>
+               <privilege>http://tizen.org/privilege/application.launch</privilege>
+       </privileges>
+       <feature name="http://tizen.org/feature/network.ethernet">true</feature>
+</manifest>
diff --git a/org.tizen.aurum-bootstrap/src/AurumServiceImpl.cc b/org.tizen.aurum-bootstrap/src/AurumServiceImpl.cc
new file mode 100644 (file)
index 0000000..89e7c60
--- /dev/null
@@ -0,0 +1,183 @@
+#include "AurumServiceImpl.h"
+
+#include <AccessibleWatcher.h>
+#include "Commands/Commands.h"
+#include "Commands/PostCommand.h"
+#include "Commands/PreCommand.h"
+
+#include "config.h"
+#include "loguru.hpp"
+
+using namespace grpc;
+using namespace aurum;
+
+aurumServiceImpl::aurumServiceImpl()
+{
+    AccessibleWatcher::getInstance();
+}
+
+::grpc::Status aurumServiceImpl::execute(Command* cmd)
+{
+    std::unique_ptr<PreCommand>  proxyPreCmd  = std::make_unique<PreCommand>(cmd);
+    std::unique_ptr<PostCommand> proxyPostCmd = std::make_unique<PostCommand>(proxyPreCmd.get());
+    ::grpc::Status rst = proxyPostCmd->execute();
+    return rst;
+}
+
+aurumServiceImpl::~aurumServiceImpl() {}
+::grpc::Status aurumServiceImpl::aurumServiceImpl::sync(
+    ::grpc::ServerContext* context, const ::aurum::ReqEmpty* request,
+    ::aurum::RspEmpty* response)
+{
+    std::unique_ptr<SyncCommand> cmd = std::make_unique<SyncCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::aurumServiceImpl::killServer(
+    ::grpc::ServerContext* context, const ::aurum::ReqEmpty* request,
+    ::aurum::RspEmpty* response)
+{
+    std::unique_ptr<KillServerCommand> cmd = std::make_unique<KillServerCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::aurumServiceImpl::findElement(
+    ::grpc::ServerContext* context, const ::aurum::ReqFindElement* request,
+    ::aurum::RspFindElement* response)
+{
+    std::unique_ptr<FindElementCommand> cmd = std::make_unique<FindElementCommand>(request, response);
+    return execute(cmd.get());
+}
+
+::grpc::Status aurumServiceImpl::aurumServiceImpl::click(
+    ::grpc::ServerContext* context, const ::aurum::ReqClick* request,
+    ::aurum::RspClick* response)
+{
+    std::unique_ptr<ClickCommand> cmd = ClickCommand::createCommand(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::getValue(::grpc::ServerContext*      context,
+                                          const ::aurum::ReqGetValue* request,
+                                          ::aurum::RspGetValue*       response)
+{
+    std::unique_ptr<GetValueCommand> cmd = std::make_unique<GetValueCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::setValue(::grpc::ServerContext*      context,
+                                          const ::aurum::ReqSetValue* request,
+                                          ::aurum::RspSetValue*       response)
+{
+    std::unique_ptr<SetValueCommand> cmd = std::make_unique<SetValueCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::getAttribute(
+    ::grpc::ServerContext* context, const ::aurum::ReqGetAttribute* request,
+    ::aurum::RspGetAttribute* response)
+{
+    std::unique_ptr<GetAttributeCommand> cmd = GetAttributeCommand::createCommand(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::getSize(::grpc::ServerContext*     context,
+                                         const ::aurum::ReqGetSize* request,
+                                         ::aurum::RspGetSize*       response)
+{
+    std::unique_ptr<GetSizeCommand> cmd = std::make_unique<GetSizeCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::clear(::grpc::ServerContext*   context,
+                                       const ::aurum::ReqClear* request,
+                                       ::aurum::RspClear*       response)
+{
+    std::unique_ptr<ClearCommand> cmd = std::make_unique<ClearCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::installApp(
+    ::grpc::ServerContext*                         context,
+    ::grpc::ServerReader< ::aurum::ReqInstallApp>* request,
+    ::aurum::RspInstallApp*                        response)
+{
+    std::unique_ptr<InstallAppCommand> cmd = std::make_unique<InstallAppCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::removeApp(::grpc::ServerContext*       context,
+                                           const ::aurum::ReqRemoveApp* request,
+                                           ::aurum::RspRemoveApp* response)
+{
+    std::unique_ptr<RemoveAppCommand> cmd = std::make_unique<RemoveAppCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::getAppInfo(
+    ::grpc::ServerContext* context, const ::aurum::ReqGetAppInfo* request,
+    ::aurum::RspGetAppInfo* response)
+{
+    std::unique_ptr<GetAppInfoCommand> cmd = std::make_unique<GetAppInfoCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::launchApp(::grpc::ServerContext*       context,
+                                           const ::aurum::ReqLaunchApp* request,
+                                           ::aurum::RspLaunchApp* response)
+{
+    std::unique_ptr<LaunchAppCommand> cmd = std::make_unique<LaunchAppCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::closeApp(::grpc::ServerContext*      context,
+                                          const ::aurum::ReqCloseApp* request,
+                                          ::aurum::RspCloseApp*       response)
+{
+    std::unique_ptr<CloseAppCommand> cmd = std::make_unique<CloseAppCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::touchDown(::grpc::ServerContext*       context,
+                                           const ::aurum::ReqTouchDown* request,
+                                           ::aurum::RspTouchDown* response)
+{
+    std::unique_ptr<TouchDownCommand> cmd = std::make_unique<TouchDownCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::touchUp(::grpc::ServerContext*     context,
+                                         const ::aurum::ReqTouchUp* request,
+                                         ::aurum::RspTouchUp*       response)
+{
+    std::unique_ptr<TouchUpCommand> cmd = std::make_unique<TouchUpCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::touchMove(::grpc::ServerContext*       context,
+                                           const ::aurum::ReqTouchMove* request,
+                                           ::aurum::RspTouchMove* response)
+{
+    std::unique_ptr<TouchMoveCommand> cmd = std::make_unique<TouchMoveCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::longClick(::grpc::ServerContext*   context,
+                                           const ::aurum::ReqClick* request,
+                                           ::aurum::RspClick*       response)
+{
+    std::unique_ptr<LongClickCommand> cmd = std::make_unique<LongClickCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::flick(::grpc::ServerContext*   context,
+                                       const ::aurum::ReqFlick* request,
+                                       ::aurum::RspFlick*       response)
+{
+    std::unique_ptr<FlickCommand> cmd = std::make_unique<FlickCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::getDeviceTime(
+    ::grpc::ServerContext* context, const ::aurum::ReqGetDeviceTime* request,
+    ::aurum::RspGetDeviceTime* response)
+{
+    std::unique_ptr<GetDeviceTimeCommand> cmd = std::make_unique<GetDeviceTimeCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::getLocation(
+    ::grpc::ServerContext* context, const ::aurum::ReqGetLocation* request,
+    ::aurum::RspGetLocation* response)
+{
+    std::unique_ptr<GetLocationCommand> cmd = std::make_unique<GetLocationCommand>(request, response);
+    return execute(cmd.get());
+}
+::grpc::Status aurumServiceImpl::sendKey(::grpc::ServerContext* context,
+                                         const ::aurum::ReqKey* request,
+                                         ::aurum::RspKey*       response)
+{
+    std::unique_ptr<SendKeyCommand> cmd = std::make_unique<SendKeyCommand>(request, response);
+    return execute(cmd.get());
+}
diff --git a/org.tizen.aurum-bootstrap/src/BootstrapServer.cc b/org.tizen.aurum-bootstrap/src/BootstrapServer.cc
new file mode 100644 (file)
index 0000000..ad1db18
--- /dev/null
@@ -0,0 +1,79 @@
+#include <iostream>
+#include <glib.h>
+
+#include <service_app.h>
+
+#include <gio/gio.h>
+#include <grpcpp/grpcpp.h>
+#include "aurum.grpc.pb.h"
+
+#include "AurumServiceImpl.h"
+#include "config.h"
+#include "loguru.hpp"
+
+using namespace grpc;
+
+typedef struct _ServiceContext {
+    GMainLoop *loop;
+    GThread   *thread;
+    std::unique_ptr<Server> server;
+} ServiceContext;
+
+static gpointer
+_grpc_thread_func (gpointer data)
+{
+    ServiceContext *ctx = (ServiceContext*)data;
+    std::string binding("0.0.0.0:50051");
+    aurumServiceImpl service;
+    ServerBuilder builder;
+
+    LOG_F(INFO, "[T] Server Listening on %s", binding.c_str());
+    builder.AddListeningPort(binding, grpc::InsecureServerCredentials());
+    builder.RegisterService(&service);
+    //std::unique_ptr<Server> server(builder.BuildAndStart());
+    ctx->server = std::move(builder.BuildAndStart());
+    ctx->server->Wait();
+
+    return NULL;
+}
+
+bool service_app_create(void *data)
+{
+    ServiceContext *ctx = (ServiceContext*)data;
+    const char *logPath = "/tmp/ua.log";
+
+    loguru::g_preamble = false;
+    loguru::add_file(logPath, loguru::Append, loguru::Verbosity_MAX);
+    LOG_SCOPE_F(INFO, "Log : %s", logPath);
+
+    ctx->loop = g_main_loop_new ( NULL , FALSE );
+    ctx->thread = g_thread_new("grpc_thread", _grpc_thread_func, ctx);
+
+    return true;
+}
+
+void service_app_terminate(void *data)
+{
+    ServiceContext *ctx = (ServiceContext*)data;
+    ctx->server->Shutdown();
+    g_main_loop_unref(ctx->loop);
+    g_thread_join(ctx->thread);
+}
+
+void service_app_control(app_control_h app_control, void *data) 
+{
+    ServiceContext *ctx = (ServiceContext*)data;
+}
+
+int main(int argc, char **argv)
+{
+    service_app_lifecycle_callback_s event_callback;  
+    app_event_handler_h handlers[5] = {NULL, };
+    ServiceContext ctx = {0,};    
+                                                  
+    event_callback.create = service_app_create;       
+    event_callback.terminate = service_app_terminate; 
+    event_callback.app_control = service_app_control; 
+
+    return service_app_main(argc, argv, &event_callback, &ctx);
+}
diff --git a/org.tizen.aurum-bootstrap/src/Commands/ClearCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/ClearCommand.cc
new file mode 100644 (file)
index 0000000..5c24358
--- /dev/null
@@ -0,0 +1,48 @@
+#include "ClearCommand.h"
+#include <UiObject.h>
+#include <loguru.hpp>
+#include <string>
+
+ClearCommand::ClearCommand(const ::aurum::ReqClear* request,
+                           ::aurum::RspClear*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+bool ClearCommand::hasHintText(UiObject *obj)
+{
+    if (!obj) return false;
+
+    auto old_text = obj->getText();
+    obj->setText("");
+    if (!old_text.compare(obj->getText())) {
+        return true;
+    } else {
+        obj->setText(old_text);
+        return false;
+    }
+}
+
+::grpc::Status ClearCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "Clear --------------- ");
+    ObjectMapper* mObjMap = ObjectMapper::getInstance();
+    UiObject*     obj = mObjMap->getElement(mRequest->elementid());
+
+    if (obj) {
+        obj->setText("");
+        obj->refresh();
+        auto text = obj->getText();
+        if (text.length() != 0) {
+            if (hasHintText(obj)) {
+                mResponse->set_status(::aurum::RspStatus::OK);
+            } else {
+                mResponse->set_status(::aurum::RspStatus::ERROR);
+            }
+        } else {
+            mResponse->set_status(::aurum::RspStatus::OK);
+        }
+    }
+
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/ClickCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/ClickCommand.cc
new file mode 100644 (file)
index 0000000..8ccc6ad
--- /dev/null
@@ -0,0 +1,58 @@
+#include "ClickCommand.h"
+
+#include "UiObject.h"
+#include "UiDevice.h"
+
+#include <loguru.hpp>
+
+ClickCommand::ClickCommand(const ::aurum::ReqClick* request,
+                           ::aurum::RspClick*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status ClickCommand::execute()
+{
+   return grpc::Status::CANCELLED;
+}
+
+std::unique_ptr<ClickCommand> ClickCommand::createCommand(const ::aurum::ReqClick* request, ::aurum::RspClick* response)
+{
+    ::aurum::ReqClick_RequestType type = request->type();
+
+    if (type == ::aurum::ReqClick_RequestType::ReqClick_RequestType_ELEMENTID)
+        return std::make_unique<ClickElementCommand>(request, response);
+    else if (type == ::aurum::ReqClick_RequestType::ReqClick_RequestType_COORD)
+        return std::make_unique<ClickCoordCommand>(request, response);
+    else if (type == ::aurum::ReqClick_RequestType::ReqClick_RequestType_ATSPI)
+        return std::make_unique<ClickAtspiCommand>(request, response);
+    else
+        return std::make_unique<ClickCommand>(request, response);
+}
+
+::grpc::Status ClickElementCommand::execute()
+{
+    ObjectMapper* mObjMap = ObjectMapper::getInstance();
+    UiObject* obj = mObjMap->getElement(mRequest->elementid());
+
+    if (obj) {
+        obj->click();
+        mResponse->set_status(::aurum::RspStatus::OK);
+    } else
+        mResponse->set_status(::aurum::RspStatus::ERROR);
+
+    return grpc::Status::OK;
+}
+
+::grpc::Status ClickCoordCommand::execute()
+{
+    UiDevice* obj = UiDevice::getInstance(DeviceType::DEFAULT);
+    const ::aurum::Point& point = mRequest->coordination();
+    obj->click(point.x(), point.y());
+    mResponse->set_status(::aurum::RspStatus::OK);
+}
+
+::grpc::Status ClickAtspiCommand::execute()
+{
+    return grpc::Status::CANCELLED;
+}
diff --git a/org.tizen.aurum-bootstrap/src/Commands/CloseAppCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/CloseAppCommand.cc
new file mode 100644 (file)
index 0000000..3221d36
--- /dev/null
@@ -0,0 +1,45 @@
+#include "CloseAppCommand.h"
+#include <loguru.hpp>
+#include <chrono>
+#include <thread>
+#ifdef GBSBUILD
+#include <app_manager_extension.h>
+#endif
+
+CloseAppCommand::CloseAppCommand(const ::aurum::ReqCloseApp* request,
+                                 ::aurum::RspCloseApp*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status CloseAppCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "CloseApp --------------- ");
+#ifdef GBSBUILD
+    std::string   packageName = mRequest->packagename();
+    app_context_h app_context = NULL;
+
+    LOG_F(INFO, "close req : %s", packageName.c_str());
+
+    int ret = app_manager_get_app_context(packageName.c_str(), &app_context);
+    if (ret) {
+        LOG_SCOPE_F(INFO, "Terminate Failed(1/2) Err Code : %d", ret);
+        mResponse->set_status(::aurum::RspStatus::ERROR);
+        return grpc::Status::OK;
+    }
+    ret = app_manager_terminate_app(app_context);
+    if (ret) {
+        LOG_SCOPE_F(INFO, "Terminate Failed(2/2) Err Code : %d", ret);
+        mResponse->set_status(::aurum::RspStatus::ERROR);
+        return grpc::Status::OK;
+    }
+#endif
+    return grpc::Status::OK;
+}
+
+::grpc::Status CloseAppCommand::executePost()
+{
+    LOG_SCOPE_F(INFO, "CloseAppCommand::executePost");
+    std::this_thread::sleep_for(std::chrono::milliseconds{1500});
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/Command.cc b/org.tizen.aurum-bootstrap/src/Commands/Command.cc
new file mode 100644 (file)
index 0000000..71a6eb7
--- /dev/null
@@ -0,0 +1,12 @@
+#include "Command.h"
+#include <loguru.hpp>
+
+::grpc::Status Command::executePost()
+{
+    return ::grpc::Status::OK;
+}
+
+::grpc::Status Command::executePre()
+{
+    return ::grpc::Status::OK;
+}
diff --git a/org.tizen.aurum-bootstrap/src/Commands/FindElementCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/FindElementCommand.cc
new file mode 100644 (file)
index 0000000..cc9912e
--- /dev/null
@@ -0,0 +1,54 @@
+#include "FindElementCommand.h"
+
+#include "ISearchable.h"
+
+#include "Sel.h"
+#include "UiDevice.h"
+#include "UiObject.h"
+#include "UiSelector.h"
+
+#include <loguru.hpp>
+
+FindElementCommand::FindElementCommand(const ::aurum::ReqFindElement* request,
+                                       ::aurum::RspFindElement*       response)
+    : mRequest{request}, mResponse{response}
+{
+    mObjMap = ObjectMapper::getInstance();
+}
+ISearchable* FindElementCommand::getSearchableTop(void)
+{
+    ISearchable* searchableObj = nullptr;
+    bool fromObject = mRequest->elementid().empty() == false;
+
+    if (fromObject) searchableObj = mObjMap->getElement(mRequest->elementid());
+    if (!searchableObj) searchableObj = UiDevice::getInstance(DeviceType::DEFAULT);
+
+    return searchableObj;
+}
+std::shared_ptr<UiSelector> FindElementCommand::getSelector(void)
+{
+    return Sel::text(mRequest->textfield());
+}
+
+::grpc::Status FindElementCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "findElement --------------- ");
+    auto searchableObj = getSearchableTop();
+    auto sel           = getSelector();
+
+    std::vector<std::unique_ptr<UiObject>> founds = searchableObj->findObjects(sel);
+
+    if (founds.size() > 0) {
+        for (auto& found : founds) {
+            UiObject*   obj = found.get();
+            std::string key = mObjMap->addElement(std::move(found));
+            LOG_F(INFO, "found object : %s key:%s",
+                  obj->getResourceName().c_str(), key.c_str());
+            ::aurum::Element* elm = mResponse->add_elements();
+            elm->set_elementid(key);
+        }
+        mResponse->set_status(::aurum::RspStatus::OK);
+    }
+
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/FlickCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/FlickCommand.cc
new file mode 100644 (file)
index 0000000..a2ff94f
--- /dev/null
@@ -0,0 +1,25 @@
+#include "FlickCommand.h"
+#include <loguru.hpp>
+
+#include <UiDevice.h>
+
+FlickCommand::FlickCommand(const ::aurum::ReqFlick *request,
+                           ::aurum::RspFlick *      response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status FlickCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "Flick --------------- ");
+
+    const ::aurum::Point &startPoint = mRequest->startpoint();
+    const ::aurum::Point &endPoint = mRequest->endpoint();
+    int                   durationMs = mRequest->durationms();
+
+    UiDevice *device = UiDevice::getInstance(DeviceType::DEFAULT);
+    device->drag(startPoint.x(), startPoint.y(), endPoint.x(), endPoint.y(), durationMs);
+    mResponse->set_status(::aurum::RspStatus::OK);
+
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/GetAppInfoCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/GetAppInfoCommand.cc
new file mode 100644 (file)
index 0000000..961fd82
--- /dev/null
@@ -0,0 +1,50 @@
+#include "GetAppInfoCommand.h"
+#include <loguru.hpp>
+#ifdef GBSBUILD
+#include <app_manager_extension.h>
+#include <package_manager.h>
+#endif
+
+GetAppInfoCommand::GetAppInfoCommand(const ::aurum::ReqGetAppInfo* request,
+                                     ::aurum::RspGetAppInfo*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status GetAppInfoCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "GetAppInfo --------------- ");
+#ifdef GBSBUILD
+    std::string packageName = mRequest->packagename();
+
+    app_context_h  app_context;
+    package_info_h package_info;
+    app_state_e    appState;
+
+    char* label = nullptr;
+    int   ret = -1;
+
+    mResponse->set_status(::aurum::RspStatus::OK);
+    mResponse->set_isinstalled(false);
+    mResponse->set_isrunning(false);
+    mResponse->set_isfocused(false);
+
+    if (!package_manager_get_package_info(packageName.c_str(), &package_info)) {
+        if (!package_info_get_label(package_info, &label)) {
+            if (label) {
+                free(label);
+                mResponse->set_isinstalled(true);
+            }
+        }
+    }
+
+    if (!app_manager_get_app_context(packageName.c_str(), &app_context)) {
+        if (!app_context_get_app_state(app_context, &appState)) {
+            mResponse->set_isfocused(appState & APP_STATE_FOREGROUND);
+            mResponse->set_isrunning(!(appState & APP_STATE_TERMINATED));
+        }
+    }
+
+#endif
+    return grpc::Status::OK;
+}
diff --git a/org.tizen.aurum-bootstrap/src/Commands/GetAttributeCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/GetAttributeCommand.cc
new file mode 100644 (file)
index 0000000..f844c54
--- /dev/null
@@ -0,0 +1,177 @@
+#include "GetAttributeCommand.h"
+#include <loguru.hpp>
+
+#include <UiDevice.h>
+#include <UiObject.h>
+
+GetAttributeCommand::GetAttributeCommand(
+    const ::aurum::ReqGetAttribute* request, ::aurum::RspGetAttribute* response)
+    : mRequest{request}, mResponse{response},  mObjMap{ObjectMapper::getInstance()}
+{
+}
+
+::grpc::Status GetAttributeCommand::execute()
+{
+    return grpc::Status::CANCELLED;
+}
+
+std::unique_ptr<GetAttributeCommand> GetAttributeCommand::createCommand(const ::aurum::ReqGetAttribute* request,
+                                                                        ::aurum::RspGetAttribute*       response)
+{
+    ::aurum::ReqGetAttribute_RequestType type = request->attribute();
+
+    LOG_SCOPE_F(INFO, "type : %d", type);
+
+    if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_VISIBLE)
+        return std::make_unique<GetVisibleAttributeCommand>(request, response);
+    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_FOCUSABLE)
+        return std::make_unique<GetFocusableAttributeCommand>(request, response);
+    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_FOCUSED)
+        return std::make_unique<GetFocusedAttributeCommand>(request, response);
+    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_ENABLED)
+        return std::make_unique<GetEnabledAttributeCommand>(request, response);
+    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_CLICKABLE)
+        return std::make_unique<GetClickableAttributeCommand>(request, response);
+    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_SCROLLABLE)
+        return std::make_unique<GetScrollableAttributeCommand>(request, response);
+    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_CHECKABLE)
+        return std::make_unique<GetCheckableAttributeCommand>(request, response);
+    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_CHECKED)
+        return std::make_unique<GetCheckedAttributeCommand>(request, response);
+    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_SELECTED)
+        return std::make_unique<GetSelectedAttributeCommand>(request, response);
+    else if (type == ::aurum::ReqGetAttribute_RequestType::ReqGetAttribute_RequestType_SELECTABLE)
+        return std::make_unique<GetSelectableAttributeCommand>(request, response);
+    else
+        return std::make_unique<GetAttributeCommand>(request, response);
+}
+
+::grpc::Status GetVisibleAttributeCommand::execute()
+{
+    UiObject* obj = mObjMap->getElement(mRequest->elementid());
+    if (!obj) {
+        mResponse->set_boolvalue(false);
+        mResponse->set_status(aurum::RspStatus::ERROR);
+        return grpc::Status::OK;
+    }
+    mResponse->set_boolvalue(obj->isVisible());
+    mResponse->set_status(aurum::RspStatus::OK);
+    return grpc::Status::OK;
+}
+
+::grpc::Status GetFocusedAttributeCommand::execute()
+{
+    UiObject* obj = mObjMap->getElement(mRequest->elementid());
+    if (!obj) {
+        mResponse->set_boolvalue(false);
+        mResponse->set_status(aurum::RspStatus::ERROR);
+        return grpc::Status::OK;
+    }
+    mResponse->set_boolvalue(obj->isFocused());
+    mResponse->set_status(aurum::RspStatus::OK);
+    return grpc::Status::OK;
+}
+
+::grpc::Status GetFocusableAttributeCommand::execute()
+{
+    UiObject* obj = mObjMap->getElement(mRequest->elementid());
+    if (!obj) {
+        mResponse->set_boolvalue(false);
+        mResponse->set_status(aurum::RspStatus::ERROR);
+        return grpc::Status::OK;
+    }
+    mResponse->set_boolvalue(obj->isFocusable());
+    mResponse->set_status(aurum::RspStatus::OK);
+    return grpc::Status::OK;
+}
+
+::grpc::Status GetCheckableAttributeCommand::execute()
+{
+    UiObject* obj = mObjMap->getElement(mRequest->elementid());
+    if (!obj) {
+        mResponse->set_boolvalue(false);
+        mResponse->set_status(aurum::RspStatus::ERROR);
+        return grpc::Status::OK;
+    }
+    mResponse->set_boolvalue(obj->isCheckable());
+    mResponse->set_status(aurum::RspStatus::OK);
+    return grpc::Status::OK;
+}
+
+::grpc::Status GetCheckedAttributeCommand::execute()
+{
+    UiObject* obj = mObjMap->getElement(mRequest->elementid());
+    if (!obj) {
+        mResponse->set_boolvalue(false);
+        mResponse->set_status(aurum::RspStatus::ERROR);
+        return grpc::Status::OK;
+    }
+    mResponse->set_boolvalue(obj->isChecked());
+    mResponse->set_status(aurum::RspStatus::OK);
+    return grpc::Status::OK;
+}
+
+::grpc::Status GetEnabledAttributeCommand::execute()
+{
+    UiObject* obj = mObjMap->getElement(mRequest->elementid());
+    if (!obj) {
+        mResponse->set_boolvalue(false);
+        mResponse->set_status(aurum::RspStatus::ERROR);
+        return grpc::Status::OK;
+    }
+    mResponse->set_boolvalue(obj->isEnabled());
+    mResponse->set_status(aurum::RspStatus::OK);
+    return grpc::Status::OK;
+}
+
+::grpc::Status GetClickableAttributeCommand::execute()
+{
+    UiObject* obj = mObjMap->getElement(mRequest->elementid());
+    if (!obj) {
+        mResponse->set_boolvalue(false);
+        mResponse->set_status(aurum::RspStatus::ERROR);
+        return grpc::Status::OK;
+    }
+    mResponse->set_boolvalue(obj->isClickable());
+    mResponse->set_status(aurum::RspStatus::OK);
+    return grpc::Status::OK;
+}
+
+::grpc::Status GetScrollableAttributeCommand::execute()
+{
+    UiObject* obj = mObjMap->getElement(mRequest->elementid());
+    if (!obj) {
+        mResponse->set_boolvalue(false);
+        mResponse->set_status(aurum::RspStatus::ERROR);
+        return grpc::Status::OK;
+    }
+    mResponse->set_boolvalue(obj->isScrollable());
+    mResponse->set_status(aurum::RspStatus::OK);
+    return grpc::Status::OK;
+}
+
+::grpc::Status GetSelectableAttributeCommand::execute()
+{
+    UiObject* obj = mObjMap->getElement(mRequest->elementid());
+    if (!obj) {
+        mResponse->set_boolvalue(false);
+        mResponse->set_status(aurum::RspStatus::ERROR);
+        return grpc::Status::OK;
+    }
+    mResponse->set_boolvalue(obj->isSelectable());
+    mResponse->set_status(aurum::RspStatus::OK);
+    return grpc::Status::OK;
+}
+
+::grpc::Status GetSelectedAttributeCommand::execute()
+{
+    UiObject* obj = mObjMap->getElement(mRequest->elementid());
+    if (!obj) {
+        mResponse->set_boolvalue(false);
+        mResponse->set_status(aurum::RspStatus::ERROR);
+        return grpc::Status::OK;
+    }
+    mResponse->set_boolvalue(obj->isSelected());
+    mResponse->set_status(aurum::RspStatus::OK);
+    return grpc::Status::OK;
+}
diff --git a/org.tizen.aurum-bootstrap/src/Commands/GetDeviceTimeCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/GetDeviceTimeCommand.cc
new file mode 100644 (file)
index 0000000..6f9c2a6
--- /dev/null
@@ -0,0 +1,16 @@
+#include "GetDeviceTimeCommand.h"
+#include <loguru.hpp>
+
+GetDeviceTimeCommand::GetDeviceTimeCommand(
+    const ::aurum::ReqGetDeviceTime* request,
+    ::aurum::RspGetDeviceTime*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status GetDeviceTimeCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "GetDeviceTime --------------- ");
+    // ObjectMapper *mObjMap = ObjectMapper::getInstance();
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/GetLocationCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/GetLocationCommand.cc
new file mode 100644 (file)
index 0000000..a8a5aff
--- /dev/null
@@ -0,0 +1,15 @@
+#include "GetLocationCommand.h"
+#include <loguru.hpp>
+
+GetLocationCommand::GetLocationCommand(const ::aurum::ReqGetLocation* request,
+                                       ::aurum::RspGetLocation*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status GetLocationCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "CliGetLocation --------------- ");
+    // ObjectMapper *mObjMap = ObjectMapper::getInstance();
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/GetSizeCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/GetSizeCommand.cc
new file mode 100644 (file)
index 0000000..de77d0e
--- /dev/null
@@ -0,0 +1,28 @@
+#include "GetSizeCommand.h"
+#include <loguru.hpp>
+
+#include <UiObject.h>
+
+GetSizeCommand::GetSizeCommand(const ::aurum::ReqGetSize* request,
+                               ::aurum::RspGetSize*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status GetSizeCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "GetSize --------------- ");
+    ObjectMapper *mObjMap = ObjectMapper::getInstance();
+    UiObject* obj = mObjMap->getElement(mRequest->elementid());
+    if (obj) {
+        const Rect<int> &size = obj->getBoundingBox();
+        ::aurum::Rect rect;
+        rect.set_x(size.mTopLeft.x);
+        rect.set_y(size.mTopLeft.y);
+        rect.set_width(size.width());
+        rect.set_height(size.height());
+        mResponse->mutable_size()->CopyFrom(rect);
+    }
+
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/GetValueCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/GetValueCommand.cc
new file mode 100644 (file)
index 0000000..0eabcb5
--- /dev/null
@@ -0,0 +1,25 @@
+#include "GetValueCommand.h"
+#include <loguru.hpp>
+
+#include <UiObject.h>
+
+GetValueCommand::GetValueCommand(const ::aurum::ReqGetValue* request,
+                                 ::aurum::RspGetValue*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status GetValueCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "GetValue --------------- ");
+    ObjectMapper* mObjMap = ObjectMapper::getInstance();
+    UiObject*     obj = mObjMap->getElement(mRequest->elementid());
+
+    if (obj) {
+        std::string text = obj->getText();
+        mResponse->set_stringvalue(text.c_str());
+        mResponse->set_status(::aurum::RspStatus::OK);
+    }
+
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/InstallAppCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/InstallAppCommand.cc
new file mode 100644 (file)
index 0000000..454bda5
--- /dev/null
@@ -0,0 +1,37 @@
+#include "InstallAppCommand.h"
+#include <fstream>
+#include <loguru.hpp>
+#ifdef GBSBUILD
+#include <package_manager.h>
+#endif
+
+InstallAppCommand::InstallAppCommand(
+    ::grpc::ServerReader<::aurum::ReqInstallApp> *request,
+    ::aurum::RspInstallApp *                      response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status InstallAppCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "InstallApp --------------- ");
+#ifdef GBSBUILD
+    ::aurum::ReqInstallApp chunk;
+
+    std::ofstream outfile("/tmp/app.tpk", std::ofstream::binary);
+
+    while (mRequest->Read(&chunk)) {
+        std::size_t size = chunk.package().length();
+        const char *bufptr = chunk.package().c_str();
+        outfile.write(bufptr, size);
+    }
+    outfile.close();
+
+    package_manager_request_h pkgRequest;
+    int                       id;
+
+    package_manager_request_create(&pkgRequest);
+    package_manager_request_install(pkgRequest, "/tmp/app.tpk", &id);
+#endif
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/KillServerCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/KillServerCommand.cc
new file mode 100644 (file)
index 0000000..2e51682
--- /dev/null
@@ -0,0 +1,17 @@
+#include "KillServerCommand.h"
+#include <loguru.hpp>
+
+KillServerCommand::KillServerCommand(const ::aurum::ReqEmpty* request,
+                                     ::aurum::RspEmpty*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status KillServerCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "Kill Server ");
+
+    exit(1);
+
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/LaunchAppCommand.cc
new file mode 100644 (file)
index 0000000..6002a94
--- /dev/null
@@ -0,0 +1,54 @@
+#include "LaunchAppCommand.h"
+#include <loguru.hpp>
+#include <chrono>
+#include <thread>
+
+#ifdef GBSBUILD
+#include <app_control.h>
+#endif
+
+LaunchAppCommand::LaunchAppCommand(const ::aurum::ReqLaunchApp* request,
+                                   ::aurum::RspLaunchApp*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status LaunchAppCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "LaunchApp --------------- ");
+#ifdef GBSBUILD
+    app_control_h appControl;
+    std::string   packageName = mRequest->packagename();
+    int           ret = -1;
+
+    if (packageName.empty()) return grpc::Status::OK;
+
+    ret = app_control_create(&appControl);
+    if (ret) {
+        LOG_SCOPE_F(INFO, "Launch Failed(1/3) Err Code : %ull", ret);
+        mResponse->set_status(::aurum::RspStatus::ERROR);
+        return grpc::Status::OK;
+    }
+
+    ret = app_control_set_app_id(appControl, packageName.c_str());
+    if (ret) {
+        LOG_SCOPE_F(INFO, "Launch Failed(2/3) Err Code : %ull", ret);
+        mResponse->set_status(::aurum::RspStatus::ERROR);
+        return grpc::Status::OK;
+    }
+
+    ret = app_control_send_launch_request(appControl, NULL, NULL);
+    if (ret) {
+        LOG_SCOPE_F(INFO, "Launch Failed(3/3) Err Code : %ull", ret);
+        mResponse->set_status(::aurum::RspStatus::ERROR);
+        return grpc::Status::OK;
+    }
+#endif
+    return grpc::Status::OK;
+}
+::grpc::Status LaunchAppCommand::executePost()
+{
+    LOG_SCOPE_F(INFO, "LaunchAppCommand::executePost");
+    std::this_thread::sleep_for(std::chrono::milliseconds{1500});
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/LongClickCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/LongClickCommand.cc
new file mode 100644 (file)
index 0000000..6dcc5a1
--- /dev/null
@@ -0,0 +1,37 @@
+#include "LongClickCommand.h"
+#include <loguru.hpp>
+
+#include <UiObject.h>
+#include <UiDevice.h>
+
+LongClickCommand::LongClickCommand(const ::aurum::ReqClick* request,
+                                   ::aurum::RspClick*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status LongClickCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "LongClick --------------- ");
+
+    ObjectMapper* mObjMap = ObjectMapper::getInstance();
+    ::aurum::ReqClick_RequestType type = mRequest->type();
+
+    if (type == ::aurum::ReqClick_RequestType_ELEMENTID) {
+        UiObject* obj = mObjMap->getElement(mRequest->elementid());
+        if (obj) {
+            obj->longClick(LOGNCLICK_INTERVAL);
+            mResponse->set_status(::aurum::RspStatus::OK);
+        } else
+            mResponse->set_status(::aurum::RspStatus::ERROR);
+    } else if (type == ::aurum::ReqClick_RequestType_COORD) {
+        UiDevice* obj = UiDevice::getInstance(DeviceType::DEFAULT);
+        const ::aurum::Point& point = mRequest->coordination();
+        obj->click(point.x(), point.y(), LOGNCLICK_INTERVAL);
+        mResponse->set_status(::aurum::RspStatus::OK);
+    } else if (type == ::aurum::ReqClick_RequestType_ATSPI) {
+        mResponse->set_status(::aurum::RspStatus::ERROR);
+    }
+
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/PostCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/PostCommand.cc
new file mode 100644 (file)
index 0000000..71f4692
--- /dev/null
@@ -0,0 +1,20 @@
+#include "PostCommand.h"
+#include <atspi/atspi.h>
+#include <loguru.hpp>
+
+PostCommand::PostCommand() : PostCommand(nullptr) {}
+PostCommand::PostCommand(Command *cmd) : mCommand{cmd} {}
+
+::grpc::Status PostCommand::execute()
+{
+    ::grpc::Status rst = mCommand->execute();
+    LOG_SCOPE_F(INFO, "PostCommand --------------- ");
+    mCommand->executePost();
+    // do post-command
+    return rst;
+}
+
+::grpc::Status PostCommand::executePre()
+{
+    return mCommand->executePre();
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/PreCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/PreCommand.cc
new file mode 100644 (file)
index 0000000..a0f13ff
--- /dev/null
@@ -0,0 +1,26 @@
+#include "PreCommand.h"
+#include <atspi/atspi.h>
+#include <loguru.hpp>
+
+PreCommand::PreCommand() : PreCommand(nullptr) {}
+PreCommand::PreCommand(Command *cmd) : mCommand{cmd} {}
+
+::grpc::Status PreCommand::execute()
+{
+    {
+        LOG_SCOPE_F(INFO, "PreCommand --------------- ");
+        AtspiAccessible *n = atspi_get_desktop(0);
+        if (n) {
+            char *name = atspi_accessible_get_name(n, NULL);
+            if(name) free(name);
+            g_object_unref(n);
+        }
+    }
+    mCommand->executePre();
+    return mCommand->execute();
+}
+
+::grpc::Status PreCommand::executePost()
+{
+    return mCommand->executePost();
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/RemoveAppCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/RemoveAppCommand.cc
new file mode 100644 (file)
index 0000000..0fa6816
--- /dev/null
@@ -0,0 +1,27 @@
+#include "RemoveAppCommand.h"
+#include <loguru.hpp>
+#ifdef GBSBUILD
+#include <package_manager.h>
+#endif
+
+RemoveAppCommand::RemoveAppCommand(const ::aurum::ReqRemoveApp* request,
+                                   ::aurum::RspRemoveApp*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status RemoveAppCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "RemoveApp --------------- ");
+#ifdef GBSBUILD
+    package_manager_request_h pkgRequest;
+    std::string               name = mRequest->packagename();
+    int                       id;
+    LOG_F(INFO, "package name :%s", name.c_str());
+
+    package_manager_request_create(&pkgRequest);
+    package_manager_request_uninstall(pkgRequest, name.c_str(), &id);
+#endif
+
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/SendKeyCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/SendKeyCommand.cc
new file mode 100644 (file)
index 0000000..7897a7f
--- /dev/null
@@ -0,0 +1,37 @@
+#include "SendKeyCommand.h"
+#include <loguru.hpp>
+
+#include <UiDevice.h>
+
+SendKeyCommand::SendKeyCommand(const ::aurum::ReqKey* request,
+                               ::aurum::RspKey*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status SendKeyCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "SendKey --------------- ");
+    UiDevice* mDevice = UiDevice::getInstance(DeviceType::DEFAULT);
+    ::aurum::ReqKey_KeyType type = mRequest->type();
+
+    if (type == ::aurum::ReqKey_KeyType::ReqKey_KeyType_BACK)
+        mDevice->pressBack();
+    else if (type == ::aurum::ReqKey_KeyType::ReqKey_KeyType_HOME)
+        mDevice->pressHome();
+    else if (type == ::aurum::ReqKey_KeyType::ReqKey_KeyType_MENU)
+        mDevice->pressMenu();
+    else if (type == ::aurum::ReqKey_KeyType::ReqKey_KeyType_VOLUP)
+        mDevice->pressVolUp();
+    else if (type == ::aurum::ReqKey_KeyType::ReqKey_KeyType_VOLDOWN)
+        mDevice->pressVolDown();
+    else if (type == ::aurum::ReqKey_KeyType::ReqKey_KeyType_POWER)
+        mDevice->pressPower();
+    else if (type == ::aurum::ReqKey_KeyType::ReqKey_KeyType_KEY) {
+        ; // TODO
+    }
+    else if (type == ::aurum::ReqKey_KeyType::ReqKey_KeyType_XF86) {
+        ; // TODO
+    }
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/SetValueCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/SetValueCommand.cc
new file mode 100644 (file)
index 0000000..9f574ee
--- /dev/null
@@ -0,0 +1,17 @@
+#include "SetValueCommand.h"
+#include <loguru.hpp>
+
+SetValueCommand::SetValueCommand(const ::aurum::ReqSetValue* request,
+                                 ::aurum::RspSetValue*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status SetValueCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "SetValue (text:%s) --------------- ", mRequest->stringvalue().c_str());
+    ObjectMapper* mObjMap = ObjectMapper::getInstance();
+    UiObject*     obj = mObjMap->getElement(mRequest->elementid());
+    if (obj) obj->setText(const_cast<std::string&>(mRequest->stringvalue()));
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/SyncCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/SyncCommand.cc
new file mode 100644 (file)
index 0000000..9d09214
--- /dev/null
@@ -0,0 +1,23 @@
+#include "SyncCommand.h"
+#include <loguru.hpp>
+
+#include <AccessibleWatcher.h>
+#include <AccessibleNode.h>
+
+SyncCommand::SyncCommand(const ::aurum::ReqEmpty *request,
+                         ::aurum::RspEmpty *      response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status SyncCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "Sync Command ");
+    const AccessibleWatcher *accObj = AccessibleWatcher::getInstance();
+
+    auto root = accObj->getRootNode();
+    LOG_F(INFO, "root node tree / depth : 2");
+    root->print(0, 2);
+
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/TouchDownCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/TouchDownCommand.cc
new file mode 100644 (file)
index 0000000..4864cc5
--- /dev/null
@@ -0,0 +1,19 @@
+#include "TouchDownCommand.h"
+#include <UiDevice.h>
+#include <loguru.hpp>
+
+TouchDownCommand::TouchDownCommand(const ::aurum::ReqTouchDown* request,
+                                   ::aurum::RspTouchDown*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status TouchDownCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "TouchDown --------------- ");
+    const aurum::Point& point_ = mRequest->coordination();
+    mResponse->set_seqid(0);
+    UiDevice::getInstance(DeviceType::DEFAULT)
+        ->touchDown(point_.x(), point_.y());
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/TouchMoveCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/TouchMoveCommand.cc
new file mode 100644 (file)
index 0000000..18fbeb9
--- /dev/null
@@ -0,0 +1,17 @@
+#include "TouchMoveCommand.h"
+#include <UiDevice.h>
+#include <loguru.hpp>
+
+TouchMoveCommand::TouchMoveCommand(const ::aurum::ReqTouchMove* request,
+                                   ::aurum::RspTouchMove*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status TouchMoveCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "TouchMove --------------- ");
+    const aurum::Point& point = mRequest->coordination();
+    UiDevice::getInstance(DeviceType::DEFAULT)->touchMove(point.x(), point.y());
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/Commands/TouchUpCommand.cc b/org.tizen.aurum-bootstrap/src/Commands/TouchUpCommand.cc
new file mode 100644 (file)
index 0000000..20d8083
--- /dev/null
@@ -0,0 +1,17 @@
+#include "TouchUpCommand.h"
+#include <UiDevice.h>
+#include <loguru.hpp>
+
+TouchUpCommand::TouchUpCommand(const ::aurum::ReqTouchUp* request,
+                               ::aurum::RspTouchUp*       response)
+    : mRequest{request}, mResponse{response}
+{
+}
+
+::grpc::Status TouchUpCommand::execute()
+{
+    LOG_SCOPE_F(INFO, "TouchUp --------------- ");
+    const aurum::Point& point = mRequest->coordination();
+    UiDevice::getInstance(DeviceType::DEFAULT)->touchUp(point.x(), point.y());
+    return grpc::Status::OK;
+}
\ No newline at end of file
diff --git a/org.tizen.aurum-bootstrap/src/ObjectMapper.cc b/org.tizen.aurum-bootstrap/src/ObjectMapper.cc
new file mode 100644 (file)
index 0000000..75bf956
--- /dev/null
@@ -0,0 +1,31 @@
+#include "ObjectMapper.h"
+
+ObjectMapper::ObjectMapper() : mObjectMap{}, mObjCounter{0} {}
+
+ObjectMapper::~ObjectMapper() {}
+
+ObjectMapper *ObjectMapper::getInstance()
+{
+    static ObjectMapper *mInstance = new ObjectMapper();
+    return mInstance;
+}
+
+std::string ObjectMapper::addElement(std::unique_ptr<UiObject> object)
+{
+    ++mObjCounter;
+    std::string key = std::to_string(mObjCounter);
+    mObjectMap[key] = std::move(object);
+    return key;
+}
+
+UiObject *ObjectMapper::getElement(const std::string &key)
+{
+    unsigned long long keyCnt = (unsigned long long)std::stoll(key); // this key is a result of calling std:to_string(mObjCounter)
+    if (keyCnt <= 0 || keyCnt > mObjCounter) return nullptr;
+    if (mObjectMap.count(key)) {
+        UiObject *obj = mObjectMap[key].get();
+        const_cast<const UiObject *>(obj)->refresh();
+        return obj;
+    }
+    return nullptr;
+}
index 9c70332b5165841f6d8a7013ecaba134fdb6a068..60f5072ee3fc389005afa0923beaaae8e7e53213 100644 (file)
@@ -23,6 +23,21 @@ BuildRequires: pkgconfig(aul)
 BuildRequires: pkgconfig(capi-appfw-package-manager)
 BuildRequires: pkgconfig(capi-appfw-app-control)
 BuildRequires: pkgconfig(capi-appfw-app-manager)
+BuildRequires: pkgconfig(capi-appfw-service-application)
+BuildRequires: pkgconfig(libtzplatform-config)
+
+%if "%{?profile}" == "tv"
+  %define __hash_signing 0
+%else
+  %define __hash_signing 1
+%endif
+
+%if 0%{?__hash_signing}
+BuildRequires:  hash-signer
+%if 0%{?sec_product_feature_profile_wearable}
+Requires(post): signing-client
+%endif
+%endif
 
 %description
 aurum is a project for testing ui.
@@ -54,6 +69,8 @@ meson \
     --libdir %{_libdir} \
     -Dcpp_std=c++17 \
     -Dtizen=true \
+    -Dtzapp_path=%{TZ_SYS_RO_APP} \
+    -Dtzpackage_path=%{TZ_SYS_RO_PACKAGES} \
     gbsbuild 2>&1 | sed \
         -e 's%^.*: error: .*$%\x1b[37;41m&\x1b[m%' \
         -e 's%^.*: warning: .*$%\x1b[30;43m&\x1b[m%'
@@ -84,6 +101,14 @@ ninja \
 export DESTDIR=%{buildroot}
 ninja -C gbsbuild install
 
+%if 0%{?__hash_signing}
+%define tizen_sign 1
+%define tizen_sign_base /usr/apps/org.tizen.aurum-bootstrap
+%define tizen_sign_level platform
+%define tizen_author_sign 1
+%define tizen_dist_sign 1
+%endif
+
 %post
 sbin/ldconfig
 
@@ -91,12 +116,16 @@ sbin/ldconfig
 sbin/ldconfig
 
 %post bootstrap
-chsmack -e "User" %{_bindir}/aurum_bootstrap
-
+%if 0%{?sec_product_feature_profile_wearable}
+echo "signing %{TZ_SYS_RO_APP}/org.tizen.aurum-bootstrap"
+/usr/bin/signing-client/hash-signer-client.sh -a -d -p platform %{TZ_SYS_RO_APP}/org.tizen.aurum-bootstrap
+%endif
+#chsmack -e "User" %{_bindir}/aurum_bootstrap
 
 %postun bootstrap
 /sbin/ldconfig
 
+
 %files
 %manifest %{name}.manifest
 %defattr(-,root,root)
@@ -113,5 +142,8 @@ chsmack -e "User" %{_bindir}/aurum_bootstrap
 %manifest %{name}.manifest
 %defattr(-,root,root)
 %license COPYING
-%{_bindir}/aurum_bootstrap
-%{_unitdir_user}/aurum-bootstrap.service
+#%{_bindir}/aurum_bootstrap
+#%{_unitdir_user}/aurum-bootstrap.service
+%{TZ_SYS_RO_PACKAGES}/org.tizen.aurum-bootstrap.xml
+%{TZ_SYS_RO_APP}/org.tizen.aurum-bootstrap/*
+