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

Side by Side Diff: sync/protocol/sync_protocol_error.cc

Issue 238273008: Add an action for server to send down rollback command. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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
« no previous file with comments | « sync/protocol/sync_protocol_error.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "sync/protocol/sync_protocol_error.h" 5 #include "sync/protocol/sync_protocol_error.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/values.h" 10 #include "base/values.h"
11 11
12 namespace syncer { 12 namespace syncer {
13 #define ENUM_CASE(x) case x: return #x; break; 13 #define ENUM_CASE(x) case x: return #x; break;
14 14
15 const char* GetSyncErrorTypeString(SyncProtocolErrorType type) { 15 const char* GetSyncErrorTypeString(SyncProtocolErrorType type) {
16 switch (type) { 16 switch (type) {
17 ENUM_CASE(SYNC_SUCCESS); 17 ENUM_CASE(SYNC_SUCCESS);
18 ENUM_CASE(NOT_MY_BIRTHDAY); 18 ENUM_CASE(NOT_MY_BIRTHDAY);
19 ENUM_CASE(THROTTLED); 19 ENUM_CASE(THROTTLED);
20 ENUM_CASE(CLEAR_PENDING); 20 ENUM_CASE(CLEAR_PENDING);
21 ENUM_CASE(TRANSIENT_ERROR); 21 ENUM_CASE(TRANSIENT_ERROR);
22 ENUM_CASE(NON_RETRIABLE_ERROR); 22 ENUM_CASE(NON_RETRIABLE_ERROR);
23 ENUM_CASE(MIGRATION_DONE); 23 ENUM_CASE(MIGRATION_DONE);
24 ENUM_CASE(INVALID_CREDENTIAL); 24 ENUM_CASE(INVALID_CREDENTIAL);
25 ENUM_CASE(DISABLED_BY_ADMIN); 25 ENUM_CASE(DISABLED_BY_ADMIN);
26 ENUM_CASE(USER_ROLLBACK);
26 ENUM_CASE(UNKNOWN_ERROR); 27 ENUM_CASE(UNKNOWN_ERROR);
27 } 28 }
28 NOTREACHED(); 29 NOTREACHED();
29 return ""; 30 return "";
30 } 31 }
31 32
32 const char* GetClientActionString(ClientAction action) { 33 const char* GetClientActionString(ClientAction action) {
33 switch (action) { 34 switch (action) {
34 ENUM_CASE(UPGRADE_CLIENT); 35 ENUM_CASE(UPGRADE_CLIENT);
35 ENUM_CASE(CLEAR_USER_DATA_AND_RESYNC); 36 ENUM_CASE(CLEAR_USER_DATA_AND_RESYNC);
36 ENUM_CASE(ENABLE_SYNC_ON_ACCOUNT); 37 ENUM_CASE(ENABLE_SYNC_ON_ACCOUNT);
37 ENUM_CASE(STOP_AND_RESTART_SYNC); 38 ENUM_CASE(STOP_AND_RESTART_SYNC);
38 ENUM_CASE(DISABLE_SYNC_ON_CLIENT); 39 ENUM_CASE(DISABLE_SYNC_ON_CLIENT);
39 ENUM_CASE(STOP_SYNC_FOR_DISABLED_ACCOUNT); 40 ENUM_CASE(STOP_SYNC_FOR_DISABLED_ACCOUNT);
41 ENUM_CASE(DISABLE_SYNC_AND_ROLLBACK);
40 ENUM_CASE(UNKNOWN_ACTION); 42 ENUM_CASE(UNKNOWN_ACTION);
41 } 43 }
42 NOTREACHED(); 44 NOTREACHED();
43 return ""; 45 return "";
44 } 46 }
45 47
46 SyncProtocolError::SyncProtocolError() 48 SyncProtocolError::SyncProtocolError()
47 : error_type(UNKNOWN_ERROR), 49 : error_type(UNKNOWN_ERROR),
48 action(UNKNOWN_ACTION) { 50 action(UNKNOWN_ACTION) {
49 } 51 }
50 52
51 SyncProtocolError::~SyncProtocolError() { 53 SyncProtocolError::~SyncProtocolError() {
52 } 54 }
53 55
54 base::DictionaryValue* SyncProtocolError::ToValue() const { 56 base::DictionaryValue* SyncProtocolError::ToValue() const {
55 base::DictionaryValue* value = new base::DictionaryValue(); 57 base::DictionaryValue* value = new base::DictionaryValue();
56 value->SetString("ErrorType", 58 value->SetString("ErrorType",
57 GetSyncErrorTypeString(error_type)); 59 GetSyncErrorTypeString(error_type));
58 value->SetString("ErrorDescription", error_description); 60 value->SetString("ErrorDescription", error_description);
59 value->SetString("url", url); 61 value->SetString("url", url);
60 value->SetString("action", GetClientActionString(action)); 62 value->SetString("action", GetClientActionString(action));
61 return value; 63 return value;
62 } 64 }
63 65
64 } // namespace syncer 66 } // namespace syncer
65 67
OLDNEW
« no previous file with comments | « sync/protocol/sync_protocol_error.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698