| 98 | } |
| 99 | |
| 100 | void |
| 101 | ValueSerialization::initForSave(const KnobIPtr & knob, |
| 102 | int dimension, |
| 103 | bool exprHasRetVar, |
| 104 | const std::string& expr) |
| 105 | { |
| 106 | _knob = knob; |
| 107 | _dimension = dimension; |
| 108 | _expression = expr; |
| 109 | _exprHasRetVar = exprHasRetVar; |
| 110 | |
| 111 | std::pair<int, KnobIPtr> m = knob->getMaster(dimension); |
| 112 | |
| 113 | if ( m.second && !knob->isMastersPersistenceIgnored() ) { |
| 114 | _master.masterDimension = m.first; |
| 115 | NamedKnobHolder* holder = dynamic_cast<NamedKnobHolder*>( m.second->getHolder() ); |
| 116 | assert(holder); |
| 117 | |
| 118 | TrackMarker* isMarker = dynamic_cast<TrackMarker*>(holder); |
| 119 | if (isMarker) { |
| 120 | _master.masterTrackName = isMarker->getScriptName_mt_safe(); |
| 121 | _master.masterNodeNameFull = isMarker->getContext()->getNode()->getFullyQualifiedName(); |
| 122 | _master.masterNodeName = isMarker->getContext()->getNode()->getScriptName_mt_safe(); |
| 123 | } else { |
| 124 | // coverity[dead_error_line] |
| 125 | _master.masterNodeNameFull = holder ? holder->getFullyQualifiedName() : ""; |
| 126 | _master.masterNodeName = holder ? holder->getScriptName_mt_safe() : ""; |
| 127 | } |
| 128 | _master.masterKnobName = m.second->getName(); |
| 129 | } else { |
| 130 | _master.masterDimension = -1; |
| 131 | } |
| 132 | |
| 133 | } |
| 134 | |
| 135 | void |
| 136 | ValueSerialization::setChoiceExtraLabel(const std::string& label) |
no test coverage detected