static DBusManager& GetInst() {
static DBusManager inst;
- inst.Init();
return inst;
}
queue_->Push(std::move(message));
}
- private:
- DBusManager() = default;
- ~DBusManager() { Dispose(); }
-
void Init() {
if (!disposed_)
return;
disposed_ = false;
}
+ private:
+ DBusManager() = default;
+ ~DBusManager() { Dispose(); }
+
GDBusConnection* GetConnection() {
if (conn_)
return conn_;
g_variant_new("(u)", pid), "App Dead. " + std::to_string(pid)));
}
+void DBus::Init() {
+ DBusManager::GetInst().Init();
+}
+
+void DBus::Finish() {
+ DBusManager::GetInst().Dispose();
+}
+
} // namespace launchpad
class DBus {
public:
+ static void Init();
+ static void Finish();
static void SendAppLaunchSignal(pid_t pid, const std::string_view appid);
static void SendAppDeadSignal(pid_t pid);
};
return false;
}
+ cleaner_.reset(new Worker("cleaner+"));
+ DBus::Init();
+
LoaderManager::GetInst().AddDefaultLoaderContexts();
LoaderManager::GetInst().SetEventListener(this);
launchpad::Debug::GetInst().Init();
lang_config_.reset(new LanguageConfig());
region_format_config_.reset(new RegionFormatConfig());
- cleaner_.reset(new Worker("cleaner+"));
Log::Init();
return true;
}
void Launchpad::OnTerminate() {
Log::Finish();
- cleaner_.reset();
region_format_config_.reset();
lang_config_.reset();
pid_map_.clear();
Util::SendCmdToAmd(AmdCmd::LaunchpadDeadSignal);
Debug::GetInst().Dispose();
+ DBus::Finish();
+ cleaner_.reset();
LoaderManager::GetInst().Dispose();
channel_.reset();