Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(685)

Unified Diff: components/sync/engine_impl/loopback_server/loopback_server_entity.h

Issue 2360703002: [Sync] Implements the loopback sync server. (Closed)
Patch Set: Address comment. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/sync/engine_impl/loopback_server/loopback_server_entity.h
diff --git a/components/sync/test/fake_server/fake_server_entity.h b/components/sync/engine_impl/loopback_server/loopback_server_entity.h
similarity index 66%
copy from components/sync/test/fake_server/fake_server_entity.h
copy to components/sync/engine_impl/loopback_server/loopback_server_entity.h
index 1e0257979822b6ce063df56fa2303f8c5a993488..92b564e4bcf2901a519064da556c3f454e00029f 100644
--- a/components/sync/test/fake_server/fake_server_entity.h
+++ b/components/sync/engine_impl/loopback_server/loopback_server_entity.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef COMPONENTS_SYNC_TEST_FAKE_SERVER_FAKE_SERVER_ENTITY_H_
-#define COMPONENTS_SYNC_TEST_FAKE_SERVER_FAKE_SERVER_ENTITY_H_
+#ifndef COMPONENTS_SYNC_ENGINE_IMPL_LOOPBACK_SERVER_LOOPBACK_SERVER_ENTITY_H_
+#define COMPONENTS_SYNC_ENGINE_IMPL_LOOPBACK_SERVER_LOOPBACK_SERVER_ENTITY_H_
#include <stdint.h>
@@ -11,12 +11,13 @@
#include <string>
#include "components/sync/base/model_type.h"
+#include "components/sync/protocol/loopback_server.pb.h"
#include "components/sync/protocol/sync.pb.h"
-namespace fake_server {
+namespace syncer {
-// The representation of a Sync entity for the fake server.
-class FakeServerEntity {
+// The representation of a Sync entity for the loopback server.
+class LoopbackServerEntity {
public:
// Creates an ID of the form <type><separator><inner-id> where
// <type> is the EntitySpecifics field number for |model_type|, <separator>
@@ -30,12 +31,12 @@ class FakeServerEntity {
// Returns the ID string of the top level node for the specified type.
static std::string GetTopLevelId(const syncer::ModelType& model_type);
- virtual ~FakeServerEntity();
- const std::string& id() const { return id_; }
- const std::string& client_defined_unique_tag() const {
- return client_defined_unique_tag_;
- }
- syncer::ModelType model_type() const { return model_type_; }
+ static std::unique_ptr<LoopbackServerEntity> CreateEntityFromProto(
+ const sync_pb::LoopbackServerEntity& entity);
+
+ virtual ~LoopbackServerEntity();
+ const std::string& GetId() const;
+ syncer::ModelType GetModelType() const;
int64_t GetVersion() const;
void SetVersion(int64_t version);
const std::string& GetName() const;
@@ -44,25 +45,30 @@ class FakeServerEntity {
// Replaces |specifics_| with |updated_specifics|. This method is meant to be
// used to mimic a client commit.
void SetSpecifics(const sync_pb::EntitySpecifics& updated_specifics);
+ sync_pb::EntitySpecifics GetSpecifics() const;
// Common data items needed by server
virtual bool RequiresParentId() const = 0;
virtual std::string GetParentId() const = 0;
virtual void SerializeAsProto(sync_pb::SyncEntity* proto) const = 0;
+ virtual sync_pb::LoopbackServerEntity_Type GetLoopbackServerEntityType()
+ const;
virtual bool IsDeleted() const;
virtual bool IsFolder() const;
virtual bool IsPermanent() const;
+ virtual void SerializeAsLoopbackServerEntity(
+ sync_pb::LoopbackServerEntity* entity) const;
+
protected:
// Extracts the ModelType from |id|. If |id| is malformed or does not contain
// a valid ModelType, UNSPECIFIED is returned.
static syncer::ModelType GetModelTypeFromId(const std::string& id);
- FakeServerEntity(const std::string& id,
- const std::string& client_defined_unique_tag,
- const syncer::ModelType& model_type,
- int64_t version,
- const std::string& name);
+ LoopbackServerEntity(const std::string& id,
+ const syncer::ModelType& model_type,
+ int64_t version,
+ const std::string& name);
void SerializeBaseProtoFields(sync_pb::SyncEntity* sync_entity) const;
@@ -70,9 +76,6 @@ class FakeServerEntity {
// The entity's ID.
const std::string id_;
- // The tag for this entity. Can be empty for bookmarks or permanent entities.
- const std::string client_defined_unique_tag_;
-
// The ModelType that categorizes this entity.
const syncer::ModelType model_type_;
@@ -86,6 +89,6 @@ class FakeServerEntity {
sync_pb::EntitySpecifics specifics_;
};
-} // namespace fake_server
+} // namespace syncer
-#endif // COMPONENTS_SYNC_TEST_FAKE_SERVER_FAKE_SERVER_ENTITY_H_
+#endif // COMPONENTS_SYNC_ENGINE_IMPL_LOOPBACK_SERVER_LOOPBACK_SERVER_ENTITY_H_

Powered by Google App Engine
This is Rietveld 408576698