OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef SYNC_TEST_FAKE_SERVER_UNIQUE_CLIENT_ENTITY_H_ | 5 #ifndef SYNC_TEST_FAKE_SERVER_UNIQUE_CLIENT_ENTITY_H_ |
6 #define SYNC_TEST_FAKE_SERVER_UNIQUE_CLIENT_ENTITY_H_ | 6 #define SYNC_TEST_FAKE_SERVER_UNIQUE_CLIENT_ENTITY_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "sync/internal_api/public/base/model_type.h" | 11 #include "sync/internal_api/public/base/model_type.h" |
12 #include "sync/protocol/sync.pb.h" | 12 #include "sync/protocol/sync.pb.h" |
13 #include "sync/test/fake_server/fake_server_entity.h" | 13 #include "sync/test/fake_server/fake_server_entity.h" |
14 | 14 |
15 namespace fake_server { | 15 namespace fake_server { |
16 | 16 |
17 // An entity that is unique per client account. | 17 // An entity that is unique per client account. |
18 class UniqueClientEntity : public FakeServerEntity { | 18 class UniqueClientEntity : public FakeServerEntity { |
19 public: | 19 public: |
20 virtual ~UniqueClientEntity(); | 20 virtual ~UniqueClientEntity(); |
21 | 21 |
22 // Factory function for UniqueClientEntity. | 22 // Factory function for creating a UniqueClientEntity. |
23 static FakeServerEntity* CreateNew(const sync_pb::SyncEntity& client_entity); | 23 static FakeServerEntity* Create(const sync_pb::SyncEntity& client_entity); |
24 | 24 |
25 // Factory function for creating a new version of an existing | 25 // Derives an ID from a unique client tagged entity. |
26 // UniqueClientEntity. | 26 static std::string EffectiveIdForClientTaggedEntity( |
27 static FakeServerEntity* CreateUpdatedVersion( | 27 const sync_pb::SyncEntity& entity); |
28 const sync_pb::SyncEntity& client_entity, | |
29 FakeServerEntity* current_server_entity); | |
30 | 28 |
31 // FakeServerEntity implementation. | 29 // FakeServerEntity implementation. |
32 virtual std::string GetParentId() const OVERRIDE; | 30 virtual std::string GetParentId() const OVERRIDE; |
33 virtual sync_pb::SyncEntity* SerializeAsProto() OVERRIDE; | 31 virtual sync_pb::SyncEntity* SerializeAsProto() OVERRIDE; |
34 virtual bool IsDeleted() const OVERRIDE; | 32 virtual bool IsDeleted() const OVERRIDE; |
35 virtual bool IsFolder() const OVERRIDE; | 33 virtual bool IsFolder() const OVERRIDE; |
36 | 34 |
37 private: | 35 private: |
38 UniqueClientEntity(const std::string& id, | 36 UniqueClientEntity(const std::string& id, |
39 const syncer::ModelType& model_type, | 37 const syncer::ModelType& model_type, |
40 int64 version, | 38 int64 version, |
41 const std::string& name, | 39 const std::string& name, |
42 const std::string& client_defined_unique_tag, | 40 const std::string& client_defined_unique_tag, |
43 const sync_pb::EntitySpecifics& specifics, | 41 const sync_pb::EntitySpecifics& specifics, |
44 int64 creation_time, | 42 int64 creation_time, |
45 int64 last_modified_time); | 43 int64 last_modified_time); |
46 | 44 |
47 // These member values have equivalent fields in SyncEntity. | 45 // These member values have equivalent fields in SyncEntity. |
48 std::string client_defined_unique_tag_; | 46 std::string client_defined_unique_tag_; |
49 sync_pb::EntitySpecifics specifics_; | 47 sync_pb::EntitySpecifics specifics_; |
50 int64 creation_time_; | 48 int64 creation_time_; |
51 int64 last_modified_time_; | 49 int64 last_modified_time_; |
52 }; | 50 }; |
53 | 51 |
54 } // namespace fake_server | 52 } // namespace fake_server |
55 | 53 |
56 #endif // SYNC_TEST_FAKE_SERVER_UNIQUE_CLIENT_ENTITY_H_ | 54 #endif // SYNC_TEST_FAKE_SERVER_UNIQUE_CLIENT_ENTITY_H_ |
OLD | NEW |