32#if defined(__linux__) && !defined(__ANDROID__)
44std::unique_ptr<LocalClientApi> LocalClientApi::GetClient() {
49 return DummyIpcServer::GetInstance();
55 return DummyInstanceChk::GetInstance();
58#elif defined(__linux__)
59static bool UseDbus() {
60 return getenv(
"FLATPAK_ID") != 0 || getenv(
"OCPN_FORCE_DBUS");
63std::unique_ptr<LocalClientApi> LocalClientApi::GetClient() {
67 return std::unique_ptr<LocalClientApi>(
new IpcClient);
79 return DbusServer::GetInstance();
81 return GetWxInstanceChk();
85std::unique_ptr<LocalClientApi> LocalClientApi::GetClient() {
86 return std::unique_ptr<LocalClientApi>(
new IpcClient());
90 return IpcConnection::GetInstance();
Implement LocalClientApi on linux using Dbus mechanisms.
Common interface for all instance checkers.
static InstanceCheck & GetInstance()
Started by IpcServer on filesystem fifo/socket connects.
Base interface for local server command handling.
static void ReleaseInstance()
Release Instance.
static LocalServerApi & GetInstance()
Thin wrapper for wxSingleInstanceChecker implementing InstanceCheck.
Dbus local API implementation (Linux only)
DBus interface header file.
Server and client CLI api implementations.
Single instance check based on wxWidgets functions.