"are mandatory and has not been found.";
return false;
}
- if (component_based_application_list) {
- for (const auto& app : component_based_application_list->items) {
- if (app.components.components().empty()) {
- LOG(ERROR) << "Frame-Component or Service-Component is mandatory and "
- "has not been found.";
- return false;
- }
- }
- }
-
int support_mode_val = GetSupportModeVal(pkg_info->support_mode());
return true;
}
-template <typename T>
-bool StepParseManifest::FillComponentInfo(application_x* app,
- const T& component_list) {
- for (auto& component : component_list.components()) {
- component_x* comp =
- static_cast<component_x*>(calloc(1, sizeof(component_x)));
- if (!comp) {
- LOG(ERROR) << "Out of memory";
- return false;
- }
-
- comp->id = strdup(component.id().c_str());
- comp->type = strdup(component.type().c_str());
- comp->launch_mode = strdup(component.launch_mode().c_str());
-
- app->components = g_list_append(app->components, comp);
- }
-
- return true;
-}
-
bool StepParseManifest::FillComponentBasedApplicationInfo(
manifest_x* manifest) {
std::shared_ptr<const tpk::parse::ComponentBasedApplicationInfoList>
app->support_disable = strdup(manifest->support_disable);
app->launch_mode = strdup("single");
app->api_version = strdup(manifest->api_version);
+ app->splash_screen_display =
+ strdup(application.app_info.splash_screen_display().c_str());
manifest->application = g_list_append(manifest->application, app);
if (bf::path(application.app_info.exec().c_str()).is_absolute()) {
app->exec = strdup(application.app_info.exec().c_str());
return false;
if (!FillBackgroundCategoryInfo(app, application.background_category))
return false;
- if (!FillComponentInfo(app, application.components))
+ if (!FillAppControl(app, application.app_control))
+ return false;
+ if (!FillDataControl(app, application.data_control))
+ return false;
+ if (!FillMetadata(app, application.meta_data))
+ return false;
+ if (!FillCategories(app, application.categories))
+ return false;
+ if (!FillSplashScreen(app, application.app_splashscreens))
return false;
}