deskflow/src/lib/arch/ArchDaemonNone.h
2025-05-20 16:20:07 +01:00

38 lines
1.2 KiB
C++

/*
* Deskflow -- mouse and keyboard sharing utility
* SPDX-FileCopyrightText: (C) 2012 - 2016 Symless Ltd.
* SPDX-FileCopyrightText: (C) 2002 Chris Schoeneman
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
*/
#pragma once
#include "arch/IArchDaemon.h"
#define ARCH_DAEMON ArchDaemonNone
//! Dummy implementation of IArchDaemon
/*!
This class implements IArchDaemon for a platform that does not have
daemons. The install and uninstall functions do nothing, the query
functions return false, and \c daemonize() simply calls the passed
function and returns its result.
*/
class ArchDaemonNone : public IArchDaemon
{
public:
ArchDaemonNone() = default;
~ArchDaemonNone() override = default;
// IArchDaemon overrides
void installDaemon(
const char *name, const char *description, const char *pathname, const char *commandLine, const char *dependencies
) override;
void uninstallDaemon(const char *name) override;
int daemonize(const char *name, DaemonFunc const &func) override;
bool canInstallDaemon(const char *name) override;
bool isDaemonInstalled(const char *name) override;
void installDaemon() override;
void uninstallDaemon() override;
std::string commandLine() const override;
};