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

Side by Side Diff: chrome/browser/sync/syncable/syncable_enum_conversions.cc

Issue 9699057: [Sync] Move 'sync' target to sync/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address Tim's comments Created 8 years, 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Keep this file in sync with syncable.h.
6
7 #include "chrome/browser/sync/syncable/syncable_enum_conversions.h"
8
9 #include "base/basictypes.h"
10 #include "base/logging.h"
11
12 namespace syncable {
13
14 // We can't tokenize expected_min/expected_max since it can be a
15 // general expression.
16 #define ASSERT_ENUM_BOUNDS(enum_min, enum_max, expected_min, expected_max) \
17 COMPILE_ASSERT(static_cast<int>(enum_min) == \
18 static_cast<int>(expected_min), \
19 enum_min##_not_expected_min); \
20 COMPILE_ASSERT(static_cast<int>(enum_max) == \
21 static_cast<int>(expected_max), \
22 enum_max##_not_expected_max);
23
24 #define ENUM_CASE(enum_value) case enum_value: return #enum_value
25
26 const char* GetMetahandleFieldString(MetahandleField metahandle_field) {
27 ASSERT_ENUM_BOUNDS(META_HANDLE, META_HANDLE,
28 INT64_FIELDS_BEGIN, BASE_VERSION - 1);
29 switch (metahandle_field) {
30 ENUM_CASE(META_HANDLE);
31 }
32 NOTREACHED();
33 return "";
34 }
35
36 const char* GetBaseVersionString(BaseVersion base_version) {
37 ASSERT_ENUM_BOUNDS(BASE_VERSION, BASE_VERSION,
38 META_HANDLE + 1, SERVER_VERSION - 1);
39 switch (base_version) {
40 ENUM_CASE(BASE_VERSION);
41 }
42 NOTREACHED();
43 return "";
44 }
45
46 const char* GetInt64FieldString(Int64Field int64_field) {
47 ASSERT_ENUM_BOUNDS(SERVER_VERSION, LOCAL_EXTERNAL_ID,
48 BASE_VERSION + 1, INT64_FIELDS_END - 1);
49 switch (int64_field) {
50 ENUM_CASE(SERVER_VERSION);
51 ENUM_CASE(SERVER_POSITION_IN_PARENT);
52 ENUM_CASE(LOCAL_EXTERNAL_ID);
53 case INT64_FIELDS_END: break;
54 }
55 NOTREACHED();
56 return "";
57 }
58
59 const char* GetTimeFieldString(TimeField time_field) {
60 ASSERT_ENUM_BOUNDS(SERVER_VERSION, LOCAL_EXTERNAL_ID,
61 BASE_VERSION + 1, INT64_FIELDS_END - 1);
62 switch (time_field) {
63 ENUM_CASE(MTIME);
64 ENUM_CASE(SERVER_MTIME);
65 ENUM_CASE(CTIME);
66 ENUM_CASE(SERVER_CTIME);
67 case TIME_FIELDS_END: break;
68 }
69 NOTREACHED();
70 return "";
71 }
72
73 const char* GetIdFieldString(IdField id_field) {
74 ASSERT_ENUM_BOUNDS(ID, NEXT_ID,
75 ID_FIELDS_BEGIN, ID_FIELDS_END - 1);
76 switch (id_field) {
77 ENUM_CASE(ID);
78 ENUM_CASE(PARENT_ID);
79 ENUM_CASE(SERVER_PARENT_ID);
80 ENUM_CASE(PREV_ID);
81 ENUM_CASE(NEXT_ID);
82 case ID_FIELDS_END: break;
83 }
84 NOTREACHED();
85 return "";
86 }
87
88 const char* GetIndexedBitFieldString(IndexedBitField indexed_bit_field) {
89 ASSERT_ENUM_BOUNDS(IS_UNSYNCED, IS_UNAPPLIED_UPDATE,
90 BIT_FIELDS_BEGIN, INDEXED_BIT_FIELDS_END - 1);
91 switch (indexed_bit_field) {
92 ENUM_CASE(IS_UNSYNCED);
93 ENUM_CASE(IS_UNAPPLIED_UPDATE);
94 case INDEXED_BIT_FIELDS_END: break;
95 }
96 NOTREACHED();
97 return "";
98 }
99
100 const char* GetIsDelFieldString(IsDelField is_del_field) {
101 ASSERT_ENUM_BOUNDS(IS_DEL, IS_DEL,
102 INDEXED_BIT_FIELDS_END, IS_DIR - 1);
103 switch (is_del_field) {
104 ENUM_CASE(IS_DEL);
105 }
106 NOTREACHED();
107 return "";
108 }
109
110 const char* GetBitFieldString(BitField bit_field) {
111 ASSERT_ENUM_BOUNDS(IS_DIR, SERVER_IS_DEL,
112 IS_DEL + 1, BIT_FIELDS_END - 1);
113 switch (bit_field) {
114 ENUM_CASE(IS_DIR);
115 ENUM_CASE(SERVER_IS_DIR);
116 ENUM_CASE(SERVER_IS_DEL);
117 case BIT_FIELDS_END: break;
118 }
119 NOTREACHED();
120 return "";
121 }
122
123 const char* GetStringFieldString(StringField string_field) {
124 ASSERT_ENUM_BOUNDS(NON_UNIQUE_NAME, UNIQUE_CLIENT_TAG,
125 STRING_FIELDS_BEGIN, STRING_FIELDS_END - 1);
126 switch (string_field) {
127 ENUM_CASE(NON_UNIQUE_NAME);
128 ENUM_CASE(SERVER_NON_UNIQUE_NAME);
129 ENUM_CASE(UNIQUE_SERVER_TAG);
130 ENUM_CASE(UNIQUE_CLIENT_TAG);
131 case STRING_FIELDS_END: break;
132 }
133 NOTREACHED();
134 return "";
135 }
136
137 const char* GetProtoFieldString(ProtoField proto_field) {
138 ASSERT_ENUM_BOUNDS(SPECIFICS, BASE_SERVER_SPECIFICS,
139 PROTO_FIELDS_BEGIN, PROTO_FIELDS_END - 1);
140 switch (proto_field) {
141 ENUM_CASE(SPECIFICS);
142 ENUM_CASE(SERVER_SPECIFICS);
143 ENUM_CASE(BASE_SERVER_SPECIFICS);
144 case PROTO_FIELDS_END: break;
145 }
146 NOTREACHED();
147 return "";
148 }
149
150 const char* GetBitTempString(BitTemp bit_temp) {
151 ASSERT_ENUM_BOUNDS(SYNCING, SYNCING,
152 BIT_TEMPS_BEGIN, BIT_TEMPS_END - 1);
153 switch (bit_temp) {
154 ENUM_CASE(SYNCING);
155 case BIT_TEMPS_END: break;
156 }
157 NOTREACHED();
158 return "";
159 }
160
161 #undef ENUM_CASE
162 #undef ASSERT_ENUM_BOUNDS
163
164 } // namespace syncable
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698