+template <typename T>
+bool StepParseManifest::FillSplashScreen(application_x* app,
+ const T& splashscreens_info) {
+ for (auto& splash_screen : splashscreens_info.splashscreens()) {
+ splashscreen_x* splashscreen =
+ static_cast<splashscreen_x*>(calloc(1, sizeof(splashscreen_x)));
+ if (context_->is_preload_request.get() == true)
+ splashscreen->src = strdup(splash_screen.src().c_str());
+ else
+ splashscreen->src = strdup((context_->root_application_path.get()
+ / app->package / "shared" / "res" / splash_screen.src()).c_str());
+
+ splashscreen->type = strdup(splash_screen.type().c_str());
+ if (!splash_screen.dpi().empty())
+ splashscreen->dpi = strdup(splash_screen.dpi().c_str());
+ splashscreen->orientation = strdup(splash_screen.orientation().c_str());
+ if (!splash_screen.indicatordisplay().empty())
+ splashscreen->indicatordisplay = strdup(
+ splash_screen.indicatordisplay().c_str());
+ else
+ splashscreen->indicatordisplay = strdup("true");
+ app->splashscreens = g_list_append(app->splashscreens, splashscreen);
+ }
+ return true;
+}
+