2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 * @file job_widget_install.h
18 * @author Radoslaw Wicik r.wicik@samsung.com
19 * @author Przemyslaw Dobrowolski (p.dobrowolsk@samsung.com)
21 * @brief Implementation file for main installer task
23 #ifndef WRT_SRC_INSTALLER_CORE_JOB_JOB_WIDGET_INSTALL_H_
24 #define WRT_SRC_INSTALLER_CORE_JOB_JOB_WIDGET_INSTALL_H_
28 #include <dpl/utils/widget_version.h>
29 #include "widget_installer_struct.h"
30 #include <widget_install/widget_install_context.h>
31 #include <widget_install/widget_unzip.h>
32 #include <boost/filesystem.hpp>
34 namespace bf = boost::filesystem;
35 using namespace Jobs::Exceptions;
38 namespace WidgetInstall {
40 typedef JobProgressBase<InstallerContext::InstallStep, InstallerContext::INSTALL_END> InstallerBase;
41 typedef JobContextBase<Jobs::WidgetInstall::WidgetInstallationStruct> WidgetInstallationBase;
43 class JobWidgetInstall :
46 public WidgetInstallationBase
51 Jobs::Exceptions::Type m_exceptionCaught;
52 std::string m_exceptionMessage;
55 InstallerContext m_installerContext;
57 * @brief Automaticaly sets installation process
59 JobWidgetInstall(std::string const & widgetPath,
60 std::string const &tzPkgId,
61 const Jobs::WidgetInstall::WidgetInstallationStruct &installerStruct);
64 std::shared_ptr<WidgetUnzip> m_wgtUnzip;
68 void SendFinishedSuccess();
69 void SendFinishedFailure();
70 void SendProgressIconPath(const std::string &path);
72 void SaveExceptionData(const Jobs::JobExceptionBase&);
73 void displayWidgetInfo();
76 void appendNewInstallationTaskList();
77 void appendUpdateInstallationTaskList();
78 void appendRDSUpdateTaskList();
79 void appendRecoveryTaskList();
80 void appendFotaInstallationTaskList();
81 void appendFotaUpdateTaskList();
83 static void SecureRemove(const bf::path& path);
85 } //namespace WidgetInstall
88 #endif // WRT_SRC_INSTALLER_CORE_JOB_JOB_WIDGET_INSTALL_H_