1aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo//
2aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// Copyright (C) 2013 The Android Open Source Project
3aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo//
4aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// Licensed under the Apache License, Version 2.0 (the "License");
5aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// you may not use this file except in compliance with the License.
6aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// You may obtain a copy of the License at
7aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo//
8aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo//      http://www.apache.org/licenses/LICENSE-2.0
9aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo//
10aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// Unless required by applicable law or agreed to in writing, software
11aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// distributed under the License is distributed on an "AS IS" BASIS,
12aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// See the License for the specific language governing permissions and
14aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo// limitations under the License.
15aea4c1cea20dda7ae7e85fc8924a2d784f70d806Alex Deymo//
16f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masone
1739910dcd1d68987ccee7c3031dc269233a8490bbAlex Deymo#include "update_engine/common/hwid_override.h"
18f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masone
19f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masone#include <map>
20f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masone#include <string>
21f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masone
2275039d7397f03dff77bdf4e26398049ff88edc4cAlex Vakulenko#include <base/files/file_path.h>
2306c76a49bfd29c8abdb8abd5b646a6583783191aBen Chan#include <base/files/file_util.h>
243f39d5cc753905874d8d93bef94f857b8808f19eAlex Vakulenko#include <brillo/key_value_store.h>
25f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masone
26f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masoneusing std::map;
27f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masoneusing std::string;
28f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masone
29f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masonenamespace chromeos_update_engine {
30f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masone
31f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masoneconst char HwidOverride::kHwidOverrideKey[] = "HWID_OVERRIDE";
32f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masone
33f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris MasoneHwidOverride::HwidOverride() {}
34f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masone
35f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris MasoneHwidOverride::~HwidOverride() {}
36f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masone
37f329b933db41d26644a97afef928eb1b319d6d99Alex Deymostring HwidOverride::Read(const base::FilePath& root) {
383f39d5cc753905874d8d93bef94f857b8808f19eAlex Vakulenko  brillo::KeyValueStore lsb_release;
392b4e2a5fba160365e9f9dca92d76c6e8a273ea88Alex Deymo  lsb_release.Load(base::FilePath(root.value() + "/etc/lsb-release"));
40a7658449213d3141ff11e4aee3531fa35ba0970dAlex Deymo  string result;
41a7658449213d3141ff11e4aee3531fa35ba0970dAlex Deymo  if (lsb_release.GetString(kHwidOverrideKey, &result))
42a7658449213d3141ff11e4aee3531fa35ba0970dAlex Deymo    return result;
43a7658449213d3141ff11e4aee3531fa35ba0970dAlex Deymo  return "";
44f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masone}
45f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masone
46f8d037f5c506770adbe874f0eefa1e5e5abf4140Chris Masone}  // namespace chromeos_update_engine
47