if (app->multiple)
xmlTextWriterWriteAttribute(writer, BAD_CAST "multiple",
BAD_CAST app->multiple);
- // FIXME: For hotfix, must be removed
- if (app->support_sizes) {
- for (auto& ss : GListRange<support_size_x*>(app->support_sizes)) {
- xmlTextWriterStartElement(writer, BAD_CAST "support-size");
- xmlTextWriterWriteAttribute(writer, BAD_CAST "preview",
- BAD_CAST ss->preview);
- xmlTextWriterWriteString(writer, BAD_CAST ss->size);
- xmlTextWriterEndElement(writer);
- }
- }
+ if (app->mainapp)
+ xmlTextWriterWriteAttribute(writer, BAD_CAST "main",
+ BAD_CAST app->mainapp);
auto& appwidgets = widget_info.app_widgets();
const auto& appwidget = std::find_if(appwidgets.begin(), appwidgets.end(),
}
// Add extra elements for wgt widget-application
- xmlTextWriterWriteAttribute(writer, BAD_CAST "main",
- BAD_CAST (appwidget->primary ? "true" : "false")); // NOLINT
if (!appwidget->update_period.empty()) {
xmlTextWriterWriteAttribute(writer, BAD_CAST "update-period", BAD_CAST
std::to_string(static_cast<int>(
void WriteWatchApplicationAttributes(
xmlTextWriterPtr writer, application_x* app) {
- if (app->ambient_support)
+ if (app->support_ambient)
xmlTextWriterWriteAttribute(writer, BAD_CAST "ambient-support",
- BAD_CAST app->ambient_support);
+ BAD_CAST app->support_ambient);
}
} // namespace
xmlTextWriterWriteAttribute(writer, BAD_CAST "appid", BAD_CAST app->appid);
// binary is a symbolic link named <appid> and is located in <pkgid>/<appid>
- bf::path exec_path = context_->pkg_path.get()
+ bf::path exec_path = context_->GetPkgPath()
/ bf::path("bin") / bf::path(app->appid);
xmlTextWriterWriteAttribute(writer, BAD_CAST "exec",
BAD_CAST exec_path.string().c_str());
if (!WriteWidgetApplicationAttributesAndElements(writer, app,
static_cast<WgtBackendData*>(
context_->backend_data.get())->appwidgets.get(),
- context_->pkg_path.get() / "shared" / "res"))
+ context_->GetPkgPath() / "shared" / "res"))
return Status::MANIFEST_ERROR;
break;
case AppCompType::WATCHAPP:
}
common_installer::Step::Status StepGenerateXml::undo() {
- bs::error_code error;
- if (bf::exists(context_->xml_path.get()))
- bf::remove_all(context_->xml_path.get(), error);
+ common_installer::RemoveAll(context_->xml_path.get());
return Status::OK;
}
common_installer::Step::Status StepGenerateXml::process() {
bf::path xml_path =
bf::path(getUserManifestPath(context_->uid.get(),
- context_->is_preload_request.get()))
+ context_->is_readonly_package.get()))
/ bf::path(context_->pkgid.get());
xml_path += ".xml";
context_->xml_path.set(xml_path.string());
return status;
}
GeneratePrivilege(writer);
+ GenerateProvidesAppDefinedPrivilege(writer);
GenerateAccount(writer);
GenerateIme(writer);
GenerateProfiles(writer);
GenerateShortcuts(writer);
-
+ GenerateTrustAnchor(writer);
xmlTextWriterEndElement(writer);
return Status::OK;
}
BAD_CAST context_->manifest_data.get()->api_version);
xmlTextWriterWriteAttribute(writer, BAD_CAST "nodisplay-setting",
BAD_CAST context_->manifest_data.get()->nodisplay_setting);
+ if (context_->is_readonly_package.get()) {
+ xmlTextWriterWriteAttribute(writer, BAD_CAST "readonly", BAD_CAST "true");
+ xmlTextWriterWriteAttribute(writer, BAD_CAST "preload", BAD_CAST "true");
+ } else if (context_->is_preload_rw_package.get()) {
+ xmlTextWriterWriteAttribute(writer, BAD_CAST "preload", BAD_CAST "true");
+ }
}
void StepGenerateXml::GenerateLangLabels(xmlTextWriterPtr writer) {
xmlTextWriterWriteString(writer, BAD_CAST priv->value);
xmlTextWriterEndElement(writer);
}
+ if (context_->manifest_data.get()->appdefined_privileges) {
+ for (appdefined_privilege_x* priv : GListRange<appdefined_privilege_x*>(
+ context_->manifest_data.get()->appdefined_privileges)) {
+ xmlTextWriterStartElement(writer, BAD_CAST "appdefined-privilege");
+ xmlTextWriterWriteAttribute(writer, BAD_CAST "license",
+ BAD_CAST priv->license);
+ xmlTextWriterWriteAttribute(writer, BAD_CAST "type",
+ BAD_CAST priv->type);
+ xmlTextWriterWriteString(writer, BAD_CAST priv->value);
+ xmlTextWriterEndElement(writer);
+ }
+ }
+ xmlTextWriterEndElement(writer);
+ }
+}
+void StepGenerateXml::GenerateProvidesAppDefinedPrivilege(
+ xmlTextWriterPtr writer) {
+ if (context_->manifest_data.get()->provides_appdefined_privileges) {
+ xmlTextWriterStartElement(writer,
+ BAD_CAST "provides-appdefined-privileges");
+ for (appdefined_privilege_x* priv : GListRange<appdefined_privilege_x*>(
+ context_->manifest_data.get()->provides_appdefined_privileges)) {
+ xmlTextWriterStartElement(writer, BAD_CAST "appdefined-privilege");
+ xmlTextWriterWriteAttribute(writer, BAD_CAST "license",
+ BAD_CAST priv->license);
+ xmlTextWriterWriteAttribute(writer, BAD_CAST "type",
+ BAD_CAST priv->type);
+ xmlTextWriterWriteString(writer, BAD_CAST priv->value);
+ xmlTextWriterEndElement(writer);
+ }
xmlTextWriterEndElement(writer);
}
}
if (!shortcut.app_id.empty())
xmlTextWriterWriteAttribute(writer, BAD_CAST "appid",
BAD_CAST shortcut.app_id.c_str());
- if (!shortcut.app_id.empty())
+ if (!shortcut.extra_data.empty())
xmlTextWriterWriteAttribute(writer, BAD_CAST "extra_data",
BAD_CAST shortcut.extra_data.c_str());
- if (!shortcut.app_id.empty())
+ if (!shortcut.extra_key.empty())
xmlTextWriterWriteAttribute(writer, BAD_CAST "extra_key",
BAD_CAST shortcut.extra_key.c_str());
if (!shortcut.icon.empty()) {
}
}
+void StepGenerateXml::GenerateTrustAnchor(xmlTextWriterPtr writer) {
+ if (!context_->manifest_data.get()->use_system_certs)
+ return;
+
+ xmlTextWriterStartElement(writer, BAD_CAST "trust-anchor");
+ xmlTextWriterWriteAttribute(writer, BAD_CAST "use-system-certs",
+ BAD_CAST context_->manifest_data.get()->use_system_certs);
+
+ xmlTextWriterEndElement(writer);
+}
+
} // namespace pkgmgr
} // namespace wgt