From badc0da3b74d99c90b7b28180d08cd6d08830254 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 19 May 2009 09:13:35 +0200 Subject: Make-Prozess auf CMake umgestellt --- src/modules/SystemBackendPosix.h | 98 ---------------------------------------- 1 file changed, 98 deletions(-) delete mode 100644 src/modules/SystemBackendPosix.h (limited to 'src/modules/SystemBackendPosix.h') diff --git a/src/modules/SystemBackendPosix.h b/src/modules/SystemBackendPosix.h deleted file mode 100644 index 6d9b65f..0000000 --- a/src/modules/SystemBackendPosix.h +++ /dev/null @@ -1,98 +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_MODULES_SYSTEMBACKENDPOSIX_H_ -#define MAD_MODULES_SYSTEMBACKENDPOSIX_H_ - -#include - -#include -#include -#include - -#include - -#include - -namespace Mad { -namespace Modules { - -// TODO SystemBackendPosix doesn't work !!! - -class SystemBackendPosix : private Common::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 boost::function1& > &callback); - - protected: - virtual bool getFSInfo(const boost::function1& > &callback); - - virtual bool shutdown(const boost::function0 &callback) {return exec(boost::bind(callback), "/sbin/halt");} - virtual bool reboot(const boost::function0 &callback) {return exec(boost::bind(callback), "/sbin/reboot");} - - public: - ~SystemBackendPosix(); - - static void registerBackend() { - if(backend) - return; - - backend = new SystemBackendPosix(); - Common::SystemManager::get()->registerBackend(backend); - } - - static void unregisterBackend() { - if(!backend) - return; - - Common::SystemManager::get()->unregisterBackend(backend); - delete backend; - backend = 0; - } - - static bool exec(const boost::function1 &resultHandler, const std::string &filename, const std::vector &argv = std::vector(), - const std::vector &env = std::vector()); - - static bool execWithOutput(const boost::function2 &resultHandler, const std::string &filename, const std::vector &argv = std::vector(), - const std::vector &env = std::vector()); -}; - -} -} - -#endif /* MAD_MODULES_SYSTEMBACKENDPOSIX_H_ */ -- cgit v1.2.3