summaryrefslogtreecommitdiff
path: root/chrome/browser/sync/glue/sync_start_util.h
blob: 473091979593d02558e64c614ecee878bb65fc1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Copyright 2013 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.
//
// Various utilities for kicking off sync initialization from data types or
// other services.

#ifndef CHROME_BROWSER_SYNC_GLUE_SYNC_START_UTIL_H_
#define CHROME_BROWSER_SYNC_GLUE_SYNC_START_UTIL_H_

#include "sync/api/syncable_service.h"

namespace base {
class FilePath;
}

namespace sync_start_util {

// Creates a StartSyncFlare that a SyncableService can use to tell
// ProfileSyncService it needs sync to start ASAP.  Typically this would be
// given to the SyncableService on construction.
//
// The flare built by this function is designed to be Run()able from any thread
// so that non-UI types don't have to deal with posting tasks.
//
// |profile_path| is used to get a hold of the actual Profile* once the
// request to start sync is safely in UI Thread land.
syncer::SyncableService::StartSyncFlare GetFlareForSyncableService(
    const base::FilePath& profile_path);

}  // namespace sync_start_util

#endif  // CHROME_BROWSER_SYNC_GLUE_SYNC_START_UTIL_H_