MCPcopy Create free account
hub / github.com/Kitware/CMake / ReadRequestVersion

Method ReadRequestVersion

Source/cmFileAPI.cxx:759–804  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

757}
758
759bool cmFileAPI::ReadRequestVersion(Json::Value const& version, bool inArray,
760 std::vector<RequestVersion>& result,
761 std::string& error)
762{
763 if (version.isUInt()) {
764 RequestVersion v;
765 v.Major = version.asUInt();
766 result.push_back(v);
767 return true;
768 }
769
770 if (!version.isObject()) {
771 if (inArray) {
772 error = "'version' array entry is not a non-negative integer or object";
773 } else {
774 error =
775 "'version' member is not a non-negative integer, object, or array";
776 }
777 return false;
778 }
779
780 Json::Value const& major = version["major"];
781 if (major.isNull()) {
782 error = "'version' object 'major' member missing";
783 return false;
784 }
785 if (!major.isUInt()) {
786 error = "'version' object 'major' member is not a non-negative integer";
787 return false;
788 }
789
790 RequestVersion v;
791 v.Major = major.asUInt();
792
793 Json::Value const& minor = version["minor"];
794 if (minor.isUInt()) {
795 v.Minor = minor.asUInt();
796 } else if (!minor.isNull()) {
797 error = "'version' object 'minor' member is not a non-negative integer";
798 return false;
799 }
800
801 result.push_back(v);
802
803 return true;
804}
805
806std::string cmFileAPI::NoSupportedVersion(
807 std::vector<RequestVersion> const& versions)

Callers

nothing calls this directly

Calls 5

isUIntMethod · 0.80
asUIntMethod · 0.80
push_backMethod · 0.80
isObjectMethod · 0.80
isNullMethod · 0.80

Tested by

no test coverage detected