1 ///////////////////////////////////////////////////////////////////////////////
2 //Telnet Win32 : an ANSI telnet client.
3 //Copyright (C) 1998  Paul Brannan
4 //Copyright (C) 1998  I.Ioannou
5 //Copyright (C) 1997  Brad Johnson
6 //
7 //This program is free software; you can redistribute it and/or
8 //modify it under the terms of the GNU General Public License
9 //as published by the Free Software Foundation; either version 2
10 //of the License, or (at your option) any later version.
11 //
12 //This program is distributed in the hope that it will be useful,
13 //but WITHOUT ANY WARRANTY; without even the implied warranty of
14 //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 //GNU General Public License for more details.
16 //
17 //You should have received a copy of the GNU General Public License
18 //along with this program; if not, write to the Free Software
19 //Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 //
21 //I.Ioannou
22 //roryt@hol.gr
23 //
24 ///////////////////////////////////////////////////////////////////////////
25 
26 // TnClip.cpp
27 // A simple class for handling clipboard functions
28 // Written by Paul Brannan <pbranna@clemson.edu>
29 // Last modified 7/12/98
30 
31 #include <string.h>
32 #include "tnclip.h"
33 
34 Tnclip::Tnclip(HWND W, TNetwork &RefNetwork): Network(RefNetwork) {
35 	Window = W;
36 }
37 
38 Tnclip::~Tnclip() {
39 }
40 
41 void Tnclip::Copy(HGLOBAL clipboard_data) {
42 	if(!OpenClipboard(Window)) return;
43 	if(!EmptyClipboard()) return;
44 
45 	SetClipboardData(CF_TEXT, clipboard_data);
46 	CloseClipboard();
47 }
48 
49 void Tnclip::Paste() {
50 	if(!OpenClipboard(Window)) return;
51 
52 	HANDLE clipboard_data = GetClipboardData(CF_TEXT);
53 	LPVOID clipboard_ptr = GlobalLock(clipboard_data);
54 	DWORD size = strlen((const char *)clipboard_data);
55 	Network.WriteString((const char *)clipboard_ptr, size);
56 	GlobalUnlock(clipboard_data);
57 
58 	CloseClipboard();
59 }
60 
61