1ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved.
2ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// found in the LICENSE file.
4ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch
5ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#ifndef CHROME_BROWSER_SXS_LINUX_H_
6ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#define CHROME_BROWSER_SXS_LINUX_H_
7ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch
8ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#include "base/compiler_specific.h"
9ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch
10ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochnamespace base {
11ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochclass FilePath;
12ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch}
13ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch
14ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochnamespace sxs_linux {
15ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch
16ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// Records channel of the running browser in user data dir. This is needed
17ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// to support a seamless and automatic upgrade from non-side-by-side
18ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// to side-by-side Linux packages (the latter use different default data dirs).
19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Must be run on a blocking thread pool.
20ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochvoid AddChannelMarkToUserDataDir();
21ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch
2258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Returns true if user data dir migration has been requested.
2358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)bool ShouldMigrateUserDataDir() WARN_UNUSED_RESULT;
2458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
2558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Migrates user data dir to a side-by-side-compatible one.
2658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Returns exit code - caller should make the process exit with that code.
2758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)int MigrateUserDataDir() WARN_UNUSED_RESULT;
2858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
29ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch}  // namespace sxs_linux
30ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch
31ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#endif  // CHROME_BROWSER_SXS_LINUX_H_
32