1 // Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
2 // Use of this source code is governed by an apache-2.0 license that can be
3 // found in the LICENSE file.
5 #include "hybrid/step/configuration/step_merge_tpk_config.h"
7 #include <pkgmgrinfo_basic.h>
9 #include <common/utils/glist_range.h>
11 #include "hybrid/hybrid_backend_data.h"
14 namespace configuration {
16 StepMergeTpkConfig::StepMergeTpkConfig(
17 common_installer::InstallerContext* context,
18 MergeType type) : Step(context), merge_type_(type) {
21 common_installer::Step::Status StepMergeTpkConfig::process() {
22 HybridBackendData* data =
23 static_cast<HybridBackendData*>(context_->backend_data.get());
24 manifest_x* tpk_data = data->tpk_manifest_data.get();
25 manifest_x* wgt_data = context_->manifest_data.get();
27 if (merge_type_ == MergeType::CONCAT) {
28 wgt_data->application =
29 g_list_concat(wgt_data->application, tpk_data->application);
31 // mainappid should be webapp for hybrid pkg
32 for (application_x* app :
33 GListRange<application_x*>(tpk_data->application)) {
34 if (app->type && strcmp(app->type, "webapp") != 0)
39 app->mainapp = strdup("true");
41 LOG(ERROR) << "Out of memoery";
46 wgt_data->application = tpk_data->application;
49 tpk_data->application = nullptr;
53 } // namespace configuration