| Index: chrome/browser/extensions/api/storage/settings_sync_processor.h
|
| ===================================================================
|
| --- chrome/browser/extensions/api/storage/settings_sync_processor.h (revision 176046)
|
| +++ chrome/browser/extensions/api/storage/settings_sync_processor.h (working copy)
|
| @@ -1,67 +0,0 @@
|
| -// 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.
|
| -
|
| -#ifndef CHROME_BROWSER_EXTENSIONS_API_STORAGE_SETTINGS_SYNC_PROCESSOR_H_
|
| -#define CHROME_BROWSER_EXTENSIONS_API_STORAGE_SETTINGS_SYNC_PROCESSOR_H_
|
| -
|
| -#include <set>
|
| -#include <string>
|
| -
|
| -#include "chrome/browser/value_store/value_store_change.h"
|
| -#include "sync/api/sync_error.h"
|
| -
|
| -namespace syncer {
|
| -class SyncChangeProcessor;
|
| -} // namespace syncer
|
| -
|
| -namespace extensions {
|
| -
|
| -// A wrapper for a SyncChangeProcessor that deals specifically with the syncing
|
| -// of a single extension's settings. Handles:
|
| -// - translating SettingChanges into calls into the Sync API.
|
| -// - deciding whether to ADD/REMOVE/SET depending on the current state of
|
| -// settings.
|
| -// - rate limiting (inherently per-extension, which is what we want).
|
| -class SettingsSyncProcessor {
|
| - public:
|
| - SettingsSyncProcessor(const std::string& extension_id,
|
| - syncer::ModelType type,
|
| - syncer::SyncChangeProcessor* sync_processor);
|
| - ~SettingsSyncProcessor();
|
| -
|
| - // Initializes this with the initial state of sync.
|
| - void Init(const DictionaryValue& initial_state);
|
| -
|
| - // Sends |changes| to sync.
|
| - syncer::SyncError SendChanges(const ValueStoreChangeList& changes);
|
| -
|
| - // Informs this that |changes| have been receieved from sync. No action will
|
| - // be taken, but this must be notified for internal bookkeeping.
|
| - void NotifyChanges(const ValueStoreChangeList& changes);
|
| -
|
| - syncer::ModelType type() { return type_; }
|
| -
|
| - private:
|
| - // ID of the extension the changes are for.
|
| - const std::string extension_id_;
|
| -
|
| - // Sync model type. Either EXTENSION_SETTING or APP_SETTING.
|
| - const syncer::ModelType type_;
|
| -
|
| - // The sync processor used to send changes to sync.
|
| - syncer::SyncChangeProcessor* const sync_processor_;
|
| -
|
| - // Whether Init() has been called.
|
| - bool initialized_;
|
| -
|
| - // Keys of the settings that are currently being synced. Used to decide what
|
| - // kind of action (ADD, UPDATE, REMOVE) to send to sync.
|
| - std::set<std::string> synced_keys_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(SettingsSyncProcessor);
|
| -};
|
| -
|
| -} // namespace extensions
|
| -
|
| -#endif // CHROME_BROWSER_EXTENSIONS_API_STORAGE_SETTINGS_SYNC_PROCESSOR_H_
|
|
|