DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
transfer_interface_abstract.hpp
Go to the documentation of this file.
1
9#ifndef SNBMODULES_INCLUDE_SNBMODULES_INTERFACES_TRANSFER_INTERFACE_ABSTRACT_HPP_
10#define SNBMODULES_INCLUDE_SNBMODULES_INTERFACES_TRANSFER_INTERFACE_ABSTRACT_HPP_
11
12#include "appfwk/cmd/Nljs.hpp"
16
17// errors handling
18#include "logging/Logging.hpp"
20
21#include <iostream>
22#include <set>
23
24namespace dunedaq::snbmodules {
26{
27
28public:
30 : m_config(config)
31 {
32 }
33 virtual ~TransferInterfaceAbstract() = default;
34
36
37 virtual bool upload_file(TransferMetadata& f_meta) = 0;
38 virtual bool download_file(TransferMetadata& f_meta, std::filesystem::path dest) = 0;
39 virtual bool pause_file(TransferMetadata& f_meta) = 0;
40 virtual bool resume_file(TransferMetadata& f_meta) = 0;
41 virtual bool hash_file(TransferMetadata& f_meta) = 0;
42 virtual bool cancel_file(TransferMetadata& f_meta) = 0;
43
44protected:
47};
48
52{
53
54public:
57 {
58 }
59
60 bool upload_file(TransferMetadata& f_meta) override
61 {
62 TLOG() << "Upload file " << f_meta.get_file_name();
63 return true;
64 }
65 bool download_file(TransferMetadata& f_meta, std::filesystem::path dest) override
66 {
67 (void)dest;
68 TLOG() << "Download file " << f_meta.get_file_name();
69 return true;
70 }
71 bool pause_file(TransferMetadata& f_meta) override
72 {
73 TLOG() << "Pause file " << f_meta.get_file_name();
74 return true;
75 }
76 bool resume_file(TransferMetadata& f_meta) override
77 {
78 TLOG() << "Resume file " << f_meta.get_file_name();
79 return true;
80 }
81 bool cancel_file(TransferMetadata& f_meta) override
82 {
83 TLOG() << "Cancel file " << f_meta.get_file_name();
84 return true;
85 }
86 bool hash_file(TransferMetadata& f_meta) override
87 {
88 TLOG() << "Hash file " << f_meta.get_file_name();
89 return true;
90 }
91};
92} // namespace dunedaq::snbmodules
93#endif // SNBMODULES_INCLUDE_SNBMODULES_INTERFACES_TRANSFER_INTERFACE_ABSTRACT_HPP_
virtual bool pause_file(TransferMetadata &f_meta)=0
virtual bool download_file(TransferMetadata &f_meta, std::filesystem::path dest)=0
virtual bool resume_file(TransferMetadata &f_meta)=0
virtual bool hash_file(TransferMetadata &f_meta)=0
virtual bool upload_file(TransferMetadata &f_meta)=0
virtual bool cancel_file(TransferMetadata &f_meta)=0
GroupMetadata & m_config
MetadataAbstract of the transfer, contain settings and status of the transfer.
Example of a transfer interface class. This class is used to test the session class.
bool download_file(TransferMetadata &f_meta, std::filesystem::path dest) override
bool pause_file(TransferMetadata &f_meta) override
bool hash_file(TransferMetadata &f_meta) override
bool resume_file(TransferMetadata &f_meta) override
bool upload_file(TransferMetadata &f_meta) override
bool cancel_file(TransferMetadata &f_meta) override
#define TLOG(...)
Definition macro.hpp:22