From bbf07a0ac053a4ddebd12eb6e2db94efa62a89ce Mon Sep 17 00:00:00 2001 From: Federico Terzi Date: Tue, 10 Sep 2019 18:23:27 +0200 Subject: [PATCH] Refactor Windows factory code --- src/clipboard/mod.rs | 4 +--- src/clipboard/windows.rs | 12 +++++------- src/system/mod.rs | 4 +--- src/system/windows.rs | 12 ++++++------ 4 files changed, 13 insertions(+), 19 deletions(-) diff --git a/src/clipboard/mod.rs b/src/clipboard/mod.rs index 8094d98..f837765 100644 --- a/src/clipboard/mod.rs +++ b/src/clipboard/mod.rs @@ -25,9 +25,7 @@ pub fn get_manager() -> impl ClipboardManager { // WINDOWS IMPLEMENTATION #[cfg(target_os = "windows")] pub fn get_manager() -> impl ClipboardManager { - let manager = windows::WindowsClipboardManager{}; - manager.initialize(); - manager + windows::WindowsClipboardManager::new() } // MAC IMPLEMENTATION diff --git a/src/clipboard/windows.rs b/src/clipboard/windows.rs index 37fd59a..c53c131 100644 --- a/src/clipboard/windows.rs +++ b/src/clipboard/windows.rs @@ -5,11 +5,13 @@ pub struct WindowsClipboardManager { } -impl super::ClipboardManager for WindowsClipboardManager { - fn initialize(&self) { - // TODO: check if xclip is present and log an error otherwise. +impl WindowsClipboardManager { + pub fn new() -> WindowsClipboardManager { + WindowsClipboardManager{} } +} +impl super::ClipboardManager for WindowsClipboardManager { fn get_clipboard(&self) -> Option { unimplemented!(); } @@ -17,8 +19,4 @@ impl super::ClipboardManager for WindowsClipboardManager { fn set_clipboard(&self, payload: &str) { unimplemented!(); } -} - -impl WindowsClipboardManager { - } \ No newline at end of file diff --git a/src/system/mod.rs b/src/system/mod.rs index ef9af57..e74cbf9 100644 --- a/src/system/mod.rs +++ b/src/system/mod.rs @@ -26,9 +26,7 @@ pub fn get_manager() -> impl SystemManager { // WINDOWS IMPLEMENTATION #[cfg(target_os = "windows")] pub fn get_manager() -> impl SystemManager { - let manager = windows::WindowsSystemManager{}; - manager.initialize(); - manager + windows::WindowsSystemManager::new() } // MAC IMPLEMENTATION diff --git a/src/system/windows.rs b/src/system/windows.rs index e89df8f..7950bff 100644 --- a/src/system/windows.rs +++ b/src/system/windows.rs @@ -5,6 +5,12 @@ pub struct WindowsSystemManager { } +impl WindowsSystemManager { + pub fn new() -> WindowsSystemManager { + WindowsSystemManager{} + } +} + impl super::SystemManager for WindowsSystemManager { fn get_current_window_title(&self) -> Option { unsafe { @@ -41,10 +47,4 @@ impl super::SystemManager for WindowsSystemManager { None } -} - -unsafe impl Send for WindowsSystemManager {} - -impl WindowsSystemManager { - } \ No newline at end of file