+/* $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/path/path.h>
-#include "action.h"
+#include <msp/fs/path.h>
+#include "internalaction.h"
class Package;
-class Copy: public Action
+/**
+Copies a file to another place. Used by the Install target.
+*/
+class Copy: public InternalAction
{
-public:
- Copy(Builder &, const Package &, const Msp::Path::Path &, const Msp::Path::Path &);
- int check();
- ~Copy();
private:
- class Worker: public Msp::Thread
+ /**
+ A worker thread that actually does the data transfer.
+ */
+ class Worker: public InternalAction::Worker
{
public:
- Worker(Copy &i): copy(i), done(false), error(false) { launch(); }
- bool get_done() const { return done; }
- bool get_error() const { return error; }
+ Worker(Copy &);
private:
Copy ©
- bool done;
- bool error;
void main();
};
- Msp::Path::Path src;
- Msp::Path::Path dest;
- Worker *worker;
+ Msp::FS::Path src;
+ Msp::FS::Path dest;
+
+public:
+ Copy(Builder &, const Package &, const Msp::FS::Path &, const Msp::FS::Path &);
};
#endif