diff options
Diffstat (limited to 'utils/libservice/include')
-rw-r--r-- | utils/libservice/include/libservice/device.hpp | 35 | ||||
-rw-r--r-- | utils/libservice/include/libservice/handle.hpp | 18 | ||||
-rw-r--r-- | utils/libservice/include/libservice/service.hpp | 26 | ||||
-rw-r--r-- | utils/libservice/include/libservice/service_handle.hpp | 18 | ||||
-rw-r--r-- | utils/libservice/include/libservice/service_manager.hpp | 12 | ||||
-rw-r--r-- | utils/libservice/include/libservice/singleton.hpp | 16 | ||||
-rw-r--r-- | utils/libservice/include/libservice/windows_error.hpp | 17 |
7 files changed, 75 insertions, 67 deletions
diff --git a/utils/libservice/include/libservice/device.hpp b/utils/libservice/include/libservice/device.hpp index 3a9540e..9a6f278 100644 --- a/utils/libservice/include/libservice/device.hpp +++ b/utils/libservice/include/libservice/device.hpp @@ -13,6 +13,8 @@ #include <Windows.h> +#include <cstddef> + #include <string> #include <utility> @@ -21,6 +23,8 @@ namespace libservice class Device { public: + typedef DWORD Code; + static Device open(const std::string& path); Device(Device&& other) LIBSERVICE_NOEXCEPT @@ -37,35 +41,38 @@ namespace libservice void swap(Device& other) LIBSERVICE_NOEXCEPT { using std::swap; - swap(m_handle, other.m_handle); + swap(handle, other.handle); } - DWORD get_required_output_size(DWORD code, - const void* in_buf, - DWORD in_buf_size) const; + std::size_t get_required_output_size( + Code code, + const void* in_buf, + std::size_t in_buf_size) const; - DWORD send_control_code(DWORD code, - const void* in_buf, - DWORD in_buf_size, - void* out_buf, - DWORD out_buf_size) const; + std::size_t send_control_code( + Code code, + const void* in_buf, + std::size_t in_buf_size, + void* out_buf, + std::size_t out_buf_size) const; private: - explicit Device(Handle h) - : m_handle(std::move(h)) + Device(Handle handle) + : handle(std::move(handle)) { } - Handle m_handle; + Handle handle; Device(const Device&) = delete; }; - void swap(libservice::Device&, libservice::Device&) LIBSERVICE_NOEXCEPT; + void swap(Device&, Device&) LIBSERVICE_NOEXCEPT; } namespace std { template <> void swap<libservice::Device>( - libservice::Device&, libservice::Device&) LIBSERVICE_NOEXCEPT; + libservice::Device&, + libservice::Device&) LIBSERVICE_NOEXCEPT; } diff --git a/utils/libservice/include/libservice/handle.hpp b/utils/libservice/include/libservice/handle.hpp index 1292090..26aba77 100644 --- a/utils/libservice/include/libservice/handle.hpp +++ b/utils/libservice/include/libservice/handle.hpp @@ -23,8 +23,8 @@ namespace libservice public: Handle() = default; - explicit Handle(HANDLE raw) - : m_impl(raw) + Handle(HANDLE raw) + : impl(raw) { } Handle(Handle&& other) LIBSERVICE_NOEXCEPT @@ -38,20 +38,20 @@ namespace libservice return *this; } - explicit operator bool() const + operator bool() const { - return static_cast<bool>(m_impl); + return static_cast<bool>(impl); } - explicit operator HANDLE() const + operator HANDLE() const { - return m_impl.get(); + return impl.get(); } void swap(Handle& other) LIBSERVICE_NOEXCEPT { using std::swap; - swap(m_impl, other.m_impl); + swap(impl, other.impl); } private: @@ -59,11 +59,11 @@ namespace libservice { void operator()(HANDLE raw) { - ::CloseHandle(raw); + CloseHandle(raw); } }; - std::unique_ptr<std::remove_pointer<HANDLE>::type, Deleter> m_impl; + std::unique_ptr<std::remove_pointer<HANDLE>::type, Deleter> impl; Handle(const Handle&) = delete; }; diff --git a/utils/libservice/include/libservice/service.hpp b/utils/libservice/include/libservice/service.hpp index d350c91..6e4d268 100644 --- a/utils/libservice/include/libservice/service.hpp +++ b/utils/libservice/include/libservice/service.hpp @@ -20,14 +20,18 @@ namespace libservice class Service { public: - static bool does_exist(const ServiceManager&, - const std::string& name); + static bool exists( + const ServiceManager&, + const std::string& name); - static Service open(const ServiceManager&, - const std::string& name); - static Service install(const ServiceManager&, - const std::string& name, - const std::string& bin_path); + static Service open( + const ServiceManager&, + const std::string& name); + + static Service install( + const ServiceManager&, + const std::string& name, + const std::string& bin_path); void start() const; void stop() const; @@ -47,15 +51,15 @@ namespace libservice void swap(Service& other) LIBSERVICE_NOEXCEPT { using std::swap; - swap(m_handle, other.m_handle); + swap(handle, other.handle); } private: - explicit Service(ServiceHandle h) - : m_handle(std::move(h)) + Service(ServiceHandle handle) + : handle(std::move(handle)) { } - ServiceHandle m_handle; + ServiceHandle handle; Service(const Service&) = delete; }; diff --git a/utils/libservice/include/libservice/service_handle.hpp b/utils/libservice/include/libservice/service_handle.hpp index 37e69ce..0f2cf59 100644 --- a/utils/libservice/include/libservice/service_handle.hpp +++ b/utils/libservice/include/libservice/service_handle.hpp @@ -22,8 +22,8 @@ namespace libservice public: ServiceHandle() = default; - explicit ServiceHandle(SC_HANDLE raw) - : m_impl(raw) + ServiceHandle(SC_HANDLE raw) + : impl(raw) { } ServiceHandle(ServiceHandle&& other) LIBSERVICE_NOEXCEPT @@ -37,20 +37,20 @@ namespace libservice return *this; } - explicit operator bool() const + operator bool() const { - return static_cast<bool>(m_impl); + return static_cast<bool>(impl); } - explicit operator SC_HANDLE() const + operator SC_HANDLE() const { - return m_impl.get(); + return impl.get(); } void swap(ServiceHandle& other) LIBSERVICE_NOEXCEPT { using std::swap; - swap(m_impl, other.m_impl); + swap(impl, other.impl); } private: @@ -58,11 +58,11 @@ namespace libservice { void operator()(SC_HANDLE raw) { - ::CloseServiceHandle(raw); + CloseServiceHandle(raw); } }; - std::unique_ptr<SC_HANDLE__, Deleter> m_impl; + std::unique_ptr<SC_HANDLE__, Deleter> impl; ServiceHandle(const ServiceHandle&) = delete; }; diff --git a/utils/libservice/include/libservice/service_manager.hpp b/utils/libservice/include/libservice/service_manager.hpp index c39b99e..8d8b862 100644 --- a/utils/libservice/include/libservice/service_manager.hpp +++ b/utils/libservice/include/libservice/service_manager.hpp @@ -36,20 +36,20 @@ namespace libservice void swap(ServiceManager& other) LIBSERVICE_NOEXCEPT { using std::swap; - swap(m_handle, other.m_handle); + swap(handle, other.handle); } - explicit operator SC_HANDLE() const + operator SC_HANDLE() const { - return static_cast<SC_HANDLE>(m_handle); + return handle; } private: - explicit ServiceManager(ServiceHandle h) - : m_handle(std::move(h)) + ServiceManager(ServiceHandle handle) + : handle(std::move(handle)) { } - ServiceHandle m_handle; + ServiceHandle handle; ServiceManager(const ServiceManager&) = delete; }; diff --git a/utils/libservice/include/libservice/singleton.hpp b/utils/libservice/include/libservice/singleton.hpp index a9d55ad..81e6445 100644 --- a/utils/libservice/include/libservice/singleton.hpp +++ b/utils/libservice/include/libservice/singleton.hpp @@ -12,13 +12,13 @@ namespace libservice { - template <typename DerivedType> + template <typename DerivedT> class Singleton { public: - static DerivedType& get() + static DerivedT& get() { - std::call_once(is_initialized, initialize); + std::call_once(initialized, initialize); return get_unsafe(); } @@ -32,15 +32,15 @@ namespace libservice get_unsafe(); } - static DerivedType& get_unsafe() + static DerivedT& get_unsafe() { - static DerivedType instance; + static DerivedT instance; return instance; } - static std::once_flag is_initialized; + static std::once_flag initialized; }; - template <typename DerivedType> - std::once_flag Singleton<DerivedType>::is_initialized; + template <typename DerivedT> + std::once_flag Singleton<DerivedT>::initialized; } diff --git a/utils/libservice/include/libservice/windows_error.hpp b/utils/libservice/include/libservice/windows_error.hpp index 907c7e7..430705a 100644 --- a/utils/libservice/include/libservice/windows_error.hpp +++ b/utils/libservice/include/libservice/windows_error.hpp @@ -16,22 +16,19 @@ namespace libservice { - class WinErrorCategory : public std::error_category - , public Singleton<WinErrorCategory> + class WindowsErrorCategory + : public std::error_category + , public Singleton<WindowsErrorCategory> { public: - const char* name() const LIBSERVICE_NOEXCEPT { return "windows"; } + const char* name() const LIBSERVICE_NOEXCEPT { return "Windows"; } std::string message(int) const; private: - friend class Singleton<WinErrorCategory>; + friend class Singleton<WindowsErrorCategory>; }; } -#define LIBSERVICE_ERROR_PREFIX "Error in function '" \ - LIBSERVICE_FUNCTION_NAME \ - "' at file '" \ - LIBSERVICE_FILE_PATH \ - "', line " \ - LIBSERVICE_LINE_NUMBER_STRING +#define LIBSERVICE_ERROR_PREFIX \ + "Error in function '" LIBSERVICE_FUNCTION_NAME "' at file '" LIBSERVICE_FILE_PATH "', line " LIBSERVICE_LINE_NUMBER_STRING |