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