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. setSource(DataSource * source)15void 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. setTarget(DataTarget * target)32void 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. ~OperationSequence()47OperationSequence::~OperationSequence() 48 { 49 // iterator_t it = begin(); 50 // for (; it != end(); ++it) 51 // { 52 // delete it->second; 53 // } 54 } 55 append(const OperationSequence * other)56void 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 } 64