-/* $Id$
-
-This file is part of builder
-Copyright © 2006-2009 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#ifndef COPY_H_
#define COPY_H_
#include <msp/core/thread.h>
#include <msp/fs/path.h>
-#include "internalaction.h"
+#include "internaltask.h"
+#include "tool.h"
-class Package;
+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 InternalAction
+class Copy: public Tool
{
private:
/**
A worker thread that actually does the data transfer.
*/
- class Worker: public InternalAction::Worker
+ class Worker: public InternalTask::Worker
{
- public:
- Worker(Copy &);
private:
- Copy ©
+ const InstalledFile ⌖
- void main();
+ public:
+ Worker(const InstalledFile &);
+ private:
+ virtual void main();
};
- Msp::FS::Path src;
- Msp::FS::Path dest;
-
public:
- Copy(Builder &, const Package &, const Msp::FS::Path &, const Msp::FS::Path &);
+ Copy(Builder &);
+
+ virtual Target *create_target(const std::list<Target *> &, const std::string &);
+ virtual Task *run(const Target &) const;
};
#endif