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

Unified Diff: remoting/protocol/errors.cc

Issue 2026123002: [Chromoting] Use google:remoting namespace to export remoting specific error codes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Resolve review comments Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: remoting/protocol/errors.cc
diff --git a/remoting/protocol/errors.cc b/remoting/protocol/errors.cc
index 067d919e23df34b5f1d89e44dc1bbbffcefae814..47fd09e5fcb7e93b22c2cfe90b9d006bf7bc8c1c 100644
--- a/remoting/protocol/errors.cc
+++ b/remoting/protocol/errors.cc
@@ -9,28 +9,34 @@
namespace remoting {
namespace protocol {
-#define RETURN_STRING_LITERAL(x) \
-case x: \
-return #x;
+#define MAP_STRING_LITERAL(x) \
Sergey Ulanov 2016/06/03 08:43:22 remove this define
Hzj_jie 2016/06/03 21:46:33 Done.
+ { x, #x }
+namespace {
+
+const NameMapElement<ErrorCode> kErrorCodeNames[] = {
+ { OK, "OK" },
+ { PEER_IS_OFFLINE, "PEER_IS_OFFLINE" },
+ { SESSION_REJECTED, "SESSION_REJECTED" },
+ { INCOMPATIBLE_PROTOCOL, "INCOMPATIBLE_PROTOCOL" },
+ { AUTHENTICATION_FAILED, "AUTHENTICATION_FAILED" },
+ { INVALID_ACCOUNT, "INVALID_ACCOUNT" },
+ { CHANNEL_CONNECTION_ERROR, "CHANNEL_CONNECTION_ERROR" },
+ { SIGNALING_ERROR, "SIGNALING_ERROR" },
+ { SIGNALING_TIMEOUT, "SIGNALING_TIMEOUT" },
+ { HOST_OVERLOAD, "HOST_OVERLOAD" },
+ { MAX_SESSION_LENGTH, "MAX_SESSION_LENGTH" },
+ { HOST_CONFIGURATION_ERROR, "HOST_CONFIGURATION_ERROR" },
+ { UNKNOWN_ERROR, "UNKNOWN_ERROR" },
+};
+
+}
const char* ErrorCodeToString(ErrorCode error) {
- switch (error) {
- RETURN_STRING_LITERAL(OK);
- RETURN_STRING_LITERAL(PEER_IS_OFFLINE);
- RETURN_STRING_LITERAL(SESSION_REJECTED);
- RETURN_STRING_LITERAL(INCOMPATIBLE_PROTOCOL);
- RETURN_STRING_LITERAL(AUTHENTICATION_FAILED);
- RETURN_STRING_LITERAL(INVALID_ACCOUNT);
- RETURN_STRING_LITERAL(CHANNEL_CONNECTION_ERROR);
- RETURN_STRING_LITERAL(SIGNALING_ERROR);
- RETURN_STRING_LITERAL(SIGNALING_TIMEOUT);
- RETURN_STRING_LITERAL(HOST_OVERLOAD);
- RETURN_STRING_LITERAL(MAX_SESSION_LENGTH);
- RETURN_STRING_LITERAL(HOST_CONFIGURATION_ERROR);
- RETURN_STRING_LITERAL(UNKNOWN_ERROR);
- }
- NOTREACHED();
- return nullptr;
+ return ValueToName(kErrorCodeNames, error);
+}
+
+bool ParseErrorCode(const std::string& name, ErrorCode* result) {
+ return NameToValue(kErrorCodeNames, name, result);
}
} // namespace protocol

Powered by Google App Engine
This is Rietveld 408576698