Refactored: More information hiding
[TortoiseGit.git] / src / Utils / ClipboardHelper.h
blobe5bbc7d016321016a87cb05ccfa6817cf820fb57
1 // TortoiseGit - a Windows shell extension for easy version control
3 // Copyright (C) 2003-2010 - TortoiseSVN
5 // This program is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU General Public License
7 // as published by the Free Software Foundation; either version 2
8 // of the License, or (at your option) any later version.
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software Foundation,
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 #pragma once
22 class CClipboardHelper
24 public:
25 CClipboardHelper() : bClipBoardOpen(false) {}
26 ~CClipboardHelper();
27 bool Open(HWND hOwningWnd);
28 static HGLOBAL GlobalAlloc(SIZE_T dwBytes);
29 private:
30 bool bClipBoardOpen;
33 inline CClipboardHelper::~CClipboardHelper()
35 if (bClipBoardOpen)
36 CloseClipboard();
39 inline bool CClipboardHelper::Open(HWND hOwningWnd)
41 bClipBoardOpen = (OpenClipboard(hOwningWnd) != 0);
42 return bClipBoardOpen;
45 inline HGLOBAL CClipboardHelper::GlobalAlloc(SIZE_T dwBytes)
47 return ::GlobalAlloc(GMEM_MOVEABLE, dwBytes);