Add ode-external-lock.service to launch external-lock interface 90/183390/4
authorseolheui kim <s414.kim@samsung.com>
Thu, 5 Jul 2018 06:20:07 +0000 (15:20 +0900)
committerseolheui, kim <s414.kim@samsung.com>
Fri, 12 Oct 2018 01:06:16 +0000 (10:06 +0900)
Change-Id: I9cceeaf401c97377a5ef758ce5094c30069d263c
Signed-off-by: seolheui kim <s414.kim@samsung.com>
ode/CMakeLists.txt
ode/service/ode-external-lock.service.in [new file with mode: 0644]
ode/src/interface/external/password-sdcard.cpp
ode/src/ode.cpp
ode/src/ode.h
packaging/ode-ui.spec

index 42f8b3e8183b8d2b76f1541f6f48cf7b35e792d1..6dfec3e7571c192c9e8d4efc4613faea3153d6fa 100755 (executable)
@@ -84,4 +84,7 @@ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PKG_NAME}.xml DESTINATION ${APP_SHAR
 CONFIGURE_FILE(service/ode-progress-ui@.service.in service/ode-progress-ui@.service)
 INSTALL(FILES service/ode-progress-ui@.service DESTINATION ${SYSTEMD_UNIT_DIR})
 
+CONFIGURE_FILE(service/ode-external-lock.service.in service/ode-external-lock.service)
+INSTALL(FILES service/ode-external-lock.service DESTINATION ${SYSTEMD_UNIT_DIR})
+
 ADD_SUBDIRECTORY(po)
diff --git a/ode/service/ode-external-lock.service.in b/ode/service/ode-external-lock.service.in
new file mode 100644 (file)
index 0000000..b05bcb4
--- /dev/null
@@ -0,0 +1,10 @@
+[Unit]
+Description=ODE external storage lock interface
+
+[Service]
+User=application
+Group=application
+SmackProcessLabel=System
+EnvironmentFile=/run/tizen-system-env
+EnvironmentFile=/run/xdg-root-env
+ExecStart=/usr/bin/ode lock
index e999f33f9220d8ff26f944708c7abdfdac094d61..e511054d7ca4252d86ab666a8d4c569f0d4b91d6 100644 (file)
@@ -41,7 +41,7 @@ void PasswordSDCard::create()
 
 void PasswordSDCard::dispose()
 {
-       ::ui_app_exit();
+       ::elm_exit();
 }
 
 void PasswordSDCard::retryCrypto(const std::string &data)
index 4551ec422f524dfbb61d81471468d6ddf0d2ece9..2a7215382db3a5150e377799603fd2e9609b60a9 100644 (file)
@@ -56,30 +56,30 @@ void ODELaunchPad::onAppControl()
 
        switch (mode) {
        case Type::ENCRYPT_DEVICE:
-               interface = new EncryptDeviceInterface{};
+               interface.reset(new EncryptDeviceInterface{});
                break;
        case Type::DECRYPT_DEVICE:
-               interface = new DecryptDeviceInterface{};
+               interface.reset(new DecryptDeviceInterface{});
                break;
        case Type::ENCRYPT_SD_CARD:
-               interface = new EncryptSDCardInterface{};
+               interface.reset(new EncryptSDCardInterface{});
                break;
        case Type::DECRYPT_SD_CARD:
-               interface = new DecryptSDCardInterface{};
+               interface.reset(new DecryptSDCardInterface{});
                break;
        case Type::INSERT_SD_CARD:
-               interface = new InsertSDCardInterface{appControl.get()};
+               interface.reset(new InsertSDCardInterface{appControl.get()});
                break;
        case Type::SD_CARD_PASSWORD:
-               interface = new PasswordSDCard{};
+               interface.reset(new PasswordSDCard{});
                break;
        case Type::ENCRYPT_EXTENSION:
                dlog_print(DLOG_INFO, "ODE-UI", "Device Path : %s / Mapping Node : %s", appControl->getData("dev_path").c_str(), appControl->getData("mapping_node").c_str());
-               interface = new EncryptExtensionInterface{appControl.get()};
+               interface.reset(new EncryptExtensionInterface{appControl.get()});
                break;
        case Type::SD_CARD_EXTENDED_PASSWORD:
                dlog_print(DLOG_INFO, "ODE-UI", "Device Path : %s / Mapping Node : %s", appControl->getData("dev_path").c_str(), appControl->getData("mapping_node").c_str());
-               interface = new PasswordSDCardExtended{appControl->getData("dev_path"), appControl->getData("mapping_node")};
+               interface.reset(new PasswordSDCardExtended{appControl->getData("dev_path"), appControl->getData("mapping_node")});
                break;
        default:
                throw runtime::Exception("Do not supported viewtype");
@@ -92,9 +92,6 @@ void ODELaunchPad::onAppControl()
 
 void ODELaunchPad::onTerminate()
 {
-       if (interface) {
-               delete interface;
-       }
 }
 
 ODEStandAlone::ODEStandAlone()
@@ -104,16 +101,11 @@ ODEStandAlone::ODEStandAlone()
 
 ODEStandAlone::~ODEStandAlone()
 {
-       if (interface) {
-               delete interface;
-       }
 }
 
 void ODEStandAlone::createProgressInterface(const std::string &type, const std::string &target)
 {
-       if (interface == nullptr) {
-               interface = new ODEInterface{};
-       }
+       interface.reset(new ODEInterface{});
        interface->setBaseLayout();
 
        if ((!type.compare("encrypt") || !type.compare("Encrypting"))
@@ -137,6 +129,14 @@ void ODEStandAlone::createProgressInterface(const std::string &type, const std::
        }
 }
 
+void ODEStandAlone::createPasswordInterface()
+{
+       interface.reset(new PasswordSDCard{});
+
+       if (interface)
+               interface->create();
+}
+
 int ODEStandAlone::run(int argc, char *argv[])
 {
        char *lang = nullptr;
@@ -154,11 +154,14 @@ int ODEStandAlone::run(int argc, char *argv[])
 
        ::elm_init(argc, argv);
        ::elm_scale_set(1.8);
+
        if (!strncmp(argv[1], "progress", sizeof("progress"))) {
                if (argc < 4) {
                        return -1;
                }
                createProgressInterface(argv[2], argv[3]);
+       } else if (!strncmp(argv[1], "lock", sizeof("lock"))) {
+               createPasswordInterface();
        }
 
        ::elm_run();
index 734604ec516653cc4d9136b5409faf5f60321c88..8fb3d0e6fb09e81b7eb57d8054e920f8987aaef8 100644 (file)
@@ -57,7 +57,7 @@ private:
        int getMode(const std::string &type);
        std::string viewtype;
        int mode;
-       ODEInterface *interface;
+       std::unique_ptr<ODEInterface> interface;
 };
 
 class ODEStandAlone : public Application {
@@ -67,8 +67,9 @@ public:
 
        int run(int argc, char *argv[]);
        void createProgressInterface(const std::string &type, const std::string &target);
+       void createPasswordInterface();
 private:
-       ODEInterface *interface;
+       std::unique_ptr<ODEInterface> interface;
        std::unique_ptr<ProgressPage> progress;
 };
 
index 496ae3c5435ad4e1fd5aa7a3b20070a4cdae7dd9..e7fd1a67b333b4020dfb72162966db5cf4da2be3 100755 (executable)
@@ -86,6 +86,7 @@ ln -sf %{odeapp_home}/bin/org.tizen.ode /usr/bin/ode
 %{odeapp_home}/res/*
 %{TZ_SYS_RO_PACKAGES}/org.tizen.ode.xml
 %{_unitdir}/ode-progress-ui@.service
+%{_unitdir}/ode-external-lock.service
 
 ## Secure Erase Application Package ################################
 %package -n org.tizen.secure-erase