1
/*********************************************************
2
* Copyright (C) 2009 VMware, Inc. All rights reserved.
4
* This program is free software; you can redistribute it and/or modify it
5
* under the terms of the GNU Lesser General Public License as published
6
* by the Free Software Foundation version 2.1 and no later version.
8
* This program is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
10
* or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public
11
* License for more details.
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program; if not, write to the Free Software Foundation, Inc.,
15
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
17
*********************************************************/
20
* @file copyPasteDnDWrapper.h
22
* This singleton class implements a wrapper around various versions of
23
* copy and paste and dnd versions for Linux.
27
#ifndef COPYPASTEDNDWRAPPER_H
28
#define COPYPASTEDNDWRAPPER_H
31
#include "dnd.h" /* for DnDBlockControl */
34
#if defined(HAVE_GTKMM)
35
#include "copyPasteUI.h"
39
#include "vm_basic_types.h"
42
struct DblLnkLst_Links;
45
void CopyPasteDnDWrapper_SetUnityMode(Bool mode);
48
class CopyPasteDnDWrapper
51
~CopyPasteDnDWrapper();
52
static CopyPasteDnDWrapper *GetInstance();
59
void SetCPIsRegistered(bool isRegistered);
60
bool IsCPRegistered();
61
void SetDnDIsRegistered(bool isRegistered);
62
bool IsDnDRegistered();
65
void SetBlockControl(DnDBlockControl *blockCtrl);
66
void SetUserData(const void *userData);
67
void SetHGWnd(GtkWidget *wnd) {m_hgWnd = wnd;};
68
void SetGHWnd(GtkWidget *wnd) {m_ghWnd = wnd;};
69
void SetEventQueue(DblLnkLst_Links *queue) {m_eventQueue = queue;};
70
#if defined(HAVE_GTKMM)
71
void SetUnityMode(Bool mode)
72
{m_dndUI->SetUnityMode(mode);};
76
* We're a singleton, so it is a compile time error to call these.
78
CopyPasteDnDWrapper();
79
CopyPasteDnDWrapper(const CopyPasteDnDWrapper &wrapper);
80
CopyPasteDnDWrapper& operator=(const CopyPasteDnDWrapper &wrapper);
82
#if defined(HAVE_GTKMM)
83
CopyPasteUI *m_copyPasteUI;
86
bool m_isCPRegistered;
87
bool m_isDnDRegistered;
88
const void *m_userData;
91
static CopyPasteDnDWrapper *m_instance;
92
DnDBlockControl *m_blockCtrl;
96
DblLnkLst_Links *m_eventQueue;
99
#endif // COPYPASTEDNDWRAPPER_H