| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | #ifndef WINPTY_SHARED_BACKGROUND_DESKTOP_H |
| | #define WINPTY_SHARED_BACKGROUND_DESKTOP_H |
| |
|
| | #include <windows.h> |
| |
|
| | #include <string> |
| |
|
| | #include "WinptyException.h" |
| |
|
| | class BackgroundDesktop { |
| | public: |
| | BackgroundDesktop(); |
| | ~BackgroundDesktop() { dispose(); } |
| | void dispose() WINPTY_NOEXCEPT; |
| | const std::wstring &desktopName() const { return m_newDesktopName; } |
| |
|
| | BackgroundDesktop(const BackgroundDesktop &other) = delete; |
| | BackgroundDesktop &operator=(const BackgroundDesktop &other) = delete; |
| |
|
| | |
| | |
| |
|
| | BackgroundDesktop(BackgroundDesktop &&other) : |
| | m_originalStation(other.m_originalStation), |
| | m_newStation(other.m_newStation), |
| | m_newDesktop(other.m_newDesktop), |
| | m_newDesktopName(std::move(other.m_newDesktopName)) { |
| | other.m_originalStation = nullptr; |
| | other.m_newStation = nullptr; |
| | other.m_newDesktop = nullptr; |
| | } |
| | BackgroundDesktop &operator=(BackgroundDesktop &&other) { |
| | dispose(); |
| | m_originalStation = other.m_originalStation; |
| | m_newStation = other.m_newStation; |
| | m_newDesktop = other.m_newDesktop; |
| | m_newDesktopName = std::move(other.m_newDesktopName); |
| | other.m_originalStation = nullptr; |
| | other.m_newStation = nullptr; |
| | other.m_newDesktop = nullptr; |
| | return *this; |
| | } |
| |
|
| | private: |
| | HWINSTA m_originalStation = nullptr; |
| | HWINSTA m_newStation = nullptr; |
| | HDESK m_newDesktop = nullptr; |
| | std::wstring m_newDesktopName; |
| | }; |
| |
|
| | std::wstring getCurrentDesktopName(); |
| |
|
| | #endif |
| |
|