]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - tools/elftosb/common/Operation.cpp
merged tx6dl-devel into denx master branch
[karo-tx-uboot.git] / tools / elftosb / common / Operation.cpp
1 /*
2  * File:        Operation.cpp
3  *
4  * Copyright (c) Freescale Semiconductor, Inc. All rights reserved.
5  * See included license file for license details.
6  */
7
8 #include "Operation.h"
9
10 using namespace elftosb;
11
12 //! The operation object takes ownership of \a source.
13 //!
14 //! Cross references between the target and source are updated.
15 void LoadOperation::setSource(DataSource * source)
16 {
17         m_source = source;
18         
19         if (m_target)
20         {
21                 m_target->setSource(m_source);
22         }
23         if (m_source)
24         {
25                 m_source->setTarget(m_target);
26         }
27 }
28
29 //! The operation object takes ownership of \a target.
30 //!
31 //! Cross references between the target and source are updated.
32 void LoadOperation::setTarget(DataTarget * target)
33 {
34         m_target = target;
35         
36         if (m_target)
37         {
38                 m_target->setSource(m_source);
39         }
40         if (m_source)
41         {
42                 m_source->setTarget(m_target);
43         }
44 }
45
46 //! Disposes of operations objects in the sequence.
47 OperationSequence::~OperationSequence()
48 {
49 //      iterator_t it = begin();
50 //      for (; it != end(); ++it)
51 //      {
52 //              delete it->second;
53 //      }
54 }
55
56 void OperationSequence::append(const OperationSequence * other)
57 {
58         const_iterator_t it = other->begin();
59         for (; it != other->end(); ++it)
60         {
61                 m_operations.push_back(*it);
62         }
63 }