Remote Call Framework 3.2
FileTransferInterface.hpp
1 
2 //******************************************************************************
3 // RCF - Remote Call Framework
4 //
5 // Copyright (c) 2005 - 2020, Delta V Software. All rights reserved.
6 // http://www.deltavsoft.com
7 //
8 // RCF is distributed under dual licenses - closed source or GPL.
9 // Consult your particular license for conditions of use.
10 //
11 // If you have not purchased a commercial license, you are using RCF
12 // under GPL terms.
13 //
14 // Version: 3.2
15 // Contact: support <at> deltavsoft.com
16 //
17 //******************************************************************************
18 
19 #ifndef INCLUDE_RCF_FILETRANSFERINTERFACE_HPP
20 #define INCLUDE_RCF_FILETRANSFERINTERFACE_HPP
21 
22 #include <RCF/Idl.hpp>
23 
24 #include <cstdint>
25 
26 namespace RCF {
27 
28  //--------------------------------------------------------------------------
29  // I_FileTransferService
30 
31  RCF_BEGIN(I_FileTransferService, "I_FileTransferService")
32 
33  RCF_METHOD_V7(
34  void,
35  BeginUpload,
36  const FileManifest &, // upload manifest
37  const std::vector<FileChunk> &, // optional first chunks
38  FileChunk &, // where to start uploading
39  std::uint32_t &, // max message length
40  std::string &, // upload id
41  std::uint32_t &, // bps
42  std::uint32_t) // session local id
43 
44  RCF_METHOD_V2(
45  void,
46  UploadChunks,
47  const std::vector<FileChunk> &, // file chunks to upload
48  std::uint32_t &) // bps
49 
50  RCF_METHOD_V7(
51  void,
52  BeginDownload,
53  FileManifest &, // download manifest
54  const FileTransferRequest &, // transfer request
55  std::vector<FileChunk> &, // optional first chunks
56  std::uint32_t &, // max message length
57  std::uint32_t &, // bps
58  std::uint32_t, // session local id
59  const std::string &) // server download id
60 
61  RCF_METHOD_V1(
62  void,
63  TrimDownload,
64  const FileChunk &) // where to start downloading
65 
66  RCF_METHOD_V4(
67  void,
68  DownloadChunks,
69  const FileTransferRequest &, // transfer request
70  std::vector<FileChunk> &, // file chunks to download
71  std::uint32_t &, // advised wait for next call
72  std::uint32_t &) // bps
73 
74  RCF_END(I_FileTransferService)
75 
76 } // namespace RCF
77 
78 #endif // ! INCLUDE_RCF_FILETRANSFERINTERFACE_HPP
79 
Definition: AmiIoHandler.hpp:24