diff options
author | mathp@google.com <mathp@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-04 16:22:48 +0000 |
---|---|---|
committer | mathp@google.com <mathp@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-04 16:22:48 +0000 |
commit | 810b2508c40e960842d5b68200fb60164ac58d67 (patch) | |
tree | e7aa40e00366b44dd673b502ccfe406f8a13b25d /base/version.h | |
parent | 725f52207e1df3284b9ccbbefa01cfcf0773317a (diff) | |
download | chromium_src-810b2508c40e960842d5b68200fb60164ac58d67.zip chromium_src-810b2508c40e960842d5b68200fb60164ac58d67.tar.gz chromium_src-810b2508c40e960842d5b68200fb60164ac58d67.tar.bz2 |
Supporting wildcards in max/min version specifications in VariationsService.
Adds a method CompareToWildcardString that will return -1/0/1, similar to
CompareTo, when a version is smaller, equal to or greater than a wildcard
string such as "1.2.*". Added a method IsValidWildcardString that validates
the format of a wildcard string, and slightly refactored the Version class
to avoid code duplication. For example, CompareToWildcardString and CompareTo
share the new method CompareVersionComponents.
BUG=127077
TEST=See tests for VariationsService, Version
Review URL: https://chromiumcodereview.appspot.com/10576003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145468 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/version.h')
-rw-r--r-- | base/version.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/base/version.h b/base/version.h index b6029d3..8d45899 100644 --- a/base/version.h +++ b/base/version.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -30,6 +30,12 @@ class BASE_EXPORT Version { // Returns true if the object contains a valid version number. bool IsValid() const; + // Returns true if the version wildcard string is valid. The version wildcard + // string may end with ".*" (e.g. 1.2.*, 1.*). Any other arrangement with "*" + // is invalid (e.g. 1.*.3 or 1.2.3*). This functions defaults to standard + // Version behavior (IsValid) if no wildcard is present. + static bool IsValidWildcardString(const std::string& wildcard_string); + // Commonly used pattern. Given a valid version object, compare if a // |version_str| results in a newer version. Returns true if the // string represents valid version and if the version is greater than @@ -50,6 +56,12 @@ class BASE_EXPORT Version { // Returns -1, 0, 1 for <, ==, >. int CompareTo(const Version& other) const; + // Given a valid version object, compare if a |wildcard_string| results in a + // newer version. This function will default to CompareTo if the string does + // not end in wildcard sequence ".*". IsValidWildcard(wildcard_string) must be + // true before using this function. + int CompareToWildcardString(const std::string& wildcard_string) const; + // Return the string representation of this version. const std::string GetString() const; |