aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/um/service/utils
diff options
context:
space:
mode:
Diffstat (limited to 'um/service/utils')
-rw-r--r--um/service/utils/CMakeLists.txt11
-rw-r--r--um/service/utils/install_service.cpp29
-rw-r--r--um/service/utils/start_service.cpp29
-rw-r--r--um/service/utils/stop_service.cpp29
-rw-r--r--um/service/utils/uninstall_service.cpp29
5 files changed, 127 insertions, 0 deletions
diff --git a/um/service/utils/CMakeLists.txt b/um/service/utils/CMakeLists.txt
new file mode 100644
index 0000000..061ab25
--- /dev/null
+++ b/um/service/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/service/utils/install_service.cpp b/um/service/utils/install_service.cpp
new file mode 100644
index 0000000..f36af75
--- /dev/null
+++ b/um/service/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/service/utils/start_service.cpp b/um/service/utils/start_service.cpp
new file mode 100644
index 0000000..fafee53
--- /dev/null
+++ b/um/service/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/service/utils/stop_service.cpp b/um/service/utils/stop_service.cpp
new file mode 100644
index 0000000..800c7a9
--- /dev/null
+++ b/um/service/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/service/utils/uninstall_service.cpp b/um/service/utils/uninstall_service.cpp
new file mode 100644
index 0000000..395bb51
--- /dev/null
+++ b/um/service/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;
+}