From d89b7fc11011e2963a2cb3dfc0067ce8447517b6 Mon Sep 17 00:00:00 2001 From: Tomasz Iwanek Date: Wed, 4 Feb 2015 16:04:05 +0100 Subject: [PATCH] Remove double installer creation Change-Id: Id8842d3dcb471a00437f3d620229a6c45a97989f --- src/wgt/wgt_backend.cc | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/src/wgt/wgt_backend.cc b/src/wgt/wgt_backend.cc index da7bc70..915459e 100644 --- a/src/wgt/wgt_backend.cc +++ b/src/wgt/wgt_backend.cc @@ -31,8 +31,8 @@ namespace ci = common_installer; int main(int argc, char** argv) { - /* get request data */ - pkgmgr_installer *pi = pkgmgr_installer_new(); + // get request data + pkgmgr_installer* pi = pkgmgr_installer_new(); if (!pi) return ENOMEM; @@ -41,13 +41,12 @@ int main(int argc, char** argv) { pkgmgr_installer_free(pi); return -result; } - common_installer::AppInstaller* installer = - new common_installer::AppInstaller(pi); - /* treat the request */ + + ci::AppInstaller installer(pi); + + // set steps switch (pkgmgr_installer_get_request_type(pi)) { case PKGMGR_REQ_INSTALL: { - ci::AppInstaller installer(pi); - installer.AddStep(); installer.AddStep(); installer.AddStep(); @@ -57,29 +56,26 @@ int main(int argc, char** argv) { installer.AddStep(); installer.AddStep(); installer.AddStep(); - - installer.Run(); break; } case PKGMGR_REQ_UNINSTALL: { - ci::AppInstaller installer(pi); - installer.AddStep(); installer.AddStep(); installer.AddStep(); installer.AddStep(); installer.AddStep(); - - installer.Run(); break; } default: { - /* unsupported operation */ - result = EINVAL; - break; + // unsupported operation + pkgmgr_installer_free(pi); + return EINVAL; } } - delete installer; + + // run request + result = installer.Run(); + pkgmgr_installer_free(pi); return result; } -- 2.7.4