deskflow/src/lib/arch/ArchDaemonNone.h

39 lines
1.2 KiB
C
Raw Normal View History

2012-06-10 16:50:54 +00:00
/*
* 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
2012-06-10 16:50:54 +00:00
*/
#pragma once
2012-06-10 16:50:54 +00:00
#include "arch/IArchDaemon.h"
2012-06-10 16:50:54 +00:00
2014-11-11 13:51:47 +00:00
#define ARCH_DAEMON ArchDaemonNone
2012-06-10 16:50:54 +00:00
//! 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
{
2012-06-10 16:50:54 +00:00
public:
ArchDaemonNone() = default;
~ArchDaemonNone() override = default;
2012-06-10 16:50:54 +00:00
// 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;
2025-05-02 11:47:21 +00:00
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;
2012-06-10 16:50:54 +00:00
};