summaryrefslogtreecommitdiffstats
path: root/jingle/notifier/base/notification_method.cc
diff options
context:
space:
mode:
Diffstat (limited to 'jingle/notifier/base/notification_method.cc')
-rw-r--r--jingle/notifier/base/notification_method.cc52
1 files changed, 52 insertions, 0 deletions
diff --git a/jingle/notifier/base/notification_method.cc b/jingle/notifier/base/notification_method.cc
new file mode 100644
index 0000000..08feb4a
--- /dev/null
+++ b/jingle/notifier/base/notification_method.cc
@@ -0,0 +1,52 @@
+// Copyright (c) 2010 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.
+
+#include "jingle/notifier/base/notification_method.h"
+
+#include "base/logging.h"
+
+namespace notifier {
+
+const NotificationMethod kDefaultNotificationMethod = NOTIFICATION_SERVER;
+
+std::string NotificationMethodToString(
+ NotificationMethod notification_method) {
+ switch (notification_method) {
+ case NOTIFICATION_LEGACY:
+ return "NOTIFICATION_LEGACY";
+ break;
+ case NOTIFICATION_TRANSITIONAL:
+ return "NOTIFICATION_TRANSITIONAL";
+ break;
+ case NOTIFICATION_NEW:
+ return "NOTIFICATION_NEW";
+ break;
+ case NOTIFICATION_SERVER:
+ return "NOTIFICATION_SERVER";
+ break;
+ default:
+ LOG(WARNING) << "Unknown value for notification method: "
+ << notification_method;
+ break;
+ }
+ return "<unknown notification method>";
+}
+
+NotificationMethod StringToNotificationMethod(const std::string& str) {
+ if (str == "legacy") {
+ return NOTIFICATION_LEGACY;
+ } else if (str == "transitional") {
+ return NOTIFICATION_TRANSITIONAL;
+ } else if (str == "new") {
+ return NOTIFICATION_NEW;
+ } else if (str == "server") {
+ return NOTIFICATION_SERVER;
+ }
+ LOG(WARNING) << "Unknown notification method \"" << str
+ << "\"; using method "
+ << NotificationMethodToString(kDefaultNotificationMethod);
+ return kDefaultNotificationMethod;
+}
+
+} // namespace notifier