aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/perform.cpp11
-rw-r--r--src/perform.h4
-rw-r--r--src/performcommand.cpp8
-rw-r--r--src/performcommand.h2
4 files changed, 25 insertions, 0 deletions
diff --git a/src/perform.cpp b/src/perform.cpp
index 4e4a78e..20ad51a 100644
--- a/src/perform.cpp
+++ b/src/perform.cpp
@@ -1,4 +1,5 @@
1#include "perform.h" 1#include "perform.h"
2#include "build.h"
2 3
3Perform::Perform() 4Perform::Perform()
4{ 5{
@@ -13,3 +14,13 @@ void Perform::addParam( const char *sParam )
13 lParam.push_back( sParam ); 14 lParam.push_back( sParam );
14} 15}
15 16
17void Perform::copyData( Perform *pSrc, Build &bld, const std::string &cont )
18{
19 lParam.clear();
20 for( std::list<std::string>::iterator i = pSrc->lParam.begin();
21 i != pSrc->lParam.end(); i++ )
22 {
23 lParam.push_back( bld.replVars( *i, cont ) );
24 }
25}
26
diff --git a/src/perform.h b/src/perform.h
index 020af42..5a961e2 100644
--- a/src/perform.h
+++ b/src/perform.h
@@ -5,6 +5,8 @@
5#include <list> 5#include <list>
6#include <string> 6#include <string>
7 7
8class Build;
9
8class Perform 10class Perform
9{ 11{
10public: 12public:
@@ -12,6 +14,8 @@ public:
12 virtual ~Perform(); 14 virtual ~Perform();
13 15
14 void addParam( const char *sParam ); 16 void addParam( const char *sParam );
17 virtual Perform *duplicate( Build &bld, const std::string &cont ) = 0;
18 void copyData( Perform *pSrc, Build &bld, const std::string &cont );
15 19
16private: 20private:
17 std::list<std::string> lParam; 21 std::list<std::string> lParam;
diff --git a/src/performcommand.cpp b/src/performcommand.cpp
index 7c7dd42..7505061 100644
--- a/src/performcommand.cpp
+++ b/src/performcommand.cpp
@@ -10,3 +10,11 @@ PerformCommand::PerformCommand()
10PerformCommand::~PerformCommand() 10PerformCommand::~PerformCommand()
11{ 11{
12} 12}
13
14Perform *PerformCommand::duplicate( Build &bld, const std::string &cont )
15{
16 Perform *pRet = new PerformCommand();
17 pRet->copyData( this, bld, cont );
18 return pRet;
19}
20
diff --git a/src/performcommand.h b/src/performcommand.h
index 219ae28..b6f7f11 100644
--- a/src/performcommand.h
+++ b/src/performcommand.h
@@ -11,6 +11,8 @@ public:
11 PerformCommand(); 11 PerformCommand();
12 virtual ~PerformCommand(); 12 virtual ~PerformCommand();
13 13
14 virtual Perform *duplicate( Build &bld, const std::string &cont );
15
14private: 16private:
15 17
16}; 18};