]> git.tdb.fi Git - builder.git/blob - source/tar.h
d0240d93bf315c71b0b1536dd38e07ea16352d00
[builder.git] / source / tar.h
1 #ifndef TAR_H_
2 #define TAR_H_
3
4 #include <msp/core/thread.h>
5 #include "internaltask.h"
6 #include "tool.h"
7
8 class TarBall;
9
10 class Tar: public Tool
11 {
12 private:
13         class Worker: public InternalTask::Worker
14         {
15         private:
16                 const TarBall &tarball;
17
18         public:
19                 Worker(const TarBall &);
20
21         private:
22                 void main() override;
23                 void store_number(char *, unsigned, unsigned);
24         };
25
26 public:
27         Tar(Builder &);
28
29         Target *create_target(const std::vector<Target *> &, const std::string &) override;
30         Task *run(const Target &) const override;
31 };
32
33 #endif