~ubuntu-branches/ubuntu/quantal/open-vm-tools/quantal-201210021442

« back to all changes in this revision

Viewing changes to services/plugins/dndcp/dnd/dndRpc.hh

  • 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) 2007 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
 * @dndRpc.hh --
 
21
 *
 
22
 * Rpc layer object for DnD.
 
23
 */
 
24
 
 
25
#ifndef DND_RPC_HH
 
26
#define DND_RPC_HH
 
27
 
 
28
#include <sigc++/connection.h>
 
29
#include "dndCPLibExport.hh"
 
30
#include "rpcBase.h"
 
31
 
 
32
extern "C" {
 
33
   #include "dnd.h"
 
34
}
 
35
 
 
36
class LIB_EXPORT DnDRpc
 
37
   : public RpcBase
 
38
{
 
39
public:
 
40
   virtual ~DnDRpc(void) {};
 
41
 
 
42
   /* sigc signals for DnD source callback. */
 
43
   sigc::signal<void, uint32, const CPClipboard *> srcDragBeginChanged;
 
44
   sigc::signal<void, uint32> srcCancelChanged;
 
45
   sigc::signal<void, uint32, uint32, uint32> srcDropChanged;
 
46
 
 
47
   /* sigc signals for DnD destination callback. */
 
48
   sigc::signal<void, uint32, int32> destDragEnterReplyChanged;
 
49
   sigc::signal<void, uint32> destPrivDragEnterChanged;
 
50
   sigc::signal<void, uint32, int32, int32> destPrivDragLeaveChanged;
 
51
   sigc::signal<void, uint32, int32, int32> destPrivDropChanged;
 
52
   sigc::signal<void, uint32, int32, int32> destDropChanged;
 
53
   sigc::signal<void, uint32> destCancelChanged;
 
54
 
 
55
   sigc::signal<void, uint32, int32, int32> moveMouseChanged;
 
56
   sigc::signal<void, uint32, uint32> updateFeedbackChanged;
 
57
   sigc::signal<void, uint32, int32, int32> queryExitingChanged;
 
58
   sigc::signal<void, uint32> dragNotPendingChanged;
 
59
   sigc::signal<void, uint32, bool, uint32> updateUnityDetWndChanged;
 
60
   sigc::signal<void, uint32, const uint8 *, uint32> requestFileChanged;
 
61
   sigc::signal<void, uint32, bool, const uint8 *, uint32> getFilesDoneChanged;
 
62
 
 
63
   /* sigc signal for responding to ping reply */
 
64
   sigc::signal<void, uint32> pingReplyChanged;
 
65
 
 
66
   /* sigc signal for rpc cmd reply received. */
 
67
   sigc::signal<void, uint32, uint32> cmdReplyChanged;
 
68
 
 
69
   /* DnD source. */
 
70
   virtual bool SrcDragBeginDone(uint32 sessionId) = 0;
 
71
   virtual bool SrcDrop(uint32 sessionId, int32 x, int32 y) = 0;
 
72
   virtual bool SrcDropDone(uint32 sessionId,
 
73
                            const uint8 *stagingDirCP,
 
74
                            uint32 sz) = 0;
 
75
 
 
76
   virtual bool SrcPrivDragEnter(uint32 sessionId) = 0;
 
77
   virtual bool SrcPrivDragLeave(uint32 sessionId, int32 x, int32 y) = 0;
 
78
   virtual bool SrcPrivDrop(uint32 sessionId, int32 x, int32 y) = 0;
 
79
   virtual bool SrcCancel(uint32 sessionId) = 0;
 
80
 
 
81
   /* DnD destination. */
 
82
   virtual bool DestDragEnter(uint32 sessionId,
 
83
                              const CPClipboard *clip) = 0;
 
84
   virtual bool DestSendClip(uint32 sessionId,
 
85
                             const CPClipboard *clip) = 0;
 
86
   virtual bool DestDragLeave(uint32 sessionId, int32 x, int32 y) = 0;
 
87
   virtual bool DestDrop(uint32 sessionId, int32 x, int32 y) = 0;
 
88
   virtual bool DestCancel(uint32 sessionId) = 0;
 
89
 
 
90
   /* Common. */
 
91
   virtual void Init(void) = 0;
 
92
   virtual void SendPing(uint32 caps) = 0;
 
93
   virtual bool UpdateFeedback(uint32 sessionId, DND_DROPEFFECT feedback) = 0;
 
94
   virtual bool MoveMouse(uint32 sessionId,
 
95
                          int32 x,
 
96
                          int32 y) = 0;
 
97
   virtual bool QueryExiting(uint32 sessionId, int32 x, int32 y) = 0;
 
98
   virtual bool DragNotPending(uint32 sessionId) = 0;
 
99
   virtual bool UpdateUnityDetWnd(uint32 sessionId,
 
100
                                  bool show,
 
101
                                  uint32 unityWndId) = 0;
 
102
   virtual bool RequestFiles(uint32 sessionId) = 0;
 
103
   virtual bool SendFilesDone(uint32 sessionId,
 
104
                              bool success,
 
105
                              const uint8 *stagingDirCP,
 
106
                              uint32 sz) = 0;
 
107
   virtual bool GetFilesDone(uint32 sessionId,
 
108
                             bool success) = 0;
 
109
};
 
110
 
 
111
#endif // DND_RPC_HH