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

« back to all changes in this revision

Viewing changes to services/plugins/dndcp/dndGuest/copyPasteRpcV3.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
 * @file copyPasteRpcV3.hh --
 
21
 *
 
22
 * Rpc layer object for CopyPaste version 3.
 
23
 */
 
24
 
 
25
#ifndef COPY_PASTE_RPC_V3_HH
 
26
#define COPY_PASTE_RPC_V3_HH
 
27
 
 
28
#include <sigc++/trackable.h>
 
29
#include "copyPasteRpc.hh"
 
30
#include "dndCPTransport.h"
 
31
#include "rpcV3Util.hpp"
 
32
 
 
33
extern "C" {
 
34
#include "vmware/tools/guestrpc.h"
 
35
   #include "dnd.h"
 
36
   #include "dndMsg.h"
 
37
}
 
38
 
 
39
class CopyPasteRpcV3
 
40
   : public CopyPasteRpc,
 
41
     public sigc::trackable
 
42
{
 
43
public:
 
44
   CopyPasteRpcV3(DnDCPTransport *transport);
 
45
   virtual ~CopyPasteRpcV3(void);
 
46
 
 
47
   virtual void Init(void);
 
48
   virtual void SendPing(uint32 caps);
 
49
 
 
50
   /* CopyPaste Rpc functions. */
 
51
   virtual bool SrcRequestClip(uint32 sessionId,
 
52
                               bool isActive);
 
53
   virtual bool DestSendClip(uint32 sessionId,
 
54
                             bool isActive,
 
55
                             const CPClipboard* clip);
 
56
   virtual bool RequestFiles(uint32 sessionId,
 
57
                             const uint8 *stagingDirCP,
 
58
                             uint32 sz);
 
59
   virtual bool SendFilesDone(uint32 sessionId,
 
60
                              bool success,
 
61
                              const uint8 *stagingDirCP,
 
62
                              uint32 sz);
 
63
   virtual bool GetFilesDone(uint32 sessionId,
 
64
                             bool success);
 
65
   virtual void HandleMsg(RpcParams *params,
 
66
                          const uint8 *binary,
 
67
                          uint32 binarySize);
 
68
   virtual bool SendPacket(uint32 destId,
 
69
                           const uint8 *packet,
 
70
                           size_t length);
 
71
   virtual void OnRecvPacket(uint32 srcId,
 
72
                             const uint8 *packet,
 
73
                             size_t packetSize);
 
74
 
 
75
private:
 
76
   DnDCPTransport *mTransport;
 
77
   TransportInterfaceType mTransportInterface;
 
78
   RpcV3Util mUtil;
 
79
};
 
80
 
 
81
#endif // COPY_PASTE_RPC_V3_HH