2 * BootImageGenerator.cpp
5 * Copyright (c) Freescale Semiconductor, Inc. All rights reserved.
6 * See included license file for license details.
9 #include "BootImageGenerator.h"
12 //! Name of product version option.
13 #define kProductVersionOption "productVersion"
15 //! Name of component version option.
16 #define kComponentVersionOption "componentVersion"
18 //! Name of option that specifies the drive tag for this .sb file.
19 #define kDriveTagOption "driveTag"
21 using namespace elftosb;
23 void BootImageGenerator::processVersionOptions(BootImage * image)
25 // bail if no option context was set
31 const StringValue * stringValue;
35 if (m_options->hasOption(kProductVersionOption))
37 stringValue = dynamic_cast<const StringValue *>(m_options->getOption(kProductVersionOption));
40 version.set(*stringValue);
41 image->setProductVersion(version);
45 Log::log(Logger::WARNING, "warning: productVersion option is an unexpected type\n");
50 if (m_options->hasOption(kComponentVersionOption))
52 stringValue = dynamic_cast<const StringValue *>(m_options->getOption(kComponentVersionOption));
55 version.set(*stringValue);
56 image->setComponentVersion(version);
60 Log::log(Logger::WARNING, "warning: componentVersion option is an unexpected type\n");
65 void BootImageGenerator::processDriveTagOption(BootImage * image)
67 if (m_options->hasOption(kDriveTagOption))
69 const IntegerValue * intValue = dynamic_cast<const IntegerValue *>(m_options->getOption(kDriveTagOption));
72 image->setDriveTag(intValue->getValue());
76 Log::log(Logger::WARNING, "warning: driveTag option is an unexpected type\n");