Lines Matching +full:auto +full:- +full:detects

20  * @return On success returns 0, otherwise returns -1.
39 * @param[in] i_mfgCleanConfirmFlag - Confirmation flag to perform manufacturing
41 * @param[in] i_syncBiosAttributesFlag - Flag which specifies whether
47 int doMfgClean(const auto& i_mfgCleanConfirmFlag,
48 const auto& i_syncBiosAttributesFlag)
50 if (i_mfgCleanConfirmFlag->empty())
52 constexpr auto MAX_CONFIRMATION_STR_LENGTH{3};
65 return l_vpdToolObj.cleanSystemVpd(!i_syncBiosAttributesFlag->empty());
71 * @param[in] i_hardwareFlag - Flag to perform write on hardware.
72 * @param[in] i_keywordValueOption - Option to read keyword value from command.
73 * @param[in] i_vpdPath - DBus object path or EEPROM path.
74 * @param[in] i_recordName - Record to be updated.
75 * @param[in] i_keywordName - Keyword to be updated.
76 * @param[in] i_keywordValue - Value to be updated in keyword.
80 int writeKeyword(const auto& i_hardwareFlag, const auto& i_keywordValueOption,
87 if (!i_hardwareFlag->empty() && !std::filesystem::exists(i_vpdPath, l_ec))
98 if (!i_keywordValueOption->empty() && i_keywordValue.empty())
101 << "Please provide keyword value.\nUse --value/--file to give "
102 "keyword value. Refer --help."
107 if (i_keywordValueOption->empty())
110 << "Please provide keyword value.\nUse --value/--file to give "
111 "keyword value. Refer --help."
118 i_keywordValue, !i_hardwareFlag->empty());
124 * @param[in] i_hardwareFlag - Flag to perform write on hardware.
125 * @param[in] i_vpdPath - DBus object path or EEPROM path.
126 * @param[in] i_recordName - Record to be updated.
127 * @param[in] i_keywordName - Keyword to be updated.
128 * @param[in] i_filePath - File path to save keyword's read value.
130 * @return On success return 0, otherwise return -1.
132 int readKeyword(const auto& i_hardwareFlag, const std::string& i_vpdPath,
138 if (!i_hardwareFlag->empty() && !std::filesystem::exists(i_vpdPath, l_ec))
153 bool l_isHardwareOperation = (!i_hardwareFlag->empty() ? true : false);
164 * with the option. This API based on option, detects those mandatory value(s).
166 * @param[in] i_objectOption - Option to pass object path.
167 * @param[in] i_vpdPath - Object path, DBus or EEPROM.
168 * @param[in] i_recordOption - Option to pass record name.
169 * @param[in] i_recordName - Record name.
170 * @param[in] i_keywordOption - Option to pass keyword name.
171 * @param[in] i_keywordName - Keyword name.
172 * @param[in] i_fileOption - Option to pass file path.
173 * @param[in] i_filePath - File path.
178 int checkOptionValuePair(const auto& i_objectOption, const auto& i_vpdPath,
179 const auto& i_recordOption, const auto& i_recordName,
180 const auto& i_keywordOption, const auto& i_keywordName,
181 const auto& i_fileOption, const auto& i_filePath)
183 if (!i_objectOption->empty() && i_vpdPath.empty())
189 if (!i_recordOption->empty() &&
197 if (!i_keywordOption->empty() &&
205 if (!i_fileOption->empty() && i_filePath.empty())
217 * @param[in] i_app - CLI::App object.
225 "vpd-tool -r -O <DBus Object Path> -R <Record Name> -K <Keyword Name>\n"
227 "vpd-tool -r -O <DBus Object Path> -R <Record Name> -K <Keyword Name> --file <File Path>\n"
229 "vpd-tool -r -H -O <EEPROM Path> -R <Record Name> -K <Keyword Name>\n"
231 "vpd-tool -r -H -O <EEPROM Path> -R <Record Name> -K <Keyword Name> --file <File Path>\n"
235 "vpd-tool -w/-u -O <DBus Object Path> -R <Record Name> -K <Keyword Name> -V <Keyword Value>\n"
237 " vpd-tool -w/-u -O <DBus Object Path> -R <Record Name> -K <Keyword Name> --file <File Path>\n"
239 "vpd-tool -w/-u -H -O <EEPROM Path> -R <Record Name> -K <Keyword Name> -V <Keyword Value>\n"
241 " vpd-tool -w/-u -H -O <EEPROM Path> -R <Record Name> -K <Keyword Name> --file <File Path>\n"
244 "vpd-tool -o -O <DBus Object Path>\n"
246 " vpd-tool --fixSystemVPD\n"
249 " vpd-tool --mfgClean\n"
251 " vpd-tool --mfgClean --syncBiosAttributes\n"
254 "vpd-tool -i\n"
256 "vpd-tool -i -t\n"
258 " vpd-tool --forceReset\n");
273 auto l_objectOption =
274 l_app.add_option("--object, -O", l_vpdPath, "File path");
275 auto l_recordOption =
276 l_app.add_option("--record, -R", l_recordName, "Record name");
277 auto l_keywordOption =
278 l_app.add_option("--keyword, -K", l_keywordName, "Keyword name");
280 auto l_fileOption = l_app.add_option(
281 "--file", l_filePath,
284 auto l_keywordValueOption =
285 l_app.add_option("--value, -V", l_keywordValue,
289 auto l_hardwareFlag =
290 l_app.add_flag("--Hardware, -H", "CAUTION: Developer only option.");
292 auto l_readFlag = l_app.add_flag("--readKeyword, -r", "Read keyword")
293 ->needs(l_objectOption)
294 ->needs(l_recordOption)
295 ->needs(l_keywordOption);
297 auto l_writeFlag =
300 "--writeKeyword, -w,--updateKeyword, -u",
302 ->needs(l_objectOption)
303 ->needs(l_recordOption)
304 ->needs(l_keywordOption);
308 auto l_dumpObjFlag =
310 .add_flag("--dumpObject, -o",
312 ->needs(l_objectOption);
314 auto l_fixSystemVpdFlag = l_app.add_flag(
315 "--fixSystemVPD",
317 auto l_dumpInventoryFlag =
318 l_app.add_flag("--dumpInventory, -i", "Dump all the inventory objects");
320 auto l_mfgCleanFlag = l_app.add_flag(
321 "--mfgClean", "Manufacturing clean on system VPD keyword");
323 auto l_mfgCleanConfirmFlag = l_app.add_flag(
324 "--yes", "Using this flag with --mfgClean option, assumes "
327 auto l_dumpInventoryTableFlag =
328 l_app.add_flag("--table, -t", "Dump inventory in table format");
330 auto l_mfgCleanSyncBiosAttributesFlag = l_app.add_flag(
331 "--syncBiosAttributes, -s",
332 "Using this flag with --mfgClean option, Syncs the BIOS attribute related keywords from BIOS Config Manager service instead resetting keyword's value to default value");
334 auto l_forceResetFlag = l_app.add_flag(
335 "--forceReset, -f, -F",
348 if (!l_readFlag->empty())
354 if (!l_writeFlag->empty())
356 if ((l_keywordValueOption->empty() && l_fileOption->empty()) ||
357 (!l_keywordValueOption->empty() && !l_fileOption->empty()))
360 << "Please provide keyword value.\nUse --value/--file to give "
361 "keyword value. Refer --help."
366 if (!l_fileOption->empty())
382 if (!l_dumpObjFlag->empty())
388 if (!l_fixSystemVpdFlag->empty())
394 if (!l_mfgCleanFlag->empty())
400 if (!l_dumpInventoryFlag->empty())
403 return l_vpdToolObj.dumpInventory(!l_dumpInventoryTableFlag->empty());
406 if (!l_forceResetFlag->empty())