~n-muench/ubuntu/precise/open-vm-tools/open-vm-tools-precise.sid-merge1

« back to all changes in this revision

Viewing changes to vmware-user/copyPasteDnDWrapper.h

  • Committer: Bazaar Package Importer
  • Author(s): Serge Hallyn
  • Date: 2011-03-31 14:20:05 UTC
  • mfrom: (1.4.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20110331142005-3n9red91p7ogkweo
Tags: 2011.03.28-387002-0ubuntu1
* Merge latest upstream git tag.  This has the unlocked_ioctl change
  needed to fix dkms build failures (LP: #727342)
* Changes in debian/rules:
  - work around a bug in toolbox/Makefile, where install-exec-hook is
    not happening.  This needs to get fixed the right way.
  - don't install 'vmware-user' which seems to no longer exist
  - move /etc/xdg into open-vm-toolbox (which should be done using .install)
* debian/open-vm-tools.init: add 'modprobe [-r] vmblock'. (LP: #332323)
* debian/rules and debian/open-vm-toolbox.lintian-overrides:
  - Make vmware-user-suid-wrapper suid-root (LP: #332323)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*********************************************************
2
 
 * Copyright (C) 2009 VMware, Inc. All rights reserved.
3
 
 *
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.
7
 
 *
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.
12
 
 *
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.
16
 
 *
17
 
 *********************************************************/
18
 
 
19
 
/**
20
 
 * @file copyPasteDnDWrapper.h
21
 
 *
22
 
 * This singleton class implements a wrapper around various versions of
23
 
 * copy and paste and dnd versions for Linux.
24
 
 *
25
 
 */
26
 
 
27
 
#ifndef COPYPASTEDNDWRAPPER_H
28
 
#define COPYPASTEDNDWRAPPER_H
29
 
 
30
 
extern "C" {
31
 
#include "dnd.h"     /* for DnDBlockControl */
32
 
}
33
 
 
34
 
#if defined(HAVE_GTKMM)
35
 
#include "copyPasteUI.h"
36
 
#include "dndUI.h"
37
 
#endif
38
 
 
39
 
#include "vm_basic_types.h"
40
 
#include <gtk/gtk.h>
41
 
 
42
 
struct DblLnkLst_Links;
43
 
 
44
 
extern "C" {
45
 
void CopyPasteDnDWrapper_SetUnityMode(Bool mode);
46
 
}
47
 
 
48
 
class CopyPasteDnDWrapper
49
 
{
50
 
public:
51
 
   ~CopyPasteDnDWrapper();
52
 
   static CopyPasteDnDWrapper *GetInstance();
53
 
   bool RegisterCP();
54
 
   void UnregisterCP();
55
 
   bool RegisterDnD();
56
 
   void UnregisterDnD();
57
 
   int GetCPVersion();
58
 
   int GetDnDVersion();
59
 
   void SetCPIsRegistered(bool isRegistered);
60
 
   bool IsCPRegistered();
61
 
   void SetDnDIsRegistered(bool isRegistered);
62
 
   bool IsDnDRegistered();
63
 
   void OnReset();
64
 
   void Cancel();
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);};
73
 
#endif
74
 
private:
75
 
   /*
76
 
    * We're a singleton, so it is a compile time error to call these.
77
 
    */
78
 
   CopyPasteDnDWrapper();
79
 
   CopyPasteDnDWrapper(const CopyPasteDnDWrapper &wrapper);
80
 
   CopyPasteDnDWrapper& operator=(const CopyPasteDnDWrapper &wrapper);
81
 
private:
82
 
#if defined(HAVE_GTKMM)
83
 
   CopyPasteUI *m_copyPasteUI;
84
 
   DnDUI *m_dndUI;
85
 
#endif
86
 
   bool m_isCPRegistered;
87
 
   bool m_isDnDRegistered;
88
 
   const void *m_userData;
89
 
   int m_cpVersion;
90
 
   int m_dndVersion;
91
 
   static CopyPasteDnDWrapper *m_instance;
92
 
   DnDBlockControl *m_blockCtrl;
93
 
   bool m_isLegacy;
94
 
   GtkWidget *m_hgWnd;
95
 
   GtkWidget *m_ghWnd;
96
 
   DblLnkLst_Links *m_eventQueue;
97
 
};
98
 
 
99
 
#endif // COPYPASTEDNDWRAPPER_H