namespace hybrid {
namespace configuration {
+StepMergeTpkConfig::StepMergeTpkConfig(
+ common_installer::InstallerContext* context,
+ MergeType type) : Step(context), merge_type_(type) {
+}
+
common_installer::Step::Status StepMergeTpkConfig::process() {
HybridBackendData* data =
static_cast<HybridBackendData*>(context_->backend_data.get());
manifest_x* tpk_data = data->tpk_manifest_data.get();
manifest_x* wgt_data = context_->manifest_data.get();
- wgt_data->application =
- g_list_concat(wgt_data->application, tpk_data->application);
- tpk_data->application = nullptr;
+ if (merge_type_ == MergeType::CONCAT)
+ wgt_data->application =
+ g_list_concat(wgt_data->application, tpk_data->application);
+ else
+ wgt_data->application = tpk_data->application;
+ tpk_data->application = nullptr;
return Status::OK;
}