#ifndef COPY_H_
#define COPY_H_
-#include <msp/core/thread.h>
-#include <msp/fs/path.h>
-#include "internaltask.h"
#include "tool.h"
-class Install;
+class InstalledFile;
/**
-Copies a file to another place. Used by the Install target.
+Copies a file to another place. Used by the InstalledFile target.
*/
class Copy: public Tool
{
-private:
- /**
- A worker thread that actually does the data transfer.
- */
- class Worker: public InternalTask::Worker
- {
- private:
- const Install ⌖
-
- public:
- Worker(const Install &);
- private:
- virtual void main();
- };
-
public:
Copy(Builder &);
- virtual Target *create_target(const std::list<Target *> &, const std::string &) const;
- virtual Task *run(const Target &) const;
+ Target *create_target(const std::vector<Target *> &, const std::string &) override;
+
+private:
+ static bool _run(const InstalledFile &);
};
#endif