1
/*********************************************************
2
* Copyright (C) 2007 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
*********************************************************/
22
* Rpc layer object for CopyPaste.
25
#ifndef COPY_PASTE_RPC_HH
26
#define COPY_PASTE_RPC_HH
28
#include <sigc++/connection.h>
29
#include "dndCPLibExport.hh"
36
class LIB_EXPORT CopyPasteRpc
40
virtual ~CopyPasteRpc(void) {};
42
/* sigc signals for CopyPaste source callback. */
43
sigc::signal<void, uint32, bool, const CPClipboard*> srcRecvClipChanged;
44
sigc::signal<void, uint32, const uint8 *, uint32> requestFilesChanged;
45
sigc::signal<void, uint32, bool, const uint8 *, uint32> getFilesDoneChanged;
47
/* sigc signal for CopyPaste destination callback. */
48
sigc::signal<void, uint32, bool> destRequestClipChanged;
50
/* sigc signal for ping reply callback. */
51
sigc::signal<void, uint32> pingReplyChanged;
53
/* sigc signal for rpc command reply received. */
54
sigc::signal<void, uint32, uint32> cmdReplyChanged;
56
virtual void Init(void) = 0;
57
virtual void SendPing(uint32 caps) = 0;
59
/* CopyPaste Rpc functions. */
60
virtual bool SrcRequestClip(uint32 sessionId,
62
virtual bool DestSendClip(uint32 sessionId,
64
const CPClipboard* clip) = 0;
65
virtual bool RequestFiles(uint32 sessionId,
66
const uint8 *stagingDirCP,
68
virtual bool SendFilesDone(uint32 sessionId,
70
const uint8 *stagingDirCP,
72
virtual bool GetFilesDone(uint32 sessionId,
76
#endif // COPY_PASTE_RPC_HH