private:
AppInfo appInfo;
loader_lifecycle_callback_s callbacks;
+ hydra_lifecycle_callback_s hydraCallbacks;
loader_adapter_s adapter;
bool __isLaunched;
std::string __launchPath;
}
}
- return ECORE_CALLBACK_CANCEL;
+ return ECORE_CALLBACK_RENEW;
}
static void fdAdd(void *data, int fd, loader_receiver_cb receiver)
return 0;
};
+ // Called before initial fork
+ hydraCallbacks.precreate = [](void* userData) {
+ WITH_SELF(userData) {
+ if (self->onPreCreate != nullptr)
+ self->onPreCreate();
+ }
+ };
+
+ hydraCallbacks.create = [](void* userData) {
+ ecore_init();
+ };
+
+ // Called after fork in candidate
+ hydraCallbacks.fork = [](void *userData) {
+ ecore_fork_reset();
+ };
+
+ hydraCallbacks.terminate = [](void* userData) {
+ ecore_shutdown();
+ return 0;
+ };
+
adapter.loop_begin = [](void *data) {
ecore_main_loop_begin();
};
adapter.add_fd = fdAdd;
adapter.remove_fd = fdRemove;
- _INFO("launchpad_loader_main is start");
- int r = launchpad_loader_main(argc, argv, &(this->callbacks), &(this->adapter), this);
- _INFO("launchpad_loader_main is finished with [%d]", r);
+ _INFO("launchpad_hydra_main is start");
+ int r = launchpad_hydra_main(argc, argv, &(this->hydraCallbacks),
+ &(this->callbacks), &(this->adapter), this);
+ _INFO("launchpad_hydra_main is finished with [%d]", r);
return r;
}