| Index: sync/internal_api/write_node.h
|
| diff --git a/sync/internal_api/write_node.h b/sync/internal_api/write_node.h
|
| deleted file mode 100644
|
| index d297ac81e2d8c6722df96df747573e2624853571..0000000000000000000000000000000000000000
|
| --- a/sync/internal_api/write_node.h
|
| +++ /dev/null
|
| @@ -1,203 +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 SYNC_INTERNAL_API_WRITE_NODE_H_
|
| -#define SYNC_INTERNAL_API_WRITE_NODE_H_
|
| -#pragma once
|
| -
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/compiler_specific.h"
|
| -#include "sync/internal_api/base_node.h"
|
| -#include "sync/internal_api/public/syncable/model_type.h"
|
| -
|
| -namespace browser_sync {
|
| -class Cryptographer;
|
| -class TestBookmarkModelAssociator;
|
| -}
|
| -
|
| -namespace syncable {
|
| -class Entry;
|
| -class MutableEntry;
|
| -}
|
| -
|
| -namespace sync_pb {
|
| -class AppSpecifics;
|
| -class AutofillSpecifics;
|
| -class AutofillProfileSpecifics;
|
| -class BookmarkSpecifics;
|
| -class EntitySpecifics;
|
| -class ExtensionSpecifics;
|
| -class SessionSpecifics;
|
| -class NigoriSpecifics;
|
| -class PasswordSpecificsData;
|
| -class ThemeSpecifics;
|
| -class TypedUrlSpecifics;
|
| -}
|
| -
|
| -namespace sync_api {
|
| -
|
| -class WriteTransaction;
|
| -
|
| -// WriteNode extends BaseNode to add mutation, and wraps
|
| -// syncable::MutableEntry. A WriteTransaction is needed to create a WriteNode.
|
| -class WriteNode : public BaseNode {
|
| - public:
|
| - enum InitUniqueByCreationResult {
|
| - INIT_SUCCESS,
|
| - // The tag passed into this method was empty.
|
| - INIT_FAILED_EMPTY_TAG,
|
| - // An entry with this tag already exists.
|
| - INIT_FAILED_ENTRY_ALREADY_EXISTS,
|
| - // The constructor for a new MutableEntry with the specified data failed.
|
| - INIT_FAILED_COULD_NOT_CREATE_ENTRY,
|
| - // Setting the predecessor failed
|
| - INIT_FAILED_SET_PREDECESSOR,
|
| - };
|
| -
|
| - // Create a WriteNode using the given transaction.
|
| - explicit WriteNode(WriteTransaction* transaction);
|
| - virtual ~WriteNode();
|
| -
|
| - // A client must use one (and only one) of the following Init variants to
|
| - // populate the node.
|
| -
|
| - // BaseNode implementation.
|
| - virtual InitByLookupResult InitByIdLookup(int64 id) OVERRIDE;
|
| - virtual InitByLookupResult InitByClientTagLookup(
|
| - syncable::ModelType model_type,
|
| - const std::string& tag) OVERRIDE;
|
| -
|
| - // Create a new node with the specified parent and predecessor. |model_type|
|
| - // dictates the type of the item, and controls which EntitySpecifics proto
|
| - // extension can be used with this item. Use a NULL |predecessor|
|
| - // to indicate that this is to be the first child.
|
| - // |predecessor| must be a child of |new_parent| or NULL. Returns false on
|
| - // failure.
|
| - bool InitByCreation(syncable::ModelType model_type,
|
| - const BaseNode& parent,
|
| - const BaseNode* predecessor);
|
| -
|
| - // Create nodes using this function if they're unique items that
|
| - // you want to fetch using client_tag. Note that the behavior of these
|
| - // items is slightly different than that of normal items.
|
| - // Most importantly, if it exists locally, this function will
|
| - // actually undelete it
|
| - // Client unique tagged nodes must NOT be folders.
|
| - InitUniqueByCreationResult InitUniqueByCreation(
|
| - syncable::ModelType model_type,
|
| - const BaseNode& parent,
|
| - const std::string& client_tag);
|
| -
|
| - // Each server-created permanent node is tagged with a unique string.
|
| - // Look up the node with the particular tag. If it does not exist,
|
| - // return false.
|
| - InitByLookupResult InitByTagLookup(const std::string& tag);
|
| -
|
| - // These Set() functions correspond to the Get() functions of BaseNode.
|
| - void SetIsFolder(bool folder);
|
| - void SetTitle(const std::wstring& title);
|
| -
|
| - // External ID is a client-only field, so setting it doesn't cause the item to
|
| - // be synced again.
|
| - void SetExternalId(int64 external_id);
|
| -
|
| - // Remove this node and its children.
|
| - void Remove();
|
| -
|
| - // Set a new parent and position. Position is specified by |predecessor|; if
|
| - // it is NULL, the node is moved to the first position. |predecessor| must
|
| - // be a child of |new_parent| or NULL. Returns false on failure..
|
| - bool SetPosition(const BaseNode& new_parent, const BaseNode* predecessor);
|
| -
|
| - // Set the bookmark specifics (url and favicon).
|
| - // Should only be called if GetModelType() == BOOKMARK.
|
| - void SetBookmarkSpecifics(const sync_pb::BookmarkSpecifics& specifics);
|
| -
|
| - // Legacy, bookmark-specific setters that wrap SetBookmarkSpecifics() above.
|
| - // Should only be called if GetModelType() == BOOKMARK.
|
| - // TODO(ncarter): Remove these two datatype-specific accessors.
|
| - void SetURL(const GURL& url);
|
| - void SetFaviconBytes(const std::vector<unsigned char>& bytes);
|
| -
|
| - // Generic set specifics method. Will extract the model type from |specifics|.
|
| - void SetEntitySpecifics(const sync_pb::EntitySpecifics& specifics);
|
| -
|
| - // Resets the EntitySpecifics for this node based on the unencrypted data.
|
| - // Will encrypt if necessary.
|
| - void ResetFromSpecifics();
|
| -
|
| - // TODO(sync): Remove the setters below when the corresponding data
|
| - // types are ported to the new sync service API.
|
| -
|
| - // Set the app specifics (id, update url, enabled state, etc).
|
| - // Should only be called if GetModelType() == APPS.
|
| - void SetAppSpecifics(const sync_pb::AppSpecifics& specifics);
|
| -
|
| - // Set the autofill specifics (name and value).
|
| - // Should only be called if GetModelType() == AUTOFILL.
|
| - void SetAutofillSpecifics(const sync_pb::AutofillSpecifics& specifics);
|
| -
|
| - void SetAutofillProfileSpecifics(
|
| - const sync_pb::AutofillProfileSpecifics& specifics);
|
| -
|
| - // Set the nigori specifics.
|
| - // Should only be called if GetModelType() == NIGORI.
|
| - void SetNigoriSpecifics(const sync_pb::NigoriSpecifics& specifics);
|
| -
|
| - // Set the password specifics.
|
| - // Should only be called if GetModelType() == PASSWORD.
|
| - void SetPasswordSpecifics(const sync_pb::PasswordSpecificsData& specifics);
|
| -
|
| - // Set the theme specifics (name and value).
|
| - // Should only be called if GetModelType() == THEME.
|
| - void SetThemeSpecifics(const sync_pb::ThemeSpecifics& specifics);
|
| -
|
| - // Set the typed_url specifics (url, title, typed_count, etc).
|
| - // Should only be called if GetModelType() == TYPED_URLS.
|
| - void SetTypedUrlSpecifics(const sync_pb::TypedUrlSpecifics& specifics);
|
| -
|
| - // Set the extension specifics (id, update url, enabled state, etc).
|
| - // Should only be called if GetModelType() == EXTENSIONS.
|
| - void SetExtensionSpecifics(const sync_pb::ExtensionSpecifics& specifics);
|
| -
|
| - // Set the session specifics (windows, tabs, navigations etc.).
|
| - // Should only be called if GetModelType() == SESSIONS.
|
| - void SetSessionSpecifics(const sync_pb::SessionSpecifics& specifics);
|
| -
|
| - // Implementation of BaseNode's abstract virtual accessors.
|
| - virtual const syncable::Entry* GetEntry() const OVERRIDE;
|
| -
|
| - virtual const BaseTransaction* GetTransaction() const OVERRIDE;
|
| -
|
| - private:
|
| - friend class browser_sync::TestBookmarkModelAssociator;
|
| - FRIEND_TEST_ALL_PREFIXES(SyncManagerTest, EncryptBookmarksWithLegacyData);
|
| -
|
| - void* operator new(size_t size); // Node is meant for stack use only.
|
| -
|
| - // Helper to set model type. This will clear any specifics data.
|
| - void PutModelType(syncable::ModelType model_type);
|
| -
|
| - // Helper to set the previous node.
|
| - bool PutPredecessor(const BaseNode* predecessor) WARN_UNUSED_RESULT;
|
| -
|
| - // Sets IS_UNSYNCED and SYNCING to ensure this entry is considered in an
|
| - // upcoming commit pass.
|
| - void MarkForSyncing();
|
| -
|
| - // The underlying syncable object which this class wraps.
|
| - syncable::MutableEntry* entry_;
|
| -
|
| - // The sync API transaction that is the parent of this node.
|
| - WriteTransaction* transaction_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(WriteNode);
|
| -};
|
| -
|
| -} // namespace sync_api
|
| -
|
| -#endif // SYNC_INTERNAL_API_WRITE_NODE_H_
|
|
|