App and Service improvements (#106)
This commit is contained in:
committed by
GitHub
parent
e86a11b7e2
commit
50ee77d572
@@ -15,13 +15,13 @@ static const Configuration* config_instance = nullptr;
|
||||
// region Default services
|
||||
|
||||
namespace service {
|
||||
namespace gui { extern const Manifest manifest; }
|
||||
namespace loader { extern const Manifest manifest; }
|
||||
namespace screenshot { extern const Manifest manifest; }
|
||||
namespace statusbar { extern const Manifest manifest; }
|
||||
namespace gui { extern const ServiceManifest manifest; }
|
||||
namespace loader { extern const ServiceManifest manifest; }
|
||||
namespace screenshot { extern const ServiceManifest manifest; }
|
||||
namespace statusbar { extern const ServiceManifest manifest; }
|
||||
}
|
||||
|
||||
static const std::vector<const service::Manifest*> system_services = {
|
||||
static const std::vector<const service::ServiceManifest*> system_services = {
|
||||
&service::loader::manifest,
|
||||
&service::gui::manifest, // depends on loader service
|
||||
#ifndef ESP_PLATFORM // Screenshots don't work yet on ESP32
|
||||
@@ -35,30 +35,30 @@ static const std::vector<const service::Manifest*> system_services = {
|
||||
// region Default apps
|
||||
|
||||
namespace app {
|
||||
namespace boot { extern const Manifest manifest; }
|
||||
namespace desktop { extern const Manifest manifest; }
|
||||
namespace files { extern const Manifest manifest; }
|
||||
namespace gpio { extern const Manifest manifest; }
|
||||
namespace imageviewer { extern const Manifest manifest; }
|
||||
namespace screenshot { extern const Manifest manifest; }
|
||||
namespace settings { extern const Manifest manifest; }
|
||||
namespace display { extern const Manifest manifest; }
|
||||
namespace i2cscanner { extern const Manifest manifest; }
|
||||
namespace i2csettings { extern const Manifest manifest; }
|
||||
namespace power { extern const Manifest manifest; }
|
||||
namespace selectiondialog { extern const Manifest manifest; }
|
||||
namespace systeminfo { extern const Manifest manifest; }
|
||||
namespace textviewer { extern const Manifest manifest; }
|
||||
namespace wifiapsettings { extern const Manifest manifest; }
|
||||
namespace wificonnect { extern const Manifest manifest; }
|
||||
namespace wifimanage { extern const Manifest manifest; }
|
||||
namespace boot { extern const AppManifest manifest; }
|
||||
namespace desktop { extern const AppManifest manifest; }
|
||||
namespace files { extern const AppManifest manifest; }
|
||||
namespace gpio { extern const AppManifest manifest; }
|
||||
namespace imageviewer { extern const AppManifest manifest; }
|
||||
namespace screenshot { extern const AppManifest manifest; }
|
||||
namespace settings { extern const AppManifest manifest; }
|
||||
namespace display { extern const AppManifest manifest; }
|
||||
namespace i2cscanner { extern const AppManifest manifest; }
|
||||
namespace i2csettings { extern const AppManifest manifest; }
|
||||
namespace power { extern const AppManifest manifest; }
|
||||
namespace selectiondialog { extern const AppManifest manifest; }
|
||||
namespace systeminfo { extern const AppManifest manifest; }
|
||||
namespace textviewer { extern const AppManifest manifest; }
|
||||
namespace wifiapsettings { extern const AppManifest manifest; }
|
||||
namespace wificonnect { extern const AppManifest manifest; }
|
||||
namespace wifimanage { extern const AppManifest manifest; }
|
||||
}
|
||||
|
||||
#ifndef ESP_PLATFORM
|
||||
extern const app::Manifest screenshot_app;
|
||||
extern const app::AppManifest screenshot_app;
|
||||
#endif
|
||||
|
||||
static const std::vector<const app::Manifest*> system_apps = {
|
||||
static const std::vector<const app::AppManifest*> system_apps = {
|
||||
&app::boot::manifest,
|
||||
&app::desktop::manifest,
|
||||
&app::display::manifest,
|
||||
@@ -92,10 +92,10 @@ static void register_system_apps() {
|
||||
}
|
||||
}
|
||||
|
||||
static void register_user_apps(const app::Manifest* const apps[TT_CONFIG_APPS_LIMIT]) {
|
||||
static void register_user_apps(const app::AppManifest* const apps[TT_CONFIG_APPS_LIMIT]) {
|
||||
TT_LOG_I(TAG, "Registering user apps");
|
||||
for (size_t i = 0; i < TT_CONFIG_APPS_LIMIT; i++) {
|
||||
const app::Manifest* manifest = apps[i];
|
||||
const app::AppManifest* manifest = apps[i];
|
||||
if (manifest != nullptr) {
|
||||
addApp(manifest);
|
||||
} else {
|
||||
@@ -113,10 +113,10 @@ static void register_and_start_system_services() {
|
||||
}
|
||||
}
|
||||
|
||||
static void register_and_start_user_services(const service::Manifest* const services[TT_CONFIG_SERVICES_LIMIT]) {
|
||||
static void register_and_start_user_services(const service::ServiceManifest* const services[TT_CONFIG_SERVICES_LIMIT]) {
|
||||
TT_LOG_I(TAG, "Registering and starting user services");
|
||||
for (size_t i = 0; i < TT_CONFIG_SERVICES_LIMIT; i++) {
|
||||
const service::Manifest* manifest = services[i];
|
||||
const service::ServiceManifest* manifest = services[i];
|
||||
if (manifest != nullptr) {
|
||||
addService(manifest);
|
||||
tt_check(service::startService(manifest->id));
|
||||
@@ -152,11 +152,11 @@ void init(const Configuration& config) {
|
||||
register_user_apps(config.apps);
|
||||
|
||||
TT_LOG_I(TAG, "init starting desktop app");
|
||||
service::loader::startApp(app::boot::manifest.id, true, Bundle());
|
||||
service::loader::startApp(app::boot::manifest.id, true);
|
||||
|
||||
if (config.auto_start_app_id) {
|
||||
TT_LOG_I(TAG, "init auto-starting %s", config.auto_start_app_id);
|
||||
service::loader::startApp(config.auto_start_app_id, true, Bundle());
|
||||
service::loader::startApp(config.auto_start_app_id, true);
|
||||
}
|
||||
|
||||
TT_LOG_I(TAG, "init complete");
|
||||
|
||||
Reference in New Issue
Block a user