Index: chrome/browser/sync/sessions/sync_protocol_error.h |
diff --git a/chrome/browser/sync/sessions/sync_protocol_error.h b/chrome/browser/sync/sessions/sync_protocol_error.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..149c385dcae1f982d033b09b0f198f1a5e2883d2 |
--- /dev/null |
+++ b/chrome/browser/sync/sessions/sync_protocol_error.h |
@@ -0,0 +1,67 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+#ifndef CHROME_BROWSER_SYNC_SESSIONS_SYNC_PROTOCOL_ERROR_H_ |
+#define CHROME_BROWSER_SYNC_SESSIONS_SYNC_PROTOCOL_ERROR_H_ |
+#pragma once |
+ |
+#include <string> |
+ |
+#include "base/values.h" |
+ |
+namespace browser_sync{ |
+namespace sessions { |
+ |
+enum SyncProtocolErrorType { |
+ // Success case. |
+ SUCCESS, |
+ |
+ // Birthday does not match that of the server. |
+ NOT_MY_BIRTHDAY, |
+ |
+ // Server is busy. Try later. |
+ THROTTLED, |
+ |
+ // Clear user data is being currently executed by the server. |
+ CLEAR_PENDING, |
+ |
+ // Server cannot service the request now. |
+ TRANSIENT_ERROR, |
+ |
+ // Server does not wish the client to retry any more until the action has |
+ // been taken. |
+ NON_RETRIABLE_ERROR, |
+ |
+ // Indicates the datatypes have been migrated and the client should resync |
+ // them to get the latest progress markers. |
+ MIGRATION_DONE, |
+ |
+ // Invalid Credential. |
+ INVALID_CREDENTIAL, |
+ |
+ // The default value. |
+ UNKNOWN_ERROR |
+}; |
+ |
+enum ClientAction { |
+ UPGRADE_CLIENT, |
tim (not reviewing)
2011/08/25 15:58:55
Each case here should have a comment.
lipalani1
2011/08/26 20:07:19
Done.
|
+ CLEAR_USER_DATA_AND_RESYNC, |
+ ENABLE_SYNC_ON_ACCOUNT, |
+ STOP_AND_RESTART_SYNC, |
+ DISABLE_SYNC_ON_CLIENT, |
+ UNKNOWN_ACTION |
+}; |
+ |
+struct SyncProtocolError { |
+ SyncProtocolErrorType error_type; |
+ std::string error_description; |
+ std::string url; |
+ ClientAction action; |
+ SyncProtocolError(); |
+ ~SyncProtocolError(); |
+ DictionaryValue* ToValue() const; |
+}; |
+} // namespace sessions |
+} // namespace browser_sync |
+#endif // CHROME_BROWSER_SYNC_SESSIONS_SYNC_PROTOCOL_ERROR_H_ |
+ |