]> git.tdb.fi Git - builder.git/blobdiff - source/copy.h
Add class InternalAction for actions that use a thread to do their work
[builder.git] / source / copy.h
index a25ea7105cdbfa6dfd7c14305eb1f9cd90f6c8b9..0a03ae6d2c12edb081b338b8820ae97623c81486 100644 (file)
@@ -10,40 +10,33 @@ Distributed under the LGPL
 
 #include <msp/core/thread.h>
 #include <msp/path/path.h>
-#include "action.h"
+#include "internalaction.h"
 
 class Package;
 
 /**
 Copies a file to another place.  Used by the Install target.
 */
-class Copy: public Action
+class Copy: public InternalAction
 {
 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
+       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 &copy;
-               bool done;
-               bool error;
 
                void main();
        };
 
        Msp::Path::Path src;
        Msp::Path::Path dest;
-       Worker *worker;
 };
 
 #endif