Index: sync/syncable/entry_kernel.h |
diff --git a/sync/syncable/entry_kernel.h b/sync/syncable/entry_kernel.h |
index 77ad87ddbc5f238981d694f354da0d3884392a55..b9c01e21a3fa2e113fdc05c3bc16737c932a7838 100644 |
--- a/sync/syncable/entry_kernel.h |
+++ b/sync/syncable/entry_kernel.h |
@@ -8,7 +8,7 @@ |
#include "base/time.h" |
#include "base/values.h" |
#include "sync/internal_api/public/base/model_type.h" |
-#include "sync/internal_api/public/base/node_ordinal.h" |
+#include "sync/internal_api/public/base/unique_position.h" |
#include "sync/internal_api/public/util/immutable.h" |
#include "sync/protocol/sync.pb.h" |
#include "sync/syncable/metahandle_set.h" |
@@ -80,9 +80,6 @@ enum IdField { |
ID = ID_FIELDS_BEGIN, |
PARENT_ID, |
SERVER_PARENT_ID, |
- |
- PREV_ID, |
- NEXT_ID, |
ID_FIELDS_END |
}; |
@@ -143,21 +140,32 @@ enum ProtoField { |
enum { |
PROTO_FIELDS_COUNT = PROTO_FIELDS_END - PROTO_FIELDS_BEGIN, |
- ORDINAL_FIELDS_BEGIN = PROTO_FIELDS_END |
+ UNIQUE_POSITION_FIELDS_BEGIN = PROTO_FIELDS_END |
+}; |
+ |
+enum UniquePositionField { |
+ SERVER_UNIQUE_POSITION = UNIQUE_POSITION_FIELDS_BEGIN, |
+ UNIQUE_POSITION, |
+ UNIQUE_POSITION_FIELDS_END |
+}; |
+ |
+enum { |
+ UNIQUE_POSITION_FIELDS_COUNT = |
+ UNIQUE_POSITION_FIELDS_END - UNIQUE_POSITION_FIELDS_BEGIN, |
+ BYTES_FIELDS_BEGIN = UNIQUE_POSITION_FIELDS_END |
}; |
-enum OrdinalField { |
- // An Ordinal that identifies the relative ordering of this object |
- // among its siblings. |
- SERVER_ORDINAL_IN_PARENT = ORDINAL_FIELDS_BEGIN, |
- ORDINAL_FIELDS_END |
+enum BytesField { |
+ // A unique tag for bookmarks. |
+ UNIQUE_BOOKMARK_TAG = BYTES_FIELDS_BEGIN, |
+ BYTES_FIELDS_END |
}; |
enum { |
- ORDINAL_FIELDS_COUNT = ORDINAL_FIELDS_END - ORDINAL_FIELDS_BEGIN, |
- FIELD_COUNT = ORDINAL_FIELDS_END - BEGIN_FIELDS, |
+ BYTES_FIELDS_COUNT = BYTES_FIELDS_END - BYTES_FIELDS_BEGIN, |
+ FIELD_COUNT = BYTES_FIELDS_END - BEGIN_FIELDS, |
// Past this point we have temporaries, stored in memory only. |
- BEGIN_TEMPS = ORDINAL_FIELDS_END, |
+ BEGIN_TEMPS = BYTES_FIELDS_END, |
BIT_TEMPS_BEGIN = BEGIN_TEMPS, |
}; |
@@ -181,7 +189,8 @@ struct EntryKernel { |
int64 int64_fields[INT64_FIELDS_COUNT]; |
base::Time time_fields[TIME_FIELDS_COUNT]; |
Id id_fields[ID_FIELDS_COUNT]; |
- NodeOrdinal ordinal_fields[ORDINAL_FIELDS_COUNT]; |
+ std::string bytes_fields[BYTES_FIELDS_COUNT]; |
+ UniquePosition unique_position_fields[UNIQUE_POSITION_FIELDS_COUNT]; |
std::bitset<BIT_FIELDS_COUNT> bit_fields; |
std::bitset<BIT_TEMPS_COUNT> bit_temps; |
@@ -249,8 +258,11 @@ struct EntryKernel { |
inline void put(ProtoField field, const sync_pb::EntitySpecifics& value) { |
specifics_fields[field - PROTO_FIELDS_BEGIN].CopyFrom(value); |
} |
- inline void put(OrdinalField field, const NodeOrdinal& value) { |
- ordinal_fields[field - ORDINAL_FIELDS_BEGIN] = value; |
+ inline void put(UniquePositionField field, const UniquePosition& value) { |
+ unique_position_fields[field - UNIQUE_POSITION_FIELDS_BEGIN] = value; |
+ } |
+ inline void put(BytesField field, const std::string& value) { |
+ bytes_fields[field - BYTES_FIELDS_BEGIN] = value; |
} |
inline void put(BitTemp field, bool value) { |
bit_temps[field - BIT_TEMPS_BEGIN] = value; |
@@ -287,8 +299,11 @@ struct EntryKernel { |
inline const sync_pb::EntitySpecifics& ref(ProtoField field) const { |
return specifics_fields[field - PROTO_FIELDS_BEGIN]; |
} |
- inline const NodeOrdinal& ref(OrdinalField field) const { |
- return ordinal_fields[field - ORDINAL_FIELDS_BEGIN]; |
+ inline const UniquePosition& ref(UniquePositionField field) const { |
+ return unique_position_fields[field - UNIQUE_POSITION_FIELDS_BEGIN]; |
+ } |
+ inline const std::string& ref(BytesField field) const { |
+ return bytes_fields[field - BYTES_FIELDS_BEGIN]; |
} |
inline bool ref(BitTemp field) const { |
return bit_temps[field - BIT_TEMPS_BEGIN]; |
@@ -304,10 +319,11 @@ struct EntryKernel { |
inline Id& mutable_ref(IdField field) { |
return id_fields[field - ID_FIELDS_BEGIN]; |
} |
- inline NodeOrdinal& mutable_ref(OrdinalField field) { |
- return ordinal_fields[field - ORDINAL_FIELDS_BEGIN]; |
+ inline UniquePosition& mutable_ref(UniquePositionField field) { |
+ return unique_position_fields[field - UNIQUE_POSITION_FIELDS_BEGIN]; |
} |
+ ModelType GetModelType() const; |
ModelType GetServerModelType() const; |
// Dumps all kernel info into a DictionaryValue and returns it. |