| 127 | } |
| 128 | |
| 129 | boost::optional<IddObject> IddFileAndFactoryWrapper::getObject(const std::string& objectName) const { |
| 130 | OptionalIddObject result; |
| 131 | |
| 132 | if (m_iddFile) { |
| 133 | result = m_iddFile->getObject(objectName); |
| 134 | } else if (m_iddFileType) { |
| 135 | OptionalIddObject candidate = IddFactory::instance().getObject(objectName); |
| 136 | if (candidate) { |
| 137 | if (isInFile(candidate->type())) { |
| 138 | result = candidate; |
| 139 | } |
| 140 | } |
| 141 | } else { |
| 142 | LOG_AND_THROW("Invalid IddFactoryWrapper has no IddFile set."); |
| 143 | } |
| 144 | |
| 145 | return result; |
| 146 | } |
| 147 | |
| 148 | boost::optional<IddObject> IddFileAndFactoryWrapper::getObject(IddObjectType objectType) const { |
| 149 | |