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

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

Issue 3168009: Added classes to enable session sync functionality.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 4 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
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #include "chrome/browser/sync/syncable/model_type.h" 5 #include "chrome/browser/sync/syncable/model_type.h"
6 6
7 #include "chrome/browser/sync/engine/syncproto.h" 7 #include "chrome/browser/sync/engine/syncproto.h"
8 #include "chrome/browser/sync/protocol/app_specifics.pb.h" 8 #include "chrome/browser/sync/protocol/app_specifics.pb.h"
9 #include "chrome/browser/sync/protocol/autofill_specifics.pb.h" 9 #include "chrome/browser/sync/protocol/autofill_specifics.pb.h"
10 #include "chrome/browser/sync/protocol/bookmark_specifics.pb.h" 10 #include "chrome/browser/sync/protocol/bookmark_specifics.pb.h"
11 #include "chrome/browser/sync/protocol/extension_specifics.pb.h" 11 #include "chrome/browser/sync/protocol/extension_specifics.pb.h"
12 #include "chrome/browser/sync/protocol/nigori_specifics.pb.h" 12 #include "chrome/browser/sync/protocol/nigori_specifics.pb.h"
13 #include "chrome/browser/sync/protocol/password_specifics.pb.h" 13 #include "chrome/browser/sync/protocol/password_specifics.pb.h"
14 #include "chrome/browser/sync/protocol/preference_specifics.pb.h" 14 #include "chrome/browser/sync/protocol/preference_specifics.pb.h"
15 #include "chrome/browser/sync/protocol/session_specifics.pb.h"
15 #include "chrome/browser/sync/protocol/sync.pb.h" 16 #include "chrome/browser/sync/protocol/sync.pb.h"
16 #include "chrome/browser/sync/protocol/theme_specifics.pb.h" 17 #include "chrome/browser/sync/protocol/theme_specifics.pb.h"
17 #include "chrome/browser/sync/protocol/typed_url_specifics.pb.h" 18 #include "chrome/browser/sync/protocol/typed_url_specifics.pb.h"
18 19
19 namespace syncable { 20 namespace syncable {
20 21
21 void AddDefaultExtensionValue(syncable::ModelType datatype, 22 void AddDefaultExtensionValue(syncable::ModelType datatype,
22 sync_pb::EntitySpecifics* specifics) { 23 sync_pb::EntitySpecifics* specifics) {
23 switch (datatype) { 24 switch (datatype) {
24 case BOOKMARKS: 25 case BOOKMARKS:
(...skipping 13 matching lines...) Expand all
38 break; 39 break;
39 case TYPED_URLS: 40 case TYPED_URLS:
40 specifics->MutableExtension(sync_pb::typed_url); 41 specifics->MutableExtension(sync_pb::typed_url);
41 break; 42 break;
42 case EXTENSIONS: 43 case EXTENSIONS:
43 specifics->MutableExtension(sync_pb::extension); 44 specifics->MutableExtension(sync_pb::extension);
44 break; 45 break;
45 case NIGORI: 46 case NIGORI:
46 specifics->MutableExtension(sync_pb::nigori); 47 specifics->MutableExtension(sync_pb::nigori);
47 break; 48 break;
49 case SESSIONS:
50 specifics->MutableExtension(sync_pb::session);
51 break;
48 case APPS: 52 case APPS:
49 specifics->MutableExtension(sync_pb::app); 53 specifics->MutableExtension(sync_pb::app);
50 break; 54 break;
51 default: 55 default:
52 NOTREACHED() << "No known extension for model type."; 56 NOTREACHED() << "No known extension for model type.";
53 } 57 }
54 } 58 }
55 59
56 // Note: keep this consistent with GetModelType in syncable.cc! 60 // Note: keep this consistent with GetModelType in syncable.cc!
57 ModelType GetModelType(const sync_pb::SyncEntity& sync_pb_entity) { 61 ModelType GetModelType(const sync_pb::SyncEntity& sync_pb_entity) {
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 109
106 if (specifics.HasExtension(sync_pb::extension)) 110 if (specifics.HasExtension(sync_pb::extension))
107 return EXTENSIONS; 111 return EXTENSIONS;
108 112
109 if (specifics.HasExtension(sync_pb::nigori)) 113 if (specifics.HasExtension(sync_pb::nigori))
110 return NIGORI; 114 return NIGORI;
111 115
112 if (specifics.HasExtension(sync_pb::app)) 116 if (specifics.HasExtension(sync_pb::app))
113 return APPS; 117 return APPS;
114 118
119 if (specifics.HasExtension(sync_pb::session))
120 return SESSIONS;
121
115 return UNSPECIFIED; 122 return UNSPECIFIED;
116 } 123 }
117 124
118 std::string ModelTypeToString(ModelType model_type) { 125 std::string ModelTypeToString(ModelType model_type) {
119 switch (model_type) { 126 switch (model_type) {
120 case BOOKMARKS: 127 case BOOKMARKS:
121 return "Bookmarks"; 128 return "Bookmarks";
122 case PREFERENCES: 129 case PREFERENCES:
123 return "Preferences"; 130 return "Preferences";
124 case PASSWORDS: 131 case PASSWORDS:
125 return "Passwords"; 132 return "Passwords";
126 case AUTOFILL: 133 case AUTOFILL:
127 return "Autofill"; 134 return "Autofill";
128 case THEMES: 135 case THEMES:
129 return "Themes"; 136 return "Themes";
130 case TYPED_URLS: 137 case TYPED_URLS:
131 return "Typed URLs"; 138 return "Typed URLs";
132 case EXTENSIONS: 139 case EXTENSIONS:
133 return "Extensions"; 140 return "Extensions";
134 case NIGORI: 141 case NIGORI:
135 return "Encryption keys"; 142 return "Encryption keys";
143 case SESSIONS:
144 return "Sessions";
136 case APPS: 145 case APPS:
137 return "Apps"; 146 return "Apps";
138 default: 147 default:
139 NOTREACHED() << "No known extension for model type."; 148 NOTREACHED() << "No known extension for model type.";
140 return "INVALID"; 149 return "INVALID";
141 } 150 }
142 } 151 }
143 152
144 // TODO(akalin): Figure out a better way to do these mappings. 153 // TODO(akalin): Figure out a better way to do these mappings.
145 154
146 namespace { 155 namespace {
147 const char kBookmarkNotificationType[] = "BOOKMARK"; 156 const char kBookmarkNotificationType[] = "BOOKMARK";
148 const char kPreferenceNotificationType[] = "PREFERENCE"; 157 const char kPreferenceNotificationType[] = "PREFERENCE";
149 const char kPasswordNotificationType[] = "PASSWORD"; 158 const char kPasswordNotificationType[] = "PASSWORD";
150 const char kAutofillNotificationType[] = "AUTOFILL"; 159 const char kAutofillNotificationType[] = "AUTOFILL";
151 const char kThemeNotificationType[] = "THEME"; 160 const char kThemeNotificationType[] = "THEME";
152 const char kTypedUrlNotificationType[] = "TYPED_URL"; 161 const char kTypedUrlNotificationType[] = "TYPED_URL";
153 const char kExtensionNotificationType[] = "EXTENSION"; 162 const char kExtensionNotificationType[] = "EXTENSION";
154 const char kNigoriNotificationType[] = "NIGORI"; 163 const char kNigoriNotificationType[] = "NIGORI";
155 const char kAppNotificationType[] = "APP"; 164 const char kAppNotificationType[] = "APP";
165 const char kSessionNotificationType[] = "SESSION";
156 } // namespace 166 } // namespace
157 167
158 bool RealModelTypeToNotificationType(ModelType model_type, 168 bool RealModelTypeToNotificationType(ModelType model_type,
159 std::string* notification_type) { 169 std::string* notification_type) {
160 switch (model_type) { 170 switch (model_type) {
161 case BOOKMARKS: 171 case BOOKMARKS:
162 *notification_type = kBookmarkNotificationType; 172 *notification_type = kBookmarkNotificationType;
163 return true; 173 return true;
164 case PREFERENCES: 174 case PREFERENCES:
165 *notification_type = kPreferenceNotificationType; 175 *notification_type = kPreferenceNotificationType;
(...skipping 12 matching lines...) Expand all
178 return true; 188 return true;
179 case EXTENSIONS: 189 case EXTENSIONS:
180 *notification_type = kExtensionNotificationType; 190 *notification_type = kExtensionNotificationType;
181 return true; 191 return true;
182 case NIGORI: 192 case NIGORI:
183 *notification_type = kNigoriNotificationType; 193 *notification_type = kNigoriNotificationType;
184 return true; 194 return true;
185 case APPS: 195 case APPS:
186 *notification_type = kAppNotificationType; 196 *notification_type = kAppNotificationType;
187 return true; 197 return true;
198 case SESSIONS:
199 *notification_type = kSessionNotificationType;
200 return true;
188 default: 201 default:
189 break; 202 break;
190 } 203 }
191 notification_type->clear(); 204 notification_type->clear();
192 return false; 205 return false;
193 } 206 }
194 207
195 bool NotificationTypeToRealModelType(const std::string& notification_type, 208 bool NotificationTypeToRealModelType(const std::string& notification_type,
196 ModelType* model_type) { 209 ModelType* model_type) {
197 if (notification_type == kBookmarkNotificationType) { 210 if (notification_type == kBookmarkNotificationType) {
(...skipping 16 matching lines...) Expand all
214 return true; 227 return true;
215 } else if (notification_type == kExtensionNotificationType) { 228 } else if (notification_type == kExtensionNotificationType) {
216 *model_type = EXTENSIONS; 229 *model_type = EXTENSIONS;
217 return true; 230 return true;
218 } else if (notification_type == kNigoriNotificationType) { 231 } else if (notification_type == kNigoriNotificationType) {
219 *model_type = NIGORI; 232 *model_type = NIGORI;
220 return true; 233 return true;
221 } else if (notification_type == kAppNotificationType) { 234 } else if (notification_type == kAppNotificationType) {
222 *model_type = APPS; 235 *model_type = APPS;
223 return true; 236 return true;
237 } else if (notification_type == kSessionNotificationType) {
238 *model_type = SESSIONS;
239 return true;
224 } 240 }
225 *model_type = UNSPECIFIED; 241 *model_type = UNSPECIFIED;
226 return false; 242 return false;
227 } 243 }
228 244
229 } // namespace syncable 245 } // namespace syncable
OLDNEW
« no previous file with comments | « chrome/browser/sync/syncable/model_type.h ('k') | chrome/browser/views/bookmark_bar_view_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698