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:
return status;
}
GeneratePrivilege(writer);
+ GenerateProvidesAppDefinedPrivilege(writer);
GenerateAccount(writer);
GenerateIme(writer);
GenerateProfiles(writer);
GenerateShortcuts(writer);
-
+ GenerateTrustAnchor(writer);
xmlTextWriterEndElement(writer);
return Status::OK;
}
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