diff options
Diffstat (limited to 'um/libservice/utils')
-rw-r--r-- | um/libservice/utils/CMakeLists.txt | 11 | ||||
-rw-r--r-- | um/libservice/utils/install_service.cpp | 29 | ||||
-rw-r--r-- | um/libservice/utils/start_service.cpp | 29 | ||||
-rw-r--r-- | um/libservice/utils/stop_service.cpp | 29 | ||||
-rw-r--r-- | um/libservice/utils/uninstall_service.cpp | 29 |
5 files changed, 127 insertions, 0 deletions
diff --git a/um/libservice/utils/CMakeLists.txt b/um/libservice/utils/CMakeLists.txt new file mode 100644 index 0000000..061ab25 --- /dev/null +++ b/um/libservice/utils/CMakeLists.txt @@ -0,0 +1,11 @@ +add_executable(install_service install_service.cpp) +target_link_libraries(install_service libservice) + +add_executable(start_service start_service.cpp) +target_link_libraries(start_service libservice) + +add_executable(stop_service stop_service.cpp) +target_link_libraries(stop_service libservice) + +add_executable(uninstall_service uninstall_service.cpp) +target_link_libraries(uninstall_service libservice) diff --git a/um/libservice/utils/install_service.cpp b/um/libservice/utils/install_service.cpp new file mode 100644 index 0000000..f36af75 --- /dev/null +++ b/um/libservice/utils/install_service.cpp @@ -0,0 +1,29 @@ +// Copyright (c) 2015 Egor Tensin <Egor.Tensin@gmail.com> +// This file is part of the "Windows 7 drivers" project. +// For details, see https://github.com/egor-tensin/windows7-drivers. +// Distributed under the MIT License. + +#include "libservice/all.hpp" + +#include <exception> +#include <iostream> + +int main(int argc, char* argv[]) +{ + if (argc != 3) + { + std::cout << "Usage: " << argv[0] << " NAME SYS_PATH\n"; + return 1; + } + + try + { + libservice::Service::install(libservice::ServiceManager::open(), argv[1], argv[2]); + } + catch (const std::exception& e) + { + std::cerr << e.what() << "\n"; + return 1; + } + return 0; +} diff --git a/um/libservice/utils/start_service.cpp b/um/libservice/utils/start_service.cpp new file mode 100644 index 0000000..fafee53 --- /dev/null +++ b/um/libservice/utils/start_service.cpp @@ -0,0 +1,29 @@ +// Copyright (c) 2015 Egor Tensin <Egor.Tensin@gmail.com> +// This file is part of the "Windows 7 drivers" project. +// For details, see https://github.com/egor-tensin/windows7-drivers. +// Distributed under the MIT License. + +#include "libservice/all.hpp" + +#include <exception> +#include <iostream> + +int main(int argc, char* argv[]) +{ + if (argc != 2) + { + std::cout << "Usage: " << argv[0] << " NAME\n"; + return 1; + } + + try + { + libservice::Service::open(libservice::ServiceManager::open(), argv[1]).start(); + } + catch (const std::exception& e) + { + std::cerr << e.what() << "\n"; + return 1; + } + return 0; +} diff --git a/um/libservice/utils/stop_service.cpp b/um/libservice/utils/stop_service.cpp new file mode 100644 index 0000000..800c7a9 --- /dev/null +++ b/um/libservice/utils/stop_service.cpp @@ -0,0 +1,29 @@ +// Copyright (c) 2015 Egor Tensin <Egor.Tensin@gmail.com> +// This file is part of the "Windows 7 drivers" project. +// For details, see https://github.com/egor-tensin/windows7-drivers. +// Distributed under the MIT License. + +#include "libservice/all.hpp" + +#include <exception> +#include <iostream> + +int main(int argc, char* argv[]) +{ + if (argc != 2) + { + std::cout << "Usage: " << argv[0] << " NAME\n"; + return 1; + } + + try + { + libservice::Service::open(libservice::ServiceManager::open(), argv[1]).stop(); + } + catch (const std::exception& e) + { + std::cerr << e.what() << "\n"; + return 1; + } + return 0; +} diff --git a/um/libservice/utils/uninstall_service.cpp b/um/libservice/utils/uninstall_service.cpp new file mode 100644 index 0000000..395bb51 --- /dev/null +++ b/um/libservice/utils/uninstall_service.cpp @@ -0,0 +1,29 @@ +// Copyright (c) 2015 Egor Tensin <Egor.Tensin@gmail.com> +// This file is part of the "Windows 7 drivers" project. +// For details, see https://github.com/egor-tensin/windows7-drivers. +// Distributed under the MIT License. + +#include "libservice/all.hpp" + +#include <exception> +#include <iostream> + +int main(int argc, char* argv[]) +{ + if (argc != 2) + { + std::cout << "Usage: " << argv[0] << " NAME\n"; + return 1; + } + + try + { + libservice::Service::open(libservice::ServiceManager::open(), argv[1]).uninstall(); + } + catch (const std::exception& e) + { + std::cerr << e.what() << "\n"; + return 1; + } + return 0; +} |