X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fwgt%2Fwgt_installer.cc;h=32ba8d6854498ad1ca53542cff696106c44610b8;hb=c93a5812df30950ebbaebca0cb7d7ad32995d5cd;hp=337f4464abd99daeb8f5144a7c4fa3491e1b8cee;hpb=414b298c269e2b70981bf33ae3f35adab49507be;p=platform%2Fcore%2Fappfw%2Fwgt-backend.git diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index 337f446..32ba8d6 100755 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -91,6 +92,7 @@ #include "wgt/step/filesystem/step_wgt_patch_storage_directories.h" #include "wgt/step/filesystem/step_wgt_prepare_package_directory.h" #include "wgt/step/filesystem/step_wgt_resource_directory.h" +#include "wgt/step/filesystem/step_wgt_undo_patch_storage_directories.h" #include "wgt/step/filesystem/step_wgt_update_package_directory.h" #include "wgt/step/pkgmgr/step_generate_xml.h" #include "wgt/step/security/step_add_default_privileges.h" @@ -113,6 +115,87 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) /* treat the request */ switch (pkgmgr_->GetRequestType()) { case ci::RequestType::Install : { + InstallSteps(); + break; + } + case ci::RequestType::Update: { + UpdateSteps(); + break; + } + case ci::RequestType::Uninstall: { + UninstallSteps(); + break; + } + case ci::RequestType::Reinstall: { + ReinstallSteps(); + break; + } + case ci::RequestType::Delta: { + DeltaSteps(); + break; + } + case ci::RequestType::Recovery: { + RecoverySteps(); + break; + } + case ci::RequestType::MountInstall: { + MountInstallSteps(); + break; + } + case ci::RequestType::MountUpdate: { + MountUpdateSteps(); + break; + } + case ci::RequestType::ManifestDirectInstall: { + ManifestDirectInstallSteps(); + break; + } + case ci::RequestType::ManifestDirectUpdate: { + ManifestDirectUpdateSteps(); + break; + } + case ci::RequestType::ReadonlyUpdateInstall: { + ReadonlyUpdateInstallSteps(); + break; + } + case ci::RequestType::ReadonlyUpdateUninstall: { + ReadonlyUpdateUninstallSteps(); + break; + } + case ci::RequestType::ManifestPartialInstall: { + ManifestPartialInstallSteps(); + break; + } + case ci::RequestType::ManifestPartialUpdate: { + ManifestPartialUpdateSteps(); + break; + } + case ci::RequestType::PartialUninstall: { + ManifestPartialUninstallSteps(); + break; + } + case ci::RequestType::Move: { + MoveSteps(); + break; + } + case ci::RequestType::EnablePkg: { + EnablePkgSteps(); + break; + } + case ci::RequestType::DisablePkg: { + DisablePkgSteps(); + break; + } + case ci::RequestType::MigrateExtImg: { + MigrateExtImgSteps(); + break; + } + default: { + DefaultSteps(); + } + } +} + void WgtInstaller::InstallSteps() { AddStep(pkgmgr_); AddStep(); AddStep( @@ -143,17 +226,17 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); - AddStep(); AddStep(); + AddStep(); AddStep( ci::Plugin::ActionType::Install); AddStep( wgt::filesystem::WgtAdditionalSharedDirs); AddStep(); AddStep(); - break; - } - case ci::RequestType::Update: { + } + + void WgtInstaller::UpdateSteps() { AddStep(pkgmgr_); AddStep(); AddStep( @@ -188,16 +271,16 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); - AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::Plugin::ActionType::Upgrade); AddStep(); AddStep(); - break; - } - case ci::RequestType::Uninstall: { + } + + void WgtInstaller::UninstallSteps() { AddStep(pkgmgr_); AddStep(); AddStep(); @@ -221,9 +304,9 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); - break; - } - case ci::RequestType::Reinstall: { + } + + void WgtInstaller::ReinstallSteps() { AddStep(pkgmgr_); AddStep(); AddStep( @@ -244,9 +327,9 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); - break; - } - case ci::RequestType::Delta: { + } + + void WgtInstaller::DeltaSteps() { AddStep(pkgmgr_); AddStep(); AddStep( @@ -257,6 +340,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep("res/wgt/"); AddStep(); AddStep(); @@ -285,16 +369,16 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); - AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::Plugin::ActionType::Upgrade); AddStep(); AddStep(); - break; - } - case ci::RequestType::Recovery: { + } + + void WgtInstaller::RecoverySteps() { AddStep(pkgmgr_); AddStep(); AddStep( @@ -305,15 +389,16 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(); - AddStep(); AddStep(); AddStep(); - break; - } - case ci::RequestType::MountInstall: { + AddStep(); + } + + void WgtInstaller::MountInstallSteps() { AddStep(pkgmgr_); AddStep(); AddStep( @@ -343,17 +428,17 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); - AddStep(); AddStep(); + AddStep(); AddStep( ci::Plugin::ActionType::Install); AddStep( wgt::filesystem::WgtAdditionalSharedDirs); AddStep(); AddStep(); - break; - } - case ci::RequestType::MountUpdate: { + } + + void WgtInstaller::MountUpdateSteps() { AddStep(pkgmgr_); AddStep(); AddStep( @@ -385,16 +470,16 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); - AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::Plugin::ActionType::Upgrade); AddStep(); AddStep(); - break; - } - case ci::RequestType::ManifestDirectInstall: { + } + + void WgtInstaller::ManifestDirectInstallSteps() { AddStep(pkgmgr_); AddStep( wgt::configuration::StepParse::ConfigLocation::INSTALLED, true); @@ -412,16 +497,16 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); - AddStep(); AddStep(); + AddStep(); AddStep(ci::Plugin::ActionType::Install); AddStep( wgt::filesystem::WgtAdditionalSharedDirs); AddStep(); AddStep(); - break; - } - case ci::RequestType::ManifestDirectUpdate: { + } + + void WgtInstaller::ManifestDirectUpdateSteps() { AddStep(pkgmgr_); AddStep( wgt::configuration::StepParse::ConfigLocation::INSTALLED, true); @@ -439,18 +524,18 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) ci::configuration::StepParseManifest::StoreLocation::BACKUP); AddStep(); AddStep(); - AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::Plugin::ActionType::Upgrade); AddStep(); AddStep(); - break; - } - case ci::RequestType::ReadonlyUpdateInstall: { + } + + void WgtInstaller::ReadonlyUpdateInstallSteps() { AddStep(pkgmgr_); AddStep(); AddStep( @@ -489,9 +574,9 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(ci::Plugin::ActionType::Upgrade); AddStep(); AddStep(); - break; - } - case ci::RequestType::ReadonlyUpdateUninstall: { + } + + void WgtInstaller::ReadonlyUpdateUninstallSteps() { AddStep(pkgmgr_); AddStep(); AddStep(); @@ -514,26 +599,27 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(ci::Plugin::ActionType::Upgrade); - break; - } - case ci::RequestType::ManifestPartialInstall: { + } + + void WgtInstaller::ManifestPartialInstallSteps() { AddStep(pkgmgr_); AddStep( wgt::configuration::StepParse::ConfigLocation::INSTALLED, true); AddStep(); + AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); AddStep(); AddStep(); - AddStep(); AddStep(); + AddStep(); AddStep(ci::Plugin::ActionType::Install); AddStep( wgt::filesystem::WgtAdditionalSharedDirs); AddStep(); - break; - } - case ci::RequestType::ManifestPartialUpdate: { + } + + void WgtInstaller::ManifestPartialUpdateSteps() { AddStep(pkgmgr_); AddStep( wgt::configuration::StepParse::ConfigLocation::INSTALLED, true); @@ -541,18 +627,20 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep( ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, ci::configuration::StepParseManifest::StoreLocation::BACKUP); + AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); AddStep(); - AddStep(); + AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::Plugin::ActionType::Upgrade); AddStep(); - break; - } - case ci::RequestType::PartialUninstall: { + } + + void WgtInstaller::ManifestPartialUninstallSteps() { AddStep(pkgmgr_); AddStep(); AddStep(); @@ -568,9 +656,9 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); - break; - } - case ci::RequestType::Move: { + } + + void WgtInstaller::MoveSteps() { AddStep(pkgmgr_); AddStep( ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, @@ -578,9 +666,9 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); - break; - } - case ci::RequestType::EnablePkg: { + } + + void WgtInstaller::EnablePkgSteps() { AddStep(pkgmgr_); AddStep( ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, @@ -590,9 +678,9 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) ci::pkgmgr::StepUpdatePkgDisableInfo::ActionType::Enable); AddStep( ci::Plugin::ActionType::Uninstall); - break; - } - case ci::RequestType::DisablePkg: { + } + + void WgtInstaller::DisablePkgSteps() { AddStep(pkgmgr_); AddStep( ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, @@ -602,18 +690,16 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) ci::pkgmgr::StepUpdatePkgDisableInfo::ActionType::Disable); AddStep( ci::Plugin::ActionType::Uninstall); - break; - } - case ci::RequestType::MigrateExtImg: { + } + + void WgtInstaller::MigrateExtImgSteps() { AddStep(pkgmgr_); AddStep(); AddStep(); - break; - } - default: { + } + + void WgtInstaller::DefaultSteps() { AddStep(); - } } -} } // namespace wgt