109 #ifndef CVMFS_UPLOAD_H_
110 #define CVMFS_UPLOAD_H_
142 class Spooler :
public Observable<SpoolerResult> {
144 static Spooler *Construct(
const SpoolerDefinition &spooler_definition,
152 std::string backend_name()
const;
170 void Upload(
const std::string &local_path,
const std::string &remote_path);
182 void UploadManifest(
const std::string &local_path);
189 void UploadReflog(
const std::string &local_path);
208 void Process(
IngestionSource *source,
const bool allow_chunking =
true);
216 void ProcessCatalog(
const std::string &local_path);
224 void ProcessHistory(
const std::string &local_path);
232 void ProcessCertificate(
const std::string &local_path);
243 void ProcessMetainfo(
const std::string &local_path);
257 void RemoveAsync(
const std::string &file_to_delete);
265 bool Peek(
const std::string &path)
const;
274 bool Mkdir(
const std::string &path);
284 bool PlaceBootstrappingShortcut(
const shash::Any &
object)
const;
293 void WaitForUpload()
const;
295 bool FinalizeSession(
bool commit,
const std::string &old_root_hash =
"",
296 const std::string &new_root_hash =
"",
304 unsigned int GetNumberOfErrors()
const;
307 return spooler_definition_.hash_algorithm;
311 return spooler_definition_.driver_type;
325 explicit Spooler(
const SpoolerDefinition &spooler_definition);
331 void ProcessingCallback(
const SpoolerResult &data);
333 void UploadingCallback(
const UploaderResults &data);
339 inline const SpoolerDefinition &spooler_definition()
const {
340 return spooler_definition_;
345 const SpoolerDefinition spooler_definition_;
353 #endif // CVMFS_UPLOAD_H_
static Publisher * Create(const SettingsPublisher &settings)
static bool Peek(const string &remote_path)