From e0de95864892d1e119f91936d8b1294542ab2316 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 26 Nov 2008 22:23:22 +0100 Subject: SystemBackendPosix ist jetzt ein Modul --- src/Common/Backends/SystemBackendPosix.h | 89 -------------------------------- 1 file changed, 89 deletions(-) delete mode 100644 src/Common/Backends/SystemBackendPosix.h (limited to 'src/Common/Backends/SystemBackendPosix.h') diff --git a/src/Common/Backends/SystemBackendPosix.h b/src/Common/Backends/SystemBackendPosix.h deleted file mode 100644 index 59dd2d8..0000000 --- a/src/Common/Backends/SystemBackendPosix.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - * SystemBackendPosix.h - * - * Copyright (C) 2008 Matthias Schiffer - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -#ifndef MAD_COMMON_BACKENDS_SYSTEMBACKENDPOSIX_H_ -#define MAD_COMMON_BACKENDS_SYSTEMBACKENDPOSIX_H_ - -#include "../SystemBackend.h" - -#include -#include -#include - -#include -#include -#include - -namespace Mad { -namespace Common { -namespace Backends { - -class SystemBackendPosix : public SystemBackend { - private: - static SystemBackendPosix backend; - static std::map > processes; - - static std::map > processesWithOutput; - static std::map processesWOHandles; - static std::map processesWOOutput; - - static void setChildHandler(); - - static void childHandler(int); - - static void outputHandler(short events, pid_t pid); - - static std::pair makeArgs(const std::string &filename, const std::vector &argv, const std::vector &env); - static void destroyArgs(std::pair args); - - SystemBackendPosix() { - setChildHandler(); - } - - void fsInfoCallback(int, const std::string &output, const sigc::slot& > &callback); - - protected: - virtual bool fsInfo(const sigc::slot& > &callback); - - virtual bool doShutdown(const sigc::slot &callback) {return exec(sigc::hide(callback), "/sbin/halt");} - virtual bool doReboot(const sigc::slot &callback) {return exec(sigc::hide(callback), "/sbin/reboot");} - - public: - ~SystemBackendPosix(); - - static void registerBackend() { - SystemBackend::registerBackend(&backend); - } - - static void unregisterBackend() { - SystemBackend::unregisterBackend(&backend); - } - - static bool exec(const sigc::slot &resultHandler, const std::string &filename, const std::vector &argv = std::vector(), - const std::vector &env = std::vector()); - - static bool execWithOutput(const sigc::slot &resultHandler, const std::string &filename, const std::vector &argv = std::vector(), - const std::vector &env = std::vector()); -}; - -} -} -} - -#endif /* MAD_COMMON_BACKENDS_SYSTEMBACKENDPOSIX_H_ */ -- cgit v1.2.3