class Package;
+/**
+Copies a file to another place. Used by the Install target.
+*/
class Copy: public Action
{
public:
Copy(Builder &, const Package &, const Msp::Path::Path &, const Msp::Path::Path &);
int check();
+ ~Copy();
private:
+ /**
+ A worker thread that actually does the data transfer.
+ */
class Worker: public Msp::Thread
{
public:
- Worker(Copy &i): copy(i), done(false) { launch(); }
- bool get_done() const { return done; }
+ Worker(Copy &i): copy(i), done(false), error(false) { launch(); }
+ bool get_done() const { return done; }
bool get_error() const { return error; }
private:
Copy ©
Msp::Path::Path src;
Msp::Path::Path dest;
- Worker worker;
+ Worker *worker;
};
#endif