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
* Translates filelists to different formats.
25
#ifndef DND_FILELIST_HH
26
#define DND_FILELIST_HH
32
#include "vm_basic_types.h"
33
#include "dndClipboard.h"
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);
51
/* Copy paste/dndV2 V2 rpc */
52
void SetRelPathsStr(const std::string inpath);
54
/* DnDFileTransfer & V2 RPC */
55
std::string GetRelPathsStr() const;
56
std::string GetFullPathsStr(bool local) const;
57
std::string GetUriPathsStr() const;
59
/* UI Local clipboard */
60
std::vector<std::string> GetRelPaths() const;
61
std::vector<CPFileAttributes> GetFileAttributes() const;
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);
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;
82
#endif // DND_FILELIST_HH