1 // Copyright 2021 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef COMPONENTS_ZUCCHINI_VERSION_INFO_H_
6 #define COMPONENTS_ZUCCHINI_VERSION_INFO_H_
7 
8 // This file serves as a stable location for main Zucchini version constants,
9 // whose names and types should also be stable. These allow external tools to
10 // determine Zucchini version at compile time by inclusion or parsing.
11 
12 namespace zucchini {
13 
14 // A change in major version indicates breaking changes such that a patch
15 // definitely cannot be applied by a zucchini binary whose major version doesn't
16 // match.
17 enum : uint16_t { kMajorVersion = 1 };
18 
19 // A change in minor version indicates possibly breaking changes at the element
20 // level, such that it may not be possible to apply a patch whose minor version
21 // doesn't match this version. To determine if a given patch may be applied with
22 // this version, VerifyPatch() should be called.
23 enum : uint16_t { kMinorVersion = 0 };
24 
25 // A empty or error value for major or minor version numbers.
26 enum : uint16_t { kInvalidVersion = 0xffff };
27 
28 }  // namespace zucchini
29 
30 #endif  // COMPONENTS_ZUCCHINI_VERSION_INFO_H_
31