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

« back to all changes in this revision

Viewing changes to services/plugins/dndcp/dndGuest/dndFileList.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
 * dndFileList.hh
 
21
 *
 
22
 *      Translates filelists to different formats.
 
23
 */
 
24
 
 
25
#ifndef DND_FILELIST_HH
 
26
#define DND_FILELIST_HH
 
27
 
 
28
#include <string>
 
29
#include <vector>
 
30
 
 
31
extern "C" {
 
32
#include "vm_basic_types.h"
 
33
#include "dndClipboard.h"
 
34
#include "dynbuf.h"
 
35
}
 
36
 
 
37
class DnDFileList {
 
38
   public:
 
39
      DnDFileList();
 
40
      ~DnDFileList() {};
 
41
 
 
42
      void SetFileSize(uint64 fsize);
 
43
      uint64 GetFileSize() const;
 
44
      void AddFile(const std::string fullPath,
 
45
                   const std::string relPath);
 
46
      void AddFileUri(const std::string uriPath);
 
47
      void AddFiles(const std::vector<std::string> fullPathList,
 
48
                    const std::vector<std::string> relPathList);
 
49
      void AddFileAttributes(const CPFileAttributes& attributes);
 
50
 
 
51
      /* Copy paste/dndV2 V2 rpc */
 
52
      void SetRelPathsStr(const std::string inpath);
 
53
 
 
54
      /* DnDFileTransfer & V2 RPC */
 
55
      std::string GetRelPathsStr() const;
 
56
      std::string GetFullPathsStr(bool local) const;
 
57
      std::string GetUriPathsStr() const;
 
58
 
 
59
      /* UI Local clipboard */
 
60
      std::vector<std::string> GetRelPaths() const;
 
61
      std::vector<CPFileAttributes> GetFileAttributes() const;
 
62
 
 
63
      /* CPClipboard */
 
64
      bool ToCPClipboard(DynBuf *out, bool local) const;
 
65
      bool ToUriClipboard(DynBuf *out) const;
 
66
      bool AttributesToCPClipboard(DynBuf *out) const;
 
67
      bool FromCPClipboard(const void *buf, size_t len);
 
68
      bool AttributesFromCPClipboard(const void *buf, size_t len);
 
69
 
 
70
      void Clear();
 
71
 
 
72
   private:
 
73
 
 
74
      std::vector<std::string> mRelPaths;
 
75
      std::vector<std::string> mFullPaths;
 
76
      std::vector<std::string> mUriPaths;
 
77
      std::vector<CPFileAttributes> mAttributeList;
 
78
      std::string mFullPathsBinary;
 
79
      uint64 mFileSize;
 
80
};
 
81
 
 
82
#endif // DND_FILELIST_HH