CernVM-FS  2.13.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
task_register.h
Go to the documentation of this file.
1 
5 #ifndef CVMFS_INGESTION_TASK_REGISTER_H_
6 #define CVMFS_INGESTION_TASK_REGISTER_H_
7 
8 #include "ingestion/item.h"
9 #include "ingestion/task.h"
10 #include "upload_spooler_result.h"
11 #include "util/concurrency.h"
12 #include "util/tube.h"
13 
19 class TaskRegister : public TubeConsumer<FileItem>,
20  public Observable<upload::SpoolerResult> {
21  public:
23  Tube<FileItem> *tube_ctr_inflight_pre,
24  Tube<FileItem> *tube_ctr_inflight_post)
25  : TubeConsumer<FileItem>(tube_in)
26  , tube_ctr_inflight_pre_(tube_ctr_inflight_pre)
27  , tube_ctr_inflight_post_(tube_ctr_inflight_post) { }
28 
29  protected:
30  virtual void Process(FileItem *file_item);
31 
32  private:
35 }; // class TaskRegister
36 
37 #endif // CVMFS_INGESTION_TASK_REGISTER_H_
TaskRegister(Tube< FileItem > *tube_in, Tube< FileItem > *tube_ctr_inflight_pre, Tube< FileItem > *tube_ctr_inflight_post)
Definition: task_register.h:22
Tube< FileItem > * tube_ctr_inflight_post_
Definition: task_register.h:34
Tube< FileItem > * tube_ctr_inflight_pre_
Definition: task_register.h:33
virtual void Process(FileItem *file_item)
Definition: item.h:34